diff --git a/.eslintignore b/.eslintignore index b94707787..204ea692d 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1,2 +1,3 @@ node_modules/ dist/ +package-scripts.js diff --git a/.gitignore b/.gitignore index 53d28cc12..cf318cfe5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ node_modules/ .node-xmlhttprequest-sync* *.tgz -.vscode/ \ No newline at end of file +.vscode/ +testrpcDb/ \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index 587377cf7..38af6510e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,15 +12,15 @@ before_install: - sudo add-apt-repository -y ppa:ethereum/ethereum-dev - sudo apt-get update -qq - sudo apt-get install geth -y -qq - + install: - yarn - - rm -rf build/ # remove any remaining artifacts from a previous build - - nohup yarn run testrpc & - - truffle version - + - yarn start test.testrpcDb.restoreFromZip + - nohup yarn start test.testrpcDb.run & + script: - - yarn test - - yarn lint + - yarn start lint + - yarn start test.automated + notifications: slack: daostack:fGuaFPsiQiV5mgmzRcSzbYqw diff --git a/README.md b/README.md index 4d1329bf9..09b966ab2 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,14 @@ -master: [![Build Status](https://travis-ci.org/daostack/arc-js.svg?branch=master)](https://travis-ci.org/daostack/arc-js) +master: [![Build Status](https://travis-ci.org/daostack/arc-js/images/dao-icon.png?branch=master)](https://travis-ci.org/daostack/arc-js) # Mission Statement -DAOStack is a widely open collaboration to build the basic framework for [Decentralized Autonomous Organizations](https://en.wikipedia.org/wiki/Decentralized_autonomous_organization) (DAO) through bootstrap, or dogfooding. - -Meaning, firstly publish the minimal smart contract that distributes tokens and voting power (AKA reputation) for further token distribution. Then, collectively distribute more tokens and voting power to contributors of code and other contributions, according to the appreciation of current reputation holders. Anyone who disagrees with the current reputation alignment can always open a new contract, with new token and reputation systems (and be the initial reputation holder). - -Gradually, bit by bit, we aim to build the first decentralized corporation, an array of contracts that can hold the tokens and voting power of each other, interact and form a decentralized economy. +DaoStack-Arc-Js is a javascript library providing access to DAOStack Arc ethereum smart contracts (Daostack-Arc). +Daostack-Arc is a widely open collaboration to build the basic framework for [Decentralized Autonomous Organizations](https://en.wikipedia.org/wiki/Decentralized_autonomous_organization) (DAO) through bootstrap, or dogfooding. Find the DaoStack-Arc repository [here](https://github.com/daostack/daostack). # Contributing -Contributions and pull requests are very welcome. Check out [The DAOStack roadmap](docs/roadmap.md), and join us on [Slack](daostack.slack.com). +Contributions and pull requests are very welcome. Join us on [Slack](daostack.slack.com). -If you want to contribute to the code, check out [CONTRIBUTING.md](CONTRIBUTING.md). +If you want to contribute to the code, check out [CONTRIBUTING.md](CONTRIBUTING.md). \ No newline at end of file diff --git a/contracts/AbsoluteVote.json b/contracts/AbsoluteVote.json new file mode 100644 index 000000000..ba83bf4e4 --- /dev/null +++ b/contracts/AbsoluteVote.json @@ -0,0 +1,11716 @@ +{ + "contractName": "AbsoluteVote", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "name": "reputationSystem", + "type": "address" + }, + { + "name": "precReq", + "type": "uint256" + }, + { + "name": "allowOwner", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_reputationSystem", + "type": "address" + }, + { + "name": "_precReq", + "type": "uint256" + }, + { + "name": "_allowOwner", + "type": "bool" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "voteInfo", + "outputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "proposals", + "outputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "avatar", + "type": "address" + }, + { + "name": "numOfChoices", + "type": "uint256" + }, + { + "name": "executable", + "type": "address" + }, + { + "name": "paramsHash", + "type": "bytes32" + }, + { + "name": "totalVotes", + "type": "uint256" + }, + { + "name": "open", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "ownerVote", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "cancelProposal", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_numOfChoices", + "type": "uint256" + }, + { + "name": "_paramsHash", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_executable", + "type": "address" + } + ], + "name": "propose", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "votesStatus", + "outputs": [ + { + "name": "votes", + "type": "uint256[11]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "cancelVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + } + ], + "name": "vote", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getNumberOfChoices", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + }, + { + "name": "_rep", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + } + ], + "name": "voteWithSpecifiedAmounts", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "isVotable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_reputationSystem", + "type": "address" + }, + { + "name": "_precReq", + "type": "uint256" + }, + { + "name": "_allowOwner", + "type": "bool" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_numOfChoices", + "type": "uint256" + }, + { + "indexed": false, + "name": "_proposer", + "type": "address" + }, + { + "indexed": false, + "name": "_paramsHash", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogCancelProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_decision", + "type": "uint256" + } + ], + "name": "LogExecuteProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_voter", + "type": "address" + }, + { + "indexed": false, + "name": "_vote", + "type": "uint256" + }, + { + "indexed": false, + "name": "_reputation", + "type": "uint256" + }, + { + "indexed": false, + "name": "_isOwnerVote", + "type": "bool" + } + ], + "name": "LogVoteProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_voter", + "type": "address" + } + ], + "name": "LogCancelVoting", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6110d18061001e6000396000f3006060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c657806302a1cdaf1461010c578063119ce91b1461014557806332ed5b121461017f578063339e23d1146101df57806337376ca81461021857806388737b5e1461022e5780638fe23d1a146102595780639525c0cc146102a85780639ef1204c146102c0578063a003651d146102d9578063ac5d8745146102ef578063c08351061461030e578063e751f27114610324578063fed0d7df1461033a575b600080fd5b34156100d157600080fd5b6100dc600435610361565b604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390f35b341561011757600080fd5b610133600160a060020a0360043516602435604435151561038f565b60405190815260200160405180910390f35b341561015057600080fd5b610167600435600160a060020a03602435166103f9565b60405191825260208201526040908101905180910390f35b341561018a57600080fd5b610195600435610458565b604051600160a060020a0397881681529587166020870152604080870195909552929095166060850152608084015260a083019390935291151560c082015260e001905180910390f35b34156101ea57600080fd5b610204600435602435600160a060020a03604435166104a7565b604051901515815260200160405180910390f35b341561022357600080fd5b61020460043561053e565b341561023957600080fd5b610133600435602435600160a060020a03604435811690606435166105fe565b341561026457600080fd5b61026f6004356107f5565b604051808261016080838360005b8381101561029557808201518382015260200161027d565b5050505090500191505060405180910390f35b34156102b357600080fd5b6102be600435610842565b005b34156102cb57600080fd5b610204600435602435610872565b34156102e457600080fd5b6101336004356108a9565b34156102fa57600080fd5b6102046004356024356044356064356108be565b341561031957600080fd5b6102046004356108f6565b341561032f57600080fd5b61020460043561090e565b341561034557600080fd5b610133600160a060020a03600435166024356044351515610b5c565b600060208190529081526040902080546001820154600290920154600160a060020a03909116919060ff1683565b6000838383604051600160a060020a03939093166c01000000000000000000000000028352601483019190915215157f0100000000000000000000000000000000000000000000000000000000000000026034820152603501604051809103902090509392505050565b60008061040461100a565b6000858152600160209081526040808320600160a060020a03881684526007019091529081902090805190810160405281548152600190910154602082015290508051816020015192509250509250929050565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600890950154600160a060020a039687169694851695939490921692909160ff1687565b600083815260016020526040812054849033600160a060020a039081169116146104d057600080fd5b600085815260016020526040902060080154859060ff1615156104f257600080fd5b60008681526001602090815260408083206004015483529082905290206002015460ff1615156105255760009250610535565b6105328685876000610c11565b92505b50509392505050565b600081815260016020526040812054829033600160a060020a0390811691161461056757600080fd5b600083815260016020526040902060080154839060ff16151561058957600080fd5b60008481526001602090815260408083206004015483529082905290206002015460ff1615156105bc57600092506105f7565b6105c584610e3b565b837fd06f0966987a6526e0c1291838668e5dbcaf062ae68baadf345ff3edd792e8b560405160405180910390a2600192505b5050919050565b600080610609611021565b600086815260208190526040902054600160a060020a0316151561062c57600080fd5b60008711801561063d5750600a8711155b151561064857600080fd5b30600254604051600160a060020a03929092166c01000000000000000000000000028252601482015260340160405190819003902060028054600190810190915560408084018a905260808401899052600160a060020a03808916602080870191909152888216606087015233909116855260c085018390526000848152929052902090925081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c0820151600891909101805460ff191691151591909117905550817f82cc1e47a0fddd1b4b3576bd36d20b845eac0f69b7057cb0357a3cb4ce29cb65883389604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a25095945050505050565b6107fd61105d565b6000828152600160205260408120905b600282015481116105f75760008181526006830160205260409020548382600b811061083557fe5b602002015260010161080d565b600081815260016020526040902060080154819060ff16151561086457600080fd5b61086e8233610ed6565b5050565b600082815260016020526040812060080154839060ff16151561089457600080fd5b6108a18433856000610c11565b949350505050565b60009081526001602052604090206002015490565b600084815260016020526040812060080154859060ff1615156108e057600080fd5b6108ec86338787610c11565b9695505050505050565b60009081526001602052604090206008015460ff1690565b600080600080600061091e611021565b600087815260016020526040902060080154879060ff16151561094057600080fd5b6000888152600160209081526040808320600481015484529183905280832054919850600160a060020a03909116916318160ddd9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109a857600080fd5b6102c65a03f115156109b957600080fd5b505050604051805160048801546000908152602081905260408120600101549197509095509350505b60028601548311610b4c576000838152600687016020526040902054606485870204901115610b41578560e060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a082015260089091015460ff16151560c08201529150610a7a88610e3b565b877f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc8460405190815260200160405180910390a28160600151600160a060020a031663310ce4e28984602001518660006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515610b1c57600080fd5b6102c65a03f11515610b2d57600080fd5b505050604051805190505060019650610b51565b6001909201916109e2565b600096505b505050505050919050565b60008060648411158015610b705750600084115b1515610b7b57600080fd5b610b8685858561038f565b905060606040519081016040908152600160a060020a0387168252602080830187905285151582840152600084815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805460ff191691151591909117905550949350505050565b600080610c1c611085565b600087815260016020908152604080832060048101548452918390528083209194506060905190810160409081528254600160a060020a031682526001830154602083015260029283015460ff1615159082015290840154909250861115610c8357600080fd5b8151600160a060020a031663db89c0448860006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cdb57600080fd5b6102c65a03f11515610cec57600080fd5b505050604051805191505084811015610d0457600080fd5b841515610d0f578094505b600160a060020a038716600090815260078401602052604090206001015415610d3c57610d3c8888610ed6565b6000868152600684016020526040902054610d5e90869063ffffffff610fe216565b60008781526006850160205260409020556005830154610d8590869063ffffffff610fe216565b60058401556040805190810160409081528782526020808301889052600160a060020a038a166000908152600787019091522081518155602082015160019091015550600160a060020a038088169089907f98919cf2e7177b2b2794b7596166eb688e15f8422b46387aab412d792035c01290899085903316851415604051928352602083019190915215156040808301919091526060909101905180910390a3610e2f8861090e565b98975050505050505050565b6000818152600160205260408120905b60028201548111610e6f576000818152600683016020526040812055600101610e4b565b505060009081526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff19908116825591810180548316905560028101839055600381018054909216909155600481018290556005810191909155600801805460ff19169055565b6000610ee061100a565b6000848152600160209081526040808320600160a060020a038716845260078101909252918290209093509080519081016040528154815260019091015460208201908152909150610f5290516006840160008451815260200190815260200160002054610ff890919063ffffffff16565b6006830160008351815260200190815260200160002081905550610f85816020015160058401549063ffffffff610ff816565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907f694e00fc5266ab4e93df364ff0161f5d7e3a035126b13d918755bfed6d8ab299905160405180910390a350505050565b600082820183811015610ff157fe5b9392505050565b60008282111561100457fe5b50900390565b604080519081016040526000808252602082015290565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b610160604051908101604052600b815b600081526020019060019003908161106d5790505090565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a7230582072dfaa7975e3dc1cec193d87e821473add3f3002c8fe8d0bc3b26aab8c4dcc5a0029", + "deployedBytecode": "0x6060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c657806302a1cdaf1461010c578063119ce91b1461014557806332ed5b121461017f578063339e23d1146101df57806337376ca81461021857806388737b5e1461022e5780638fe23d1a146102595780639525c0cc146102a85780639ef1204c146102c0578063a003651d146102d9578063ac5d8745146102ef578063c08351061461030e578063e751f27114610324578063fed0d7df1461033a575b600080fd5b34156100d157600080fd5b6100dc600435610361565b604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390f35b341561011757600080fd5b610133600160a060020a0360043516602435604435151561038f565b60405190815260200160405180910390f35b341561015057600080fd5b610167600435600160a060020a03602435166103f9565b60405191825260208201526040908101905180910390f35b341561018a57600080fd5b610195600435610458565b604051600160a060020a0397881681529587166020870152604080870195909552929095166060850152608084015260a083019390935291151560c082015260e001905180910390f35b34156101ea57600080fd5b610204600435602435600160a060020a03604435166104a7565b604051901515815260200160405180910390f35b341561022357600080fd5b61020460043561053e565b341561023957600080fd5b610133600435602435600160a060020a03604435811690606435166105fe565b341561026457600080fd5b61026f6004356107f5565b604051808261016080838360005b8381101561029557808201518382015260200161027d565b5050505090500191505060405180910390f35b34156102b357600080fd5b6102be600435610842565b005b34156102cb57600080fd5b610204600435602435610872565b34156102e457600080fd5b6101336004356108a9565b34156102fa57600080fd5b6102046004356024356044356064356108be565b341561031957600080fd5b6102046004356108f6565b341561032f57600080fd5b61020460043561090e565b341561034557600080fd5b610133600160a060020a03600435166024356044351515610b5c565b600060208190529081526040902080546001820154600290920154600160a060020a03909116919060ff1683565b6000838383604051600160a060020a03939093166c01000000000000000000000000028352601483019190915215157f0100000000000000000000000000000000000000000000000000000000000000026034820152603501604051809103902090509392505050565b60008061040461100a565b6000858152600160209081526040808320600160a060020a03881684526007019091529081902090805190810160405281548152600190910154602082015290508051816020015192509250509250929050565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600890950154600160a060020a039687169694851695939490921692909160ff1687565b600083815260016020526040812054849033600160a060020a039081169116146104d057600080fd5b600085815260016020526040902060080154859060ff1615156104f257600080fd5b60008681526001602090815260408083206004015483529082905290206002015460ff1615156105255760009250610535565b6105328685876000610c11565b92505b50509392505050565b600081815260016020526040812054829033600160a060020a0390811691161461056757600080fd5b600083815260016020526040902060080154839060ff16151561058957600080fd5b60008481526001602090815260408083206004015483529082905290206002015460ff1615156105bc57600092506105f7565b6105c584610e3b565b837fd06f0966987a6526e0c1291838668e5dbcaf062ae68baadf345ff3edd792e8b560405160405180910390a2600192505b5050919050565b600080610609611021565b600086815260208190526040902054600160a060020a0316151561062c57600080fd5b60008711801561063d5750600a8711155b151561064857600080fd5b30600254604051600160a060020a03929092166c01000000000000000000000000028252601482015260340160405190819003902060028054600190810190915560408084018a905260808401899052600160a060020a03808916602080870191909152888216606087015233909116855260c085018390526000848152929052902090925081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c0820151600891909101805460ff191691151591909117905550817f82cc1e47a0fddd1b4b3576bd36d20b845eac0f69b7057cb0357a3cb4ce29cb65883389604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a25095945050505050565b6107fd61105d565b6000828152600160205260408120905b600282015481116105f75760008181526006830160205260409020548382600b811061083557fe5b602002015260010161080d565b600081815260016020526040902060080154819060ff16151561086457600080fd5b61086e8233610ed6565b5050565b600082815260016020526040812060080154839060ff16151561089457600080fd5b6108a18433856000610c11565b949350505050565b60009081526001602052604090206002015490565b600084815260016020526040812060080154859060ff1615156108e057600080fd5b6108ec86338787610c11565b9695505050505050565b60009081526001602052604090206008015460ff1690565b600080600080600061091e611021565b600087815260016020526040902060080154879060ff16151561094057600080fd5b6000888152600160209081526040808320600481015484529183905280832054919850600160a060020a03909116916318160ddd9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109a857600080fd5b6102c65a03f115156109b957600080fd5b505050604051805160048801546000908152602081905260408120600101549197509095509350505b60028601548311610b4c576000838152600687016020526040902054606485870204901115610b41578560e060405190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a082015260089091015460ff16151560c08201529150610a7a88610e3b565b877f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc8460405190815260200160405180910390a28160600151600160a060020a031663310ce4e28984602001518660006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515610b1c57600080fd5b6102c65a03f11515610b2d57600080fd5b505050604051805190505060019650610b51565b6001909201916109e2565b600096505b505050505050919050565b60008060648411158015610b705750600084115b1515610b7b57600080fd5b610b8685858561038f565b905060606040519081016040908152600160a060020a0387168252602080830187905285151582840152600084815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805460ff191691151591909117905550949350505050565b600080610c1c611085565b600087815260016020908152604080832060048101548452918390528083209194506060905190810160409081528254600160a060020a031682526001830154602083015260029283015460ff1615159082015290840154909250861115610c8357600080fd5b8151600160a060020a031663db89c0448860006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cdb57600080fd5b6102c65a03f11515610cec57600080fd5b505050604051805191505084811015610d0457600080fd5b841515610d0f578094505b600160a060020a038716600090815260078401602052604090206001015415610d3c57610d3c8888610ed6565b6000868152600684016020526040902054610d5e90869063ffffffff610fe216565b60008781526006850160205260409020556005830154610d8590869063ffffffff610fe216565b60058401556040805190810160409081528782526020808301889052600160a060020a038a166000908152600787019091522081518155602082015160019091015550600160a060020a038088169089907f98919cf2e7177b2b2794b7596166eb688e15f8422b46387aab412d792035c01290899085903316851415604051928352602083019190915215156040808301919091526060909101905180910390a3610e2f8861090e565b98975050505050505050565b6000818152600160205260408120905b60028201548111610e6f576000818152600683016020526040812055600101610e4b565b505060009081526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff19908116825591810180548316905560028101839055600381018054909216909155600481018290556005810191909155600801805460ff19169055565b6000610ee061100a565b6000848152600160209081526040808320600160a060020a038716845260078101909252918290209093509080519081016040528154815260019091015460208201908152909150610f5290516006840160008451815260200190815260200160002054610ff890919063ffffffff16565b6006830160008351815260200190815260200160002081905550610f85816020015160058401549063ffffffff610ff816565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907f694e00fc5266ab4e93df364ff0161f5d7e3a035126b13d918755bfed6d8ab299905160405180910390a350505050565b600082820183811015610ff157fe5b9392505050565b60008282111561100457fe5b50900390565b604080519081016040526000808252602082015290565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b610160604051908101604052600b815b600081526020019060019003908161106d5790505090565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a7230582072dfaa7975e3dc1cec193d87e821473add3f3002c8fe8d0bc3b26aab8c4dcc5a0029", + "sourceMap": "106:11989:1:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "106:11989:1:-;;;;;;;;;-1:-1:-1;;;106:11989:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1557:46;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1557:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2972:196;;;;;;;;;;-1:-1:-1;;;;;2972:196:1;;;;;;;;;;;;;;;;;;;;;;;;;;8565:216;;;;;;;;;;;;-1:-1:-1;;;;;8565:216:1;;;;;;;;;;;;;;;;;;;;;;;;;;1650:43;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1650:43:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5916:324;;;;;;;;;;;;;;-1:-1:-1;;;;;5916:324:1;;;;;;;;;;;;;;;;;;;;;;4764:340;;;;;;;;;;;;;;3681:915;;;;;;;;;;;;;;-1:-1:-1;;;;;3681:915:1;;;;;;;;;;9030:276;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;6654:131:1;;;;;;;;;;;;;;;;5368:162;;;;;;;;;;;;;;;;8076:140;;;;;;;;;;;;;;6248:196;;;;;;;;;;;;;;;;;;;;9475:124;;;;;;;;;;;;;;7045:824;;;;;;;;;;;;;;2400:485;;;;;;;;;;-1:-1:-1;;;;;2400:485:1;;;;;;;;;;;1557:46;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1557:46:1;;;;;;;;:::o;2972:196::-;3082:7;3119:17;3138:8;3148:11;3109:51;;-1:-1:-1;;;;;3109:51:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3102:58;;2972:196;;;;;:::o;8565:216::-;8644:4;8650;8667:18;;:::i;:::-;8688:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;8688:37:1;;;;:29;;:37;;;;;;;;:22;8667:58;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8667:58:1;8744:10;8756:5;:16;;;8736:37;;;;8565:216;;;;;;:::o;1650:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1650:43:1;;;;;;;;;;;;;;;;;;;:::o;5916:324::-;6051:4;2041:22;;;:9;:22;;;;;:28;6009:11;;2027:10;-1:-1:-1;;;;;2027:42:1;;;2041:28;;2027:42;2019:51;;;;;;2243:22;;;;:9;:22;;;;;:27;;;6030:11;;2243:27;;2235:36;;;;;;;;6074:10;6085:22;;;:9;:22;;;;;;;;:33;;;6074:45;;;;;;;;:56;;;;;6072:58;6068:103;;;6154:5;6147:12;;;;6068:103;6189:43;6202:11;6215:6;6223:5;6230:1;6189:12;:43::i;:::-;6181:51;;2282:1;2081;5916:324;;;;;;:::o;4764:340::-;4876:4;2041:22;;;:9;:22;;;;;:28;4834:11;;2027:10;-1:-1:-1;;;;;2027:42:1;;;2041:28;;2027:42;2019:51;;;;;;2243:22;;;;:9;:22;;;;;:27;;;4855:11;;2243:27;;2235:36;;;;;;;;4899:10;4910:22;;;:9;:22;;;;;;;;:33;;;4899:45;;;;;;;;:56;;;;;4897:58;4893:103;;;4979:5;4972:12;;;;4893:103;5006:27;5021:11;5006:14;:27::i;:::-;5062:11;5044:30;;;;;;;;;;5092:4;5085:11;;2282:1;2081;4764:340;;;;:::o;3681:915::-;3804:7;4062:18;4175:24;;:::i;:::-;3938:1;3886:23;;;;;;;;;;:40;-1:-1:-1;;;;;3886:40:1;:54;;3878:63;;;;;;3976:1;3960:13;:17;:56;;;;;1800:2;3981:13;:35;;3960:56;3952:65;;;;;;;;4093:4;4099:12;;4083:29;;-1:-1:-1;;;;;4083:29:1;;;;;;;;;;;;;;;;;;;;;;4123:12;:14;;;;;;;;;4210:21;;;;:37;;;4258:19;;;:33;;;-1:-1:-1;;;;;4302:25:1;;;:15;;;;:25;;;;4338:33;;;-1:-1:-1;4338:19:1;;:33;4399:10;4382:27;;;;;4420:13;;;:20;;;4123:12;4451:21;;;;;;;;4083:29;;-1:-1:-1;4210:8:1;;;4451:32;;;-1:-1:-1;;4451:32:1;-1:-1:-1;;;;;4451:32:1;;;;;;;;;;;;;;;;-1:-1:-1;;4451:32:1;-1:-1:-1;;;;;4451:32:1;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4451:32:1;-1:-1:-1;;;;;4451:32:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4451:32:1;;;;;;;;;;-1:-1:-1;4509:10:1;4494:66;4521:13;4536:10;4548:11;4494:66;;;;;-1:-1:-1;;;;;4494:66:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4578:10:1;3681:915;-1:-1:-1;;;;;3681:915:1:o;9030:276::-;9096:14;;:::i;:::-;9123:25;9151:22;;;:9;:22;;;;;;9184:115;9210:21;;;;9203:28;;9184:115;;9268:19;;;;:14;;;:19;;;;;;9255:5;9283:3;9255:10;;;;;;;;;;:32;9233:5;;9184:115;;6654:131;2243:22;;;;:9;:22;;;;;:27;;;6710:11;;2243:27;;2235:36;;;;;;;;6734:43;6753:11;6766:10;6734:18;:43::i;:::-;6654:131;;:::o;5368:162::-;5451:4;2243:22;;;:9;:22;;;;;:27;;;5430:11;;2243:27;;2235:36;;;;;;;;5475:47;5488:11;5501:10;5513:5;5520:1;5475:12;:47::i;:::-;5468:54;5368:162;-1:-1:-1;;;;5368:162:1:o;8076:140::-;8149:4;8173:22;;;:9;:22;;;;;:35;;;;8076:140::o;6248:196::-;6365:4;2243:22;;;:9;:22;;;;;:27;;;6344:11;;2243:27;;2235:36;;;;;;;;6389:47;6402:11;6414:10;6425:5;6431:4;6389:12;:47::i;:::-;6382:54;6248:196;-1:-1:-1;;;;;;6248:196:1:o;9475:124::-;9539:4;9564:22;;;:9;:22;;;;;:27;;;;;;9475:124::o;7045:824::-;7119:4;7136:25;7197:20;7293:12;7409:8;7549:27;;:::i;:::-;2243:22;;;;:9;:22;;;;;:27;;;7098:11;;2243:27;;2235:36;;;;;;;;7164:22;;;;:9;:22;;;;;;;;7231:19;;;;7220:31;;;;;;;;;:48;7164:22;;-1:-1:-1;;;;;;7220:48:1;;;;:60;;:62;;;;;;;;;-1:-1:-1;;;7220:62:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7319:19;;;;7308:10;:31;;;;;;;;;;:39;;;7220:62;;-1:-1:-1;7308:39:1;;-1:-1:-1;7308:10:1;-1:-1:-1;;7404:435:1;7430:21;;;;7423:28;;7404:435;;7479:19;;;;:14;;;:19;;;;;;7525:3;7501:23;;;:27;7479:49;;7475:353;;;7579:8;7549:38;;;;;;;;;;;;-1:-1:-1;;;;;7549:38:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7606:27:1;7621:11;7606:14;:27::i;:::-;7671:11;7652:36;7684:3;7652:36;;;;;;;;;;;;;;7708:11;:22;;;-1:-1:-1;;;;;7707:32:1;;7740:11;7753;:18;;;7777:3;7707:75;;;;;;;;-1:-1:-1;;;7707:75:1;;;;;;;;;;;;;-1:-1:-1;;;;;7707:75:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7808:4;7801:11;;;;7475:353;7453:5;;;;;7404:435;;;7856:5;7849:12;;2282:1;7045:824;;;;;;;;;:::o;2400:485::-;2501:7;2572:24;2541:3;2529:8;:15;;:31;;;;;2559:1;2548:8;:12;2529:31;2521:40;;;;;;;;2599:59;2617:17;2636:8;2646:11;2599:17;:59::i;:::-;2572:86;;2700:143;;;;;;;;;;-1:-1:-1;;;;;2700:143:1;;;;;;;;;;;;;;;;;;-1:-1:-1;2669:28:1;;;;;;;;2700:143;2669:174;;;-1:-1:-1;;2669:174:1;-1:-1:-1;;;;;2669:174:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2669:174:1;;;;;;;;;;-1:-1:-1;2861:16:1;2400:485;-1:-1:-1;;;;2400:485:1:o;10876:1216::-;10974:4;10991:25;11052:24;;:::i;:::-;11248:15;11019:22;;;:9;:22;;;;;;;;11090:19;;;;11079:31;;;;;;;;;11019:22;;-1:-1:-1;11052:58:1;;;;;;;;;;;;-1:-1:-1;;;;;11052:58:1;;;;;;;;;;;;;;;;;;;;;;;;11168:21;;;;11052:58;;-1:-1:-1;11159:30:1;;;11151:39;;;;;;11266:6;:23;-1:-1:-1;;;;;11266:36:1;;11303:6;11266:44;;;;;;;;-1:-1:-1;;;11266:44:1;;;;;;-1:-1:-1;;;;;11266:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11329:18:1;;;;11321:27;;;;;;11363:9;;11359:59;;;11396:10;11389:17;;11359:59;-1:-1:-1;;;;;11500:23:1;;;;;;:15;;;:23;;;;;:34;;;:39;11496:111;;11556:39;11575:11;11588:6;11556:18;:39::i;:::-;11681:21;;;;:14;;;:21;;;;;;11672:31;;:4;;:31;:8;:31;:::i;:::-;11648:21;;;;:14;;;:21;;;;;:55;11745:19;;;;11736:29;;:4;;:29;:8;:29;:::i;:::-;11714:19;;;:51;11802:75;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11776:23:1;;-1:-1:-1;11776:23:1;;;:15;;;:23;;;;11802:75;11776:101;;;;;;;;;;;;-1:-1:-1;;;;;;11907:79:1;;;;11923:11;;11907:79;;11944:5;;11951:10;;11974;11964:20;;;;11907:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12064:20;12072:11;12064:7;:20::i;:::-;12057:27;10876:1216;-1:-1:-1;;;;;;;;10876:1216:1:o;10067:281::-;10131:25;10159:22;;;:9;:22;;;;;;10192:109;10218:21;;;;10211:28;;10192:109;;10270:19;;;;:14;;;:19;;;;;10263:26;10241:5;;10192:109;;;-1:-1:-1;;10318:22:1;;;;:9;:22;;;;;;;10311:29;;-1:-1:-1;;10311:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10311:29:1;;;10067:281::o;9607:452::-;9692:25;9753:18;;:::i;:::-;9720:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;9774:23:1;;;;:15;;;:23;;;;;;;9720:22;;-1:-1:-1;9774:23:1;9720:22;9753:44;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9837:50:1;;9870:16;9838:14;;;:26;9853:5;:10;9838:26;;;;;;;;;;;;9837:32;;:50;;;;:::i;:::-;9808:14;;;:26;9823:5;:10;9808:26;;;;;;;;;;;:79;;;;9920:43;9946:5;:16;;;9921:19;;;;;9920:43;:25;:43;:::i;:::-;9898:19;;;:65;-1:-1:-1;;;;;9981:23:1;;;;;;:15;;;:23;;;;;;9974:30;;;;;;;;;10031:11;;10015:36;;;;;;;;;;9607:452;;;;:::o;698:129:28:-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:28:o;584:110::-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;106:11989:1:-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../controller/Reputation.sol\";\r\nimport \"./IntVoteInterface.sol\";\r\n\r\n\r\ncontract AbsoluteVote is IntVoteInterface {\r\n using SafeMath for uint;\r\n\r\n\r\n struct Parameters {\r\n Reputation reputationSystem; // the reputation system that is being used\r\n uint precReq; // how many percentages required for the proposal to be passed\r\n bool allowOwner; // does this proposal has an owner who has owner rights?\r\n }\r\n\r\n struct Voter {\r\n uint vote; // 0 - 'abstain'\r\n uint reputation; // amount of voter's reputation\r\n }\r\n\r\n struct Proposal {\r\n address owner; // the proposal's owner\r\n address avatar; // the avatar of the organization that owns the proposal\r\n uint numOfChoices;\r\n ExecutableInterface executable; // will be executed if the proposal will pass\r\n bytes32 paramsHash; // the hash of the parameters of the proposal\r\n uint totalVotes;\r\n mapping(uint=>uint) votes;\r\n mapping(address=>Voter) voters;\r\n bool open; // voting open flag\r\n }\r\n\r\n event LogNewProposal(bytes32 indexed _proposalId, uint _numOfChoices, address _proposer, bytes32 _paramsHash);\r\n event LogCancelProposal(bytes32 indexed _proposalId);\r\n event LogExecuteProposal(bytes32 indexed _proposalId, uint _decision);\r\n event LogVoteProposal(bytes32 indexed _proposalId, address indexed _voter, uint _vote, uint _reputation, bool _isOwnerVote);\r\n event LogCancelVoting(bytes32 indexed _proposalId, address indexed _voter);\r\n\r\n mapping(bytes32=>Parameters) public parameters; // A mapping from hashes to parameters\r\n mapping(bytes32=>Proposal) public proposals; // Mapping from the ID of the proposal to the proposal itself.\r\n\r\n uint constant MAX_NUM_OF_CHOICES = 10;\r\n uint proposalsCnt; // Total amount of proposals\r\n\r\n /**\r\n * @dev Check that there is owner for the proposal and he sent the transaction\r\n */\r\n modifier onlyProposalOwner(bytes32 _proposalId) {\r\n require(msg.sender == proposals[_proposalId].owner);\r\n _;\r\n }\r\n\r\n /**\r\n * @dev Check that the proposal is votable (open and not executed yet)\r\n */\r\n modifier votable(bytes32 _proposalId) {\r\n require(proposals[_proposalId].open);\r\n _;\r\n }\r\n\r\n /**\r\n * @dev hash the parameters, save them if necessary, and return the hash value\r\n */\r\n function setParameters(Reputation _reputationSystem, uint _precReq, bool _allowOwner) public returns(bytes32) {\r\n require(_precReq <= 100 && _precReq > 0);\r\n bytes32 hashedParameters = getParametersHash(_reputationSystem, _precReq, _allowOwner);\r\n parameters[hashedParameters] = Parameters({\r\n reputationSystem: _reputationSystem,\r\n precReq: _precReq,\r\n allowOwner: _allowOwner\r\n });\r\n return hashedParameters;\r\n }\r\n\r\n /**\r\n * @dev hashParameters returns a hash of the given parameters\r\n */\r\n function getParametersHash(Reputation _reputationSystem, uint _precReq, bool _allowOwner) public pure returns(bytes32) {\r\n return keccak256(_reputationSystem, _precReq, _allowOwner);\r\n }\r\n\r\n /**\r\n * @dev register a new proposal with the given parameters. Every proposal has a unique ID which is being\r\n * generated by calculating keccak256 of a incremented counter.\r\n * @param _paramsHash defined the parameters of the voting machine used for this proposal\r\n * @param _avatar an address to be sent as the payload to the _executable contract.\r\n * @param _executable This contract will be executed when vote is over.\r\n * TODO: Maybe we need to check the 0 < precReq <= 100 ??\r\n */\r\n function propose(uint _numOfChoices, bytes32 _paramsHash, address _avatar, ExecutableInterface _executable) public returns(bytes32) {\r\n // Check valid params and number of choices:\r\n require(parameters[_paramsHash].reputationSystem != address(0));\r\n require(_numOfChoices > 0 && _numOfChoices <= MAX_NUM_OF_CHOICES);\r\n // Generate a unique ID:\r\n bytes32 proposalId = keccak256(this, proposalsCnt);\r\n proposalsCnt++;\r\n // Open proposal:\r\n Proposal memory proposal;\r\n proposal.numOfChoices = _numOfChoices;\r\n proposal.paramsHash = _paramsHash;\r\n proposal.avatar = _avatar;\r\n proposal.executable = _executable;\r\n proposal.owner = msg.sender;\r\n proposal.open = true;\r\n proposals[proposalId] = proposal;\r\n LogNewProposal(proposalId, _numOfChoices, msg.sender, _paramsHash);\r\n return proposalId;\r\n }\r\n\r\n /**\r\n * @dev Cancel a proposal, only the owner can call this function and only if allowOwner flag is true.\r\n * @param _proposalId the proposal ID\r\n */\r\n function cancelProposal(bytes32 _proposalId) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool) {\r\n if (! parameters[proposals[_proposalId].paramsHash].allowOwner) {\r\n return false;\r\n }\r\n deleteProposal(_proposalId);\r\n LogCancelProposal(_proposalId);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev voting function\r\n * @param _proposalId id of the proposal\r\n * @param _vote a value between 0 to and the proposal number of choices.\r\n * @return bool true - the proposal has been executed\r\n * false - otherwise.\r\n */\r\n function vote(bytes32 _proposalId, uint _vote) public votable(_proposalId) returns(bool) {\r\n return internalVote(_proposalId, msg.sender, _vote, 0);\r\n }\r\n\r\n /**\r\n * @dev voting function with owner functionality (can vote on behalf of someone else)\r\n * @param _proposalId id of the proposal\r\n * @param _vote a value between 0 to and the proposal number of choices.\r\n * @param _voter will be voted with that voter's address\r\n * @return bool true - the proposal has been executed\r\n * false - otherwise.\r\n */\r\n function ownerVote(bytes32 _proposalId, uint _vote, address _voter) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool) {\r\n if (! parameters[proposals[_proposalId].paramsHash].allowOwner) {\r\n return false;\r\n }\r\n return internalVote(_proposalId, _voter, _vote, 0);\r\n }\r\n\r\n function voteWithSpecifiedAmounts(bytes32 _proposalId,uint _vote,uint _rep,uint) public votable(_proposalId) returns(bool) {\r\n return internalVote(_proposalId,msg.sender,_vote,_rep);\r\n }\r\n\r\n /**\r\n * @dev Cancel the vote of the msg.sender: subtract the reputation amount from the votes\r\n * and delete the voter from the proposal struct\r\n * @param _proposalId id of the proposal\r\n */\r\n function cancelVote(bytes32 _proposalId) public votable(_proposalId) {\r\n cancelVoteInternal(_proposalId, msg.sender);\r\n }\r\n\r\n /**\r\n * @dev execute check if the proposal has been decided, and if so, execute the proposal\r\n * @param _proposalId the id of the proposal\r\n * @return bool true - the proposal has been executed\r\n * false - otherwise.\r\n */\r\n function execute(bytes32 _proposalId) public votable(_proposalId) returns(bool) {\r\n Proposal storage proposal = proposals[_proposalId];\r\n uint totalReputation = parameters[proposal.paramsHash].reputationSystem.totalSupply();\r\n uint precReq = parameters[proposal.paramsHash].precReq;\r\n // Check if someone crossed the bar:\r\n for (uint cnt = 0; cnt <= proposal.numOfChoices; cnt++) {\r\n if (proposal.votes[cnt] > totalReputation*precReq/100) {\r\n Proposal memory tmpProposal = proposal;\r\n deleteProposal(_proposalId);\r\n LogExecuteProposal(_proposalId, cnt);\r\n (tmpProposal.executable).execute(_proposalId, tmpProposal.avatar, int(cnt));\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n /**\r\n * @dev getNumberOfChoices returns the number of choices possible in this proposal\r\n * @param _proposalId the ID of the proposal\r\n * @return uint that contains number of choices\r\n */\r\n function getNumberOfChoices(bytes32 _proposalId) public constant returns(uint) {\r\n return proposals[_proposalId].numOfChoices;\r\n }\r\n\r\n /**\r\n * @dev voteInfo returns the vote and the amount of reputation of the user committed to this proposal\r\n * @param _proposalId the ID of the proposal\r\n * @param _voter the address of the voter\r\n * @return uint vote - the voters vote\r\n * uint reputation - amount of reputation committed by _voter to _proposalId\r\n */\r\n function voteInfo(bytes32 _proposalId, address _voter) public constant returns(uint, uint) {\r\n Voter memory voter = proposals[_proposalId].voters[_voter];\r\n return (voter.vote, voter.reputation);\r\n }\r\n\r\n /**\r\n * @dev votesStatus returns the number of yes, no, and abstain and if the proposal is ended of a given proposal id\r\n * @param _proposalId the ID of the proposal\r\n * @return votes array of votes for each choice\r\n */\r\n function votesStatus(bytes32 _proposalId) public constant returns(uint[11] votes) {\r\n Proposal storage proposal = proposals[_proposalId];\r\n for (uint cnt = 0; cnt <= proposal.numOfChoices; cnt++) {\r\n votes[cnt] = proposal.votes[cnt];\r\n }\r\n }\r\n\r\n /**\r\n * @dev isVotable check if the proposal is votable\r\n * @param _proposalId the ID of the proposal\r\n * @return bool true or false\r\n */\r\n function isVotable(bytes32 _proposalId) public constant returns(bool) {\r\n return proposals[_proposalId].open;\r\n }\r\n\r\n function cancelVoteInternal(bytes32 _proposalId, address _voter) internal {\r\n Proposal storage proposal = proposals[_proposalId];\r\n Voter memory voter = proposal.voters[_voter];\r\n proposal.votes[voter.vote] = (proposal.votes[voter.vote]).sub(voter.reputation);\r\n proposal.totalVotes = (proposal.totalVotes).sub(voter.reputation);\r\n delete proposal.voters[_voter];\r\n LogCancelVoting(_proposalId, _voter);\r\n }\r\n\r\n function deleteProposal(bytes32 _proposalId) private {\r\n Proposal storage proposal = proposals[_proposalId];\r\n for (uint cnt = 0; cnt <= proposal.numOfChoices; cnt++) {\r\n delete proposal.votes[cnt];\r\n }\r\n delete proposals[_proposalId];\r\n }\r\n\r\n /**\r\n * @dev Vote for a proposal, if the voter already voted, cancel the last vote and set a new one instead\r\n * @param _proposalId id of the proposal\r\n * @param _voter used in case the vote is cast for someone else\r\n * @param _vote a value between 0 to and the proposal's number of choices.\r\n * @return true in case of proposal execution otherwise false\r\n * throws if proposal is not open or if it has been executed\r\n * NB: executes the proposal if a decision has been reached\r\n */\r\n function internalVote(bytes32 _proposalId, address _voter, uint _vote, uint _rep) private returns(bool) {\r\n Proposal storage proposal = proposals[_proposalId];\r\n Parameters memory params = parameters[proposal.paramsHash];\r\n // Check valid vote:\r\n require(_vote <= proposal.numOfChoices);\r\n // Check voter has enough reputation:\r\n uint reputation = params.reputationSystem.reputationOf(_voter);\r\n require(reputation >= _rep);\r\n if (_rep == 0) {\r\n _rep = reputation;\r\n }\r\n // If this voter has already voted, first cancel the vote:\r\n if (proposal.voters[_voter].reputation != 0) {\r\n cancelVoteInternal(_proposalId, _voter);\r\n }\r\n // The voting itself:\r\n proposal.votes[_vote] = _rep.add(proposal.votes[_vote]);\r\n proposal.totalVotes = _rep.add(proposal.totalVotes);\r\n proposal.voters[_voter] = Voter({\r\n reputation: _rep,\r\n vote: _vote\r\n });\r\n // Event:\r\n LogVoteProposal(_proposalId, _voter, _vote, reputation, (_voter != msg.sender));\r\n // execute the proposal if this vote was decisive:\r\n return execute(_proposalId);\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\VotingMachines\\AbsoluteVote.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/AbsoluteVote.sol", + "exportedSymbols": { + "AbsoluteVote": [ + 877 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 59, + "name": "PragmaDirective", + "src": "0:24:1" + }, + { + "attributes": { + "SourceUnit": 4358, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Reputation.sol", + "file": "../controller/Reputation.sol", + "scope": 878, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 60, + "name": "ImportDirective", + "src": "28:38:1" + }, + { + "attributes": { + "SourceUnit": 2659, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/IntVoteInterface.sol", + "file": "./IntVoteInterface.sol", + "scope": 878, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 61, + "name": "ImportDirective", + "src": "68:32:1" + }, + { + "attributes": { + "contractDependencies": [ + 2658 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 877, + 2658 + ], + "name": "AbsoluteVote", + "scope": 878 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 62, + "name": "UserDefinedTypeName", + "src": "131:16:1" + } + ], + "id": 63, + "name": "InheritanceSpecifier", + "src": "131:16:1" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 9084, + "type": "library SafeMath" + }, + "id": 64, + "name": "UserDefinedTypeName", + "src": "161:8:1" + }, + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 65, + "name": "ElementaryTypeName", + "src": "174:4:1" + } + ], + "id": 66, + "name": "UsingForDirective", + "src": "155:24:1" + }, + { + "attributes": { + "canonicalName": "AbsoluteVote.Parameters", + "name": "Parameters", + "scope": 877, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "reputationSystem", + "scope": 73, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 67, + "name": "UserDefinedTypeName", + "src": "218:10:1" + } + ], + "id": 68, + "name": "VariableDeclaration", + "src": "218:27:1" + }, + { + "attributes": { + "constant": false, + "name": "precReq", + "scope": 73, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 69, + "name": "ElementaryTypeName", + "src": "300:4:1" + } + ], + "id": 70, + "name": "VariableDeclaration", + "src": "300:12:1" + }, + { + "attributes": { + "constant": false, + "name": "allowOwner", + "scope": 73, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 71, + "name": "ElementaryTypeName", + "src": "386:4:1" + } + ], + "id": 72, + "name": "VariableDeclaration", + "src": "386:15:1" + } + ], + "id": 73, + "name": "StructDefinition", + "src": "189:277:1" + }, + { + "attributes": { + "canonicalName": "AbsoluteVote.Voter", + "name": "Voter", + "scope": 877, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "vote", + "scope": 78, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 74, + "name": "ElementaryTypeName", + "src": "498:4:1" + } + ], + "id": 75, + "name": "VariableDeclaration", + "src": "498:9:1" + }, + { + "attributes": { + "constant": false, + "name": "reputation", + "scope": 78, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 76, + "name": "ElementaryTypeName", + "src": "535:4:1" + } + ], + "id": 77, + "name": "VariableDeclaration", + "src": "535:15:1" + } + ], + "id": 78, + "name": "StructDefinition", + "src": "474:116:1" + }, + { + "attributes": { + "canonicalName": "AbsoluteVote.Proposal", + "name": "Proposal", + "scope": 877, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "owner", + "scope": 101, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 79, + "name": "ElementaryTypeName", + "src": "625:7:1" + } + ], + "id": 80, + "name": "VariableDeclaration", + "src": "625:13:1" + }, + { + "attributes": { + "constant": false, + "name": "avatar", + "scope": 101, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 81, + "name": "ElementaryTypeName", + "src": "673:7:1" + } + ], + "id": 82, + "name": "VariableDeclaration", + "src": "673:14:1" + }, + { + "attributes": { + "constant": false, + "name": "numOfChoices", + "scope": 101, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 83, + "name": "ElementaryTypeName", + "src": "755:4:1" + } + ], + "id": 84, + "name": "VariableDeclaration", + "src": "755:17:1" + }, + { + "attributes": { + "constant": false, + "name": "executable", + "scope": 101, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ExecutableInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ExecutableInterface", + "referencedDeclaration": 5155, + "type": "contract ExecutableInterface" + }, + "id": 85, + "name": "UserDefinedTypeName", + "src": "783:19:1" + } + ], + "id": 86, + "name": "VariableDeclaration", + "src": "783:30:1" + }, + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 101, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 87, + "name": "ElementaryTypeName", + "src": "870:7:1" + } + ], + "id": 88, + "name": "VariableDeclaration", + "src": "870:18:1" + }, + { + "attributes": { + "constant": false, + "name": "totalVotes", + "scope": 101, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 89, + "name": "ElementaryTypeName", + "src": "945:4:1" + } + ], + "id": 90, + "name": "VariableDeclaration", + "src": "945:15:1" + }, + { + "attributes": { + "constant": false, + "name": "votes", + "scope": 101, + "stateVariable": false, + "storageLocation": "default", + "type": "mapping(uint256 => uint256)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 91, + "name": "ElementaryTypeName", + "src": "979:4:1" + }, + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 92, + "name": "ElementaryTypeName", + "src": "985:4:1" + } + ], + "id": 93, + "name": "Mapping", + "src": "971:19:1" + } + ], + "id": 94, + "name": "VariableDeclaration", + "src": "971:25:1" + }, + { + "attributes": { + "constant": false, + "name": "voters", + "scope": 101, + "stateVariable": false, + "storageLocation": "default", + "type": "mapping(address => struct AbsoluteVote.Voter storage ref)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => struct AbsoluteVote.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 95, + "name": "ElementaryTypeName", + "src": "1015:7:1" + }, + { + "attributes": { + "contractScope": null, + "name": "Voter", + "referencedDeclaration": 78, + "type": "struct AbsoluteVote.Voter storage pointer" + }, + "id": 96, + "name": "UserDefinedTypeName", + "src": "1024:5:1" + } + ], + "id": 97, + "name": "Mapping", + "src": "1007:23:1" + } + ], + "id": 98, + "name": "VariableDeclaration", + "src": "1007:30:1" + }, + { + "attributes": { + "constant": false, + "name": "open", + "scope": 101, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 99, + "name": "ElementaryTypeName", + "src": "1048:4:1" + } + ], + "id": 100, + "name": "VariableDeclaration", + "src": "1048:9:1" + } + ], + "id": 101, + "name": "StructDefinition", + "src": "598:487:1" + }, + { + "attributes": { + "anonymous": false, + "name": "LogNewProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 111, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 102, + "name": "ElementaryTypeName", + "src": "1114:7:1" + } + ], + "id": 103, + "name": "VariableDeclaration", + "src": "1114:27:1" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_numOfChoices", + "scope": 111, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 104, + "name": "ElementaryTypeName", + "src": "1143:4:1" + } + ], + "id": 105, + "name": "VariableDeclaration", + "src": "1143:18:1" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_proposer", + "scope": 111, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 106, + "name": "ElementaryTypeName", + "src": "1163:7:1" + } + ], + "id": 107, + "name": "VariableDeclaration", + "src": "1163:17:1" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_paramsHash", + "scope": 111, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 108, + "name": "ElementaryTypeName", + "src": "1182:7:1" + } + ], + "id": 109, + "name": "VariableDeclaration", + "src": "1182:19:1" + } + ], + "id": 110, + "name": "ParameterList", + "src": "1113:89:1" + } + ], + "id": 111, + "name": "EventDefinition", + "src": "1093:110:1" + }, + { + "attributes": { + "anonymous": false, + "name": "LogCancelProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 115, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 112, + "name": "ElementaryTypeName", + "src": "1233:7:1" + } + ], + "id": 113, + "name": "VariableDeclaration", + "src": "1233:27:1" + } + ], + "id": 114, + "name": "ParameterList", + "src": "1232:29:1" + } + ], + "id": 115, + "name": "EventDefinition", + "src": "1209:53:1" + }, + { + "attributes": { + "anonymous": false, + "name": "LogExecuteProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 121, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 116, + "name": "ElementaryTypeName", + "src": "1293:7:1" + } + ], + "id": 117, + "name": "VariableDeclaration", + "src": "1293:27:1" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_decision", + "scope": 121, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 118, + "name": "ElementaryTypeName", + "src": "1322:4:1" + } + ], + "id": 119, + "name": "VariableDeclaration", + "src": "1322:14:1" + } + ], + "id": 120, + "name": "ParameterList", + "src": "1292:45:1" + } + ], + "id": 121, + "name": "EventDefinition", + "src": "1268:70:1" + }, + { + "attributes": { + "anonymous": false, + "name": "LogVoteProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 133, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 122, + "name": "ElementaryTypeName", + "src": "1366:7:1" + } + ], + "id": 123, + "name": "VariableDeclaration", + "src": "1366:27:1" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_voter", + "scope": 133, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 124, + "name": "ElementaryTypeName", + "src": "1395:7:1" + } + ], + "id": 125, + "name": "VariableDeclaration", + "src": "1395:22:1" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_vote", + "scope": 133, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 126, + "name": "ElementaryTypeName", + "src": "1419:4:1" + } + ], + "id": 127, + "name": "VariableDeclaration", + "src": "1419:10:1" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_reputation", + "scope": 133, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 128, + "name": "ElementaryTypeName", + "src": "1431:4:1" + } + ], + "id": 129, + "name": "VariableDeclaration", + "src": "1431:16:1" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_isOwnerVote", + "scope": 133, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 130, + "name": "ElementaryTypeName", + "src": "1449:4:1" + } + ], + "id": 131, + "name": "VariableDeclaration", + "src": "1449:17:1" + } + ], + "id": 132, + "name": "ParameterList", + "src": "1365:102:1" + } + ], + "id": 133, + "name": "EventDefinition", + "src": "1344:124:1" + }, + { + "attributes": { + "anonymous": false, + "name": "LogCancelVoting" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 139, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 134, + "name": "ElementaryTypeName", + "src": "1496:7:1" + } + ], + "id": 135, + "name": "VariableDeclaration", + "src": "1496:27:1" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_voter", + "scope": 139, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 136, + "name": "ElementaryTypeName", + "src": "1525:7:1" + } + ], + "id": 137, + "name": "VariableDeclaration", + "src": "1525:22:1" + } + ], + "id": 138, + "name": "ParameterList", + "src": "1495:53:1" + } + ], + "id": 139, + "name": "EventDefinition", + "src": "1474:75:1" + }, + { + "attributes": { + "constant": false, + "name": "parameters", + "scope": 877, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 140, + "name": "ElementaryTypeName", + "src": "1565:7:1" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 73, + "type": "struct AbsoluteVote.Parameters storage pointer" + }, + "id": 141, + "name": "UserDefinedTypeName", + "src": "1574:10:1" + } + ], + "id": 142, + "name": "Mapping", + "src": "1557:28:1" + } + ], + "id": 143, + "name": "VariableDeclaration", + "src": "1557:46:1" + }, + { + "attributes": { + "constant": false, + "name": "proposals", + "scope": 877, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 144, + "name": "ElementaryTypeName", + "src": "1658:7:1" + }, + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 101, + "type": "struct AbsoluteVote.Proposal storage pointer" + }, + "id": 145, + "name": "UserDefinedTypeName", + "src": "1667:8:1" + } + ], + "id": 146, + "name": "Mapping", + "src": "1650:26:1" + } + ], + "id": 147, + "name": "VariableDeclaration", + "src": "1650:43:1" + }, + { + "attributes": { + "constant": true, + "name": "MAX_NUM_OF_CHOICES", + "scope": 877, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 148, + "name": "ElementaryTypeName", + "src": "1765:4:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10", + "value": "10" + }, + "id": 149, + "name": "Literal", + "src": "1800:2:1" + } + ], + "id": 150, + "name": "VariableDeclaration", + "src": "1765:37:1" + }, + { + "attributes": { + "constant": false, + "name": "proposalsCnt", + "scope": 877, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 151, + "name": "ElementaryTypeName", + "src": "1809:4:1" + } + ], + "id": 152, + "name": "VariableDeclaration", + "src": "1809:17:1" + }, + { + "attributes": { + "name": "onlyProposalOwner", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 168, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 153, + "name": "ElementaryTypeName", + "src": "1987:7:1" + } + ], + "id": 154, + "name": "VariableDeclaration", + "src": "1987:19:1" + } + ], + "id": 155, + "name": "ParameterList", + "src": "1986:21:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 156, + "name": "Identifier", + "src": "2019:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 157, + "name": "Identifier", + "src": "2027:3:1" + } + ], + "id": 158, + "name": "MemberAccess", + "src": "2027:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 80, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 159, + "name": "Identifier", + "src": "2041:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 154, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 160, + "name": "Identifier", + "src": "2051:11:1" + } + ], + "id": 161, + "name": "IndexAccess", + "src": "2041:22:1" + } + ], + "id": 162, + "name": "MemberAccess", + "src": "2041:28:1" + } + ], + "id": 163, + "name": "BinaryOperation", + "src": "2027:42:1" + } + ], + "id": 164, + "name": "FunctionCall", + "src": "2019:51:1" + } + ], + "id": 165, + "name": "ExpressionStatement", + "src": "2019:51:1" + }, + { + "id": 166, + "name": "PlaceholderStatement", + "src": "2081:1:1" + } + ], + "id": 167, + "name": "Block", + "src": "2008:82:1" + } + ], + "id": 168, + "name": "ModifierDefinition", + "src": "1960:130:1" + }, + { + "attributes": { + "name": "votable", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 181, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 169, + "name": "ElementaryTypeName", + "src": "2203:7:1" + } + ], + "id": 170, + "name": "VariableDeclaration", + "src": "2203:19:1" + } + ], + "id": 171, + "name": "ParameterList", + "src": "2202:21:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 172, + "name": "Identifier", + "src": "2235:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "open", + "referencedDeclaration": 100, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 173, + "name": "Identifier", + "src": "2243:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 170, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 174, + "name": "Identifier", + "src": "2253:11:1" + } + ], + "id": 175, + "name": "IndexAccess", + "src": "2243:22:1" + } + ], + "id": 176, + "name": "MemberAccess", + "src": "2243:27:1" + } + ], + "id": 177, + "name": "FunctionCall", + "src": "2235:36:1" + } + ], + "id": 178, + "name": "ExpressionStatement", + "src": "2235:36:1" + }, + { + "id": 179, + "name": "PlaceholderStatement", + "src": "2282:1:1" + } + ], + "id": 180, + "name": "Block", + "src": "2224:67:1" + } + ], + "id": 181, + "name": "ModifierDefinition", + "src": "2186:105:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_reputationSystem", + "scope": 223, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 182, + "name": "UserDefinedTypeName", + "src": "2423:10:1" + } + ], + "id": 183, + "name": "VariableDeclaration", + "src": "2423:28:1" + }, + { + "attributes": { + "constant": false, + "name": "_precReq", + "scope": 223, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 184, + "name": "ElementaryTypeName", + "src": "2453:4:1" + } + ], + "id": 185, + "name": "VariableDeclaration", + "src": "2453:13:1" + }, + { + "attributes": { + "constant": false, + "name": "_allowOwner", + "scope": 223, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 186, + "name": "ElementaryTypeName", + "src": "2468:4:1" + } + ], + "id": 187, + "name": "VariableDeclaration", + "src": "2468:16:1" + } + ], + "id": 188, + "name": "ParameterList", + "src": "2422:63:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 223, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 189, + "name": "ElementaryTypeName", + "src": "2501:7:1" + } + ], + "id": 190, + "name": "VariableDeclaration", + "src": "2501:7:1" + } + ], + "id": 191, + "name": "ParameterList", + "src": "2500:9:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 192, + "name": "Identifier", + "src": "2521:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 185, + "type": "uint256", + "value": "_precReq" + }, + "id": 193, + "name": "Identifier", + "src": "2529:8:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "313030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 100", + "value": "100" + }, + "id": 194, + "name": "Literal", + "src": "2541:3:1" + } + ], + "id": 195, + "name": "BinaryOperation", + "src": "2529:15:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 185, + "type": "uint256", + "value": "_precReq" + }, + "id": 196, + "name": "Identifier", + "src": "2548:8:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 197, + "name": "Literal", + "src": "2559:1:1" + } + ], + "id": 198, + "name": "BinaryOperation", + "src": "2548:12:1" + } + ], + "id": 199, + "name": "BinaryOperation", + "src": "2529:31:1" + } + ], + "id": 200, + "name": "FunctionCall", + "src": "2521:40:1" + } + ], + "id": 201, + "name": "ExpressionStatement", + "src": "2521:40:1" + }, + { + "attributes": { + "assignments": [ + 203 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "hashedParameters", + "scope": 223, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 202, + "name": "ElementaryTypeName", + "src": "2572:7:1" + } + ], + "id": 203, + "name": "VariableDeclaration", + "src": "2572:24:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Reputation_$4357", + "typeString": "contract Reputation" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 241, + "type": "function (contract Reputation,uint256,bool) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 204, + "name": "Identifier", + "src": "2599:17:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 183, + "type": "contract Reputation", + "value": "_reputationSystem" + }, + "id": 205, + "name": "Identifier", + "src": "2617:17:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 185, + "type": "uint256", + "value": "_precReq" + }, + "id": 206, + "name": "Identifier", + "src": "2636:8:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 187, + "type": "bool", + "value": "_allowOwner" + }, + "id": 207, + "name": "Identifier", + "src": "2646:11:1" + } + ], + "id": 208, + "name": "FunctionCall", + "src": "2599:59:1" + } + ], + "id": 209, + "name": "VariableDeclarationStatement", + "src": "2572:86:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct AbsoluteVote.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct AbsoluteVote.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 143, + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)", + "value": "parameters" + }, + "id": 210, + "name": "Identifier", + "src": "2669:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 203, + "type": "bytes32", + "value": "hashedParameters" + }, + "id": 211, + "name": "Identifier", + "src": "2680:16:1" + } + ], + "id": 212, + "name": "IndexAccess", + "src": "2669:28:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "reputationSystem", + "precReq", + "allowOwner" + ], + "type": "struct AbsoluteVote.Parameters memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 73, + "type": "type(struct AbsoluteVote.Parameters storage pointer)", + "value": "Parameters" + }, + "id": 213, + "name": "Identifier", + "src": "2700:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 183, + "type": "contract Reputation", + "value": "_reputationSystem" + }, + "id": 214, + "name": "Identifier", + "src": "2744:17:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 185, + "type": "uint256", + "value": "_precReq" + }, + "id": 215, + "name": "Identifier", + "src": "2785:8:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 187, + "type": "bool", + "value": "_allowOwner" + }, + "id": 216, + "name": "Identifier", + "src": "2820:11:1" + } + ], + "id": 217, + "name": "FunctionCall", + "src": "2700:143:1" + } + ], + "id": 218, + "name": "Assignment", + "src": "2669:174:1" + } + ], + "id": 219, + "name": "ExpressionStatement", + "src": "2669:174:1" + }, + { + "attributes": { + "functionReturnParameters": 191 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 203, + "type": "bytes32", + "value": "hashedParameters" + }, + "id": 220, + "name": "Identifier", + "src": "2861:16:1" + } + ], + "id": 221, + "name": "Return", + "src": "2854:23:1" + } + ], + "id": 222, + "name": "Block", + "src": "2510:375:1" + } + ], + "id": 223, + "name": "FunctionDefinition", + "src": "2400:485:1" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 877, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_reputationSystem", + "scope": 241, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 224, + "name": "UserDefinedTypeName", + "src": "2999:10:1" + } + ], + "id": 225, + "name": "VariableDeclaration", + "src": "2999:28:1" + }, + { + "attributes": { + "constant": false, + "name": "_precReq", + "scope": 241, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 226, + "name": "ElementaryTypeName", + "src": "3029:4:1" + } + ], + "id": 227, + "name": "VariableDeclaration", + "src": "3029:13:1" + }, + { + "attributes": { + "constant": false, + "name": "_allowOwner", + "scope": 241, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 228, + "name": "ElementaryTypeName", + "src": "3044:4:1" + } + ], + "id": 229, + "name": "VariableDeclaration", + "src": "3044:16:1" + } + ], + "id": 230, + "name": "ParameterList", + "src": "2998:63:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 241, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 231, + "name": "ElementaryTypeName", + "src": "3082:7:1" + } + ], + "id": 232, + "name": "VariableDeclaration", + "src": "3082:7:1" + } + ], + "id": 233, + "name": "ParameterList", + "src": "3081:9:1" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 233 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Reputation_$4357", + "typeString": "contract Reputation" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 234, + "name": "Identifier", + "src": "3109:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 225, + "type": "contract Reputation", + "value": "_reputationSystem" + }, + "id": 235, + "name": "Identifier", + "src": "3119:17:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 227, + "type": "uint256", + "value": "_precReq" + }, + "id": 236, + "name": "Identifier", + "src": "3138:8:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 229, + "type": "bool", + "value": "_allowOwner" + }, + "id": 237, + "name": "Identifier", + "src": "3148:11:1" + } + ], + "id": 238, + "name": "FunctionCall", + "src": "3109:51:1" + } + ], + "id": 239, + "name": "Return", + "src": "3102:58:1" + } + ], + "id": 240, + "name": "Block", + "src": "3091:77:1" + } + ], + "id": 241, + "name": "FunctionDefinition", + "src": "2972:196:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "propose", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": 2570, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_numOfChoices", + "scope": 342, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 242, + "name": "ElementaryTypeName", + "src": "3698:4:1" + } + ], + "id": 243, + "name": "VariableDeclaration", + "src": "3698:18:1" + }, + { + "attributes": { + "constant": false, + "name": "_paramsHash", + "scope": 342, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 244, + "name": "ElementaryTypeName", + "src": "3718:7:1" + } + ], + "id": 245, + "name": "VariableDeclaration", + "src": "3718:19:1" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 342, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 246, + "name": "ElementaryTypeName", + "src": "3739:7:1" + } + ], + "id": 247, + "name": "VariableDeclaration", + "src": "3739:15:1" + }, + { + "attributes": { + "constant": false, + "name": "_executable", + "scope": 342, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ExecutableInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ExecutableInterface", + "referencedDeclaration": 5155, + "type": "contract ExecutableInterface" + }, + "id": 248, + "name": "UserDefinedTypeName", + "src": "3756:19:1" + } + ], + "id": 249, + "name": "VariableDeclaration", + "src": "3756:31:1" + } + ], + "id": 250, + "name": "ParameterList", + "src": "3697:91:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 342, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 251, + "name": "ElementaryTypeName", + "src": "3804:7:1" + } + ], + "id": 252, + "name": "VariableDeclaration", + "src": "3804:7:1" + } + ], + "id": 253, + "name": "ParameterList", + "src": "3803:9:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 254, + "name": "Identifier", + "src": "3878:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputationSystem", + "referencedDeclaration": 68, + "type": "contract Reputation" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 143, + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)", + "value": "parameters" + }, + "id": 255, + "name": "Identifier", + "src": "3886:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 245, + "type": "bytes32", + "value": "_paramsHash" + }, + "id": 256, + "name": "Identifier", + "src": "3897:11:1" + } + ], + "id": 257, + "name": "IndexAccess", + "src": "3886:23:1" + } + ], + "id": 258, + "name": "MemberAccess", + "src": "3886:40:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 259, + "name": "ElementaryTypeNameExpression", + "src": "3930:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 260, + "name": "Literal", + "src": "3938:1:1" + } + ], + "id": 261, + "name": "FunctionCall", + "src": "3930:10:1" + } + ], + "id": 262, + "name": "BinaryOperation", + "src": "3886:54:1" + } + ], + "id": 263, + "name": "FunctionCall", + "src": "3878:63:1" + } + ], + "id": 264, + "name": "ExpressionStatement", + "src": "3878:63:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 265, + "name": "Identifier", + "src": "3952:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 243, + "type": "uint256", + "value": "_numOfChoices" + }, + "id": 266, + "name": "Identifier", + "src": "3960:13:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 267, + "name": "Literal", + "src": "3976:1:1" + } + ], + "id": 268, + "name": "BinaryOperation", + "src": "3960:17:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 243, + "type": "uint256", + "value": "_numOfChoices" + }, + "id": 269, + "name": "Identifier", + "src": "3981:13:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 150, + "type": "uint256", + "value": "MAX_NUM_OF_CHOICES" + }, + "id": 270, + "name": "Identifier", + "src": "3998:18:1" + } + ], + "id": 271, + "name": "BinaryOperation", + "src": "3981:35:1" + } + ], + "id": 272, + "name": "BinaryOperation", + "src": "3960:56:1" + } + ], + "id": 273, + "name": "FunctionCall", + "src": "3952:65:1" + } + ], + "id": 274, + "name": "ExpressionStatement", + "src": "3952:65:1" + }, + { + "attributes": { + "assignments": [ + 276 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposalId", + "scope": 342, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 275, + "name": "ElementaryTypeName", + "src": "4062:7:1" + } + ], + "id": 276, + "name": "VariableDeclaration", + "src": "4062:18:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_AbsoluteVote_$877", + "typeString": "contract AbsoluteVote" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 277, + "name": "Identifier", + "src": "4083:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9783, + "type": "contract AbsoluteVote", + "value": "this" + }, + "id": 278, + "name": "Identifier", + "src": "4093:4:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 152, + "type": "uint256", + "value": "proposalsCnt" + }, + "id": 279, + "name": "Identifier", + "src": "4099:12:1" + } + ], + "id": 280, + "name": "FunctionCall", + "src": "4083:29:1" + } + ], + "id": 281, + "name": "VariableDeclarationStatement", + "src": "4062:50:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 152, + "type": "uint256", + "value": "proposalsCnt" + }, + "id": 282, + "name": "Identifier", + "src": "4123:12:1" + } + ], + "id": 283, + "name": "UnaryOperation", + "src": "4123:14:1" + } + ], + "id": 284, + "name": "ExpressionStatement", + "src": "4123:14:1" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 342, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct AbsoluteVote.Proposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 101, + "type": "struct AbsoluteVote.Proposal storage pointer" + }, + "id": 285, + "name": "UserDefinedTypeName", + "src": "4175:8:1" + } + ], + "id": 286, + "name": "VariableDeclaration", + "src": "4175:24:1" + } + ], + "id": 287, + "name": "VariableDeclarationStatement", + "src": "4175:24:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "numOfChoices", + "referencedDeclaration": 84, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 286, + "type": "struct AbsoluteVote.Proposal memory", + "value": "proposal" + }, + "id": 288, + "name": "Identifier", + "src": "4210:8:1" + } + ], + "id": 290, + "name": "MemberAccess", + "src": "4210:21:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 243, + "type": "uint256", + "value": "_numOfChoices" + }, + "id": 291, + "name": "Identifier", + "src": "4234:13:1" + } + ], + "id": 292, + "name": "Assignment", + "src": "4210:37:1" + } + ], + "id": 293, + "name": "ExpressionStatement", + "src": "4210:37:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "paramsHash", + "referencedDeclaration": 88, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 286, + "type": "struct AbsoluteVote.Proposal memory", + "value": "proposal" + }, + "id": 294, + "name": "Identifier", + "src": "4258:8:1" + } + ], + "id": 296, + "name": "MemberAccess", + "src": "4258:19:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 245, + "type": "bytes32", + "value": "_paramsHash" + }, + "id": 297, + "name": "Identifier", + "src": "4280:11:1" + } + ], + "id": 298, + "name": "Assignment", + "src": "4258:33:1" + } + ], + "id": 299, + "name": "ExpressionStatement", + "src": "4258:33:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "avatar", + "referencedDeclaration": 82, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 286, + "type": "struct AbsoluteVote.Proposal memory", + "value": "proposal" + }, + "id": 300, + "name": "Identifier", + "src": "4302:8:1" + } + ], + "id": 302, + "name": "MemberAccess", + "src": "4302:15:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 247, + "type": "address", + "value": "_avatar" + }, + "id": 303, + "name": "Identifier", + "src": "4320:7:1" + } + ], + "id": 304, + "name": "Assignment", + "src": "4302:25:1" + } + ], + "id": 305, + "name": "ExpressionStatement", + "src": "4302:25:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "executable", + "referencedDeclaration": 86, + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 286, + "type": "struct AbsoluteVote.Proposal memory", + "value": "proposal" + }, + "id": 306, + "name": "Identifier", + "src": "4338:8:1" + } + ], + "id": 308, + "name": "MemberAccess", + "src": "4338:19:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 249, + "type": "contract ExecutableInterface", + "value": "_executable" + }, + "id": 309, + "name": "Identifier", + "src": "4360:11:1" + } + ], + "id": 310, + "name": "Assignment", + "src": "4338:33:1" + } + ], + "id": 311, + "name": "ExpressionStatement", + "src": "4338:33:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "owner", + "referencedDeclaration": 80, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 286, + "type": "struct AbsoluteVote.Proposal memory", + "value": "proposal" + }, + "id": 312, + "name": "Identifier", + "src": "4382:8:1" + } + ], + "id": 314, + "name": "MemberAccess", + "src": "4382:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 315, + "name": "Identifier", + "src": "4399:3:1" + } + ], + "id": 316, + "name": "MemberAccess", + "src": "4399:10:1" + } + ], + "id": 317, + "name": "Assignment", + "src": "4382:27:1" + } + ], + "id": 318, + "name": "ExpressionStatement", + "src": "4382:27:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "open", + "referencedDeclaration": 100, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 286, + "type": "struct AbsoluteVote.Proposal memory", + "value": "proposal" + }, + "id": 319, + "name": "Identifier", + "src": "4420:8:1" + } + ], + "id": 321, + "name": "MemberAccess", + "src": "4420:13:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 322, + "name": "Literal", + "src": "4436:4:1" + } + ], + "id": 323, + "name": "Assignment", + "src": "4420:20:1" + } + ], + "id": 324, + "name": "ExpressionStatement", + "src": "4420:20:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 325, + "name": "Identifier", + "src": "4451:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 276, + "type": "bytes32", + "value": "proposalId" + }, + "id": 326, + "name": "Identifier", + "src": "4461:10:1" + } + ], + "id": 327, + "name": "IndexAccess", + "src": "4451:21:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 286, + "type": "struct AbsoluteVote.Proposal memory", + "value": "proposal" + }, + "id": 328, + "name": "Identifier", + "src": "4475:8:1" + } + ], + "id": 329, + "name": "Assignment", + "src": "4451:32:1" + } + ], + "id": 330, + "name": "ExpressionStatement", + "src": "4451:32:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 111, + "type": "function (bytes32,uint256,address,bytes32)", + "value": "LogNewProposal" + }, + "id": 331, + "name": "Identifier", + "src": "4494:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 276, + "type": "bytes32", + "value": "proposalId" + }, + "id": 332, + "name": "Identifier", + "src": "4509:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 243, + "type": "uint256", + "value": "_numOfChoices" + }, + "id": 333, + "name": "Identifier", + "src": "4521:13:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 334, + "name": "Identifier", + "src": "4536:3:1" + } + ], + "id": 335, + "name": "MemberAccess", + "src": "4536:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 245, + "type": "bytes32", + "value": "_paramsHash" + }, + "id": 336, + "name": "Identifier", + "src": "4548:11:1" + } + ], + "id": 337, + "name": "FunctionCall", + "src": "4494:66:1" + } + ], + "id": 338, + "name": "ExpressionStatement", + "src": "4494:66:1" + }, + { + "attributes": { + "functionReturnParameters": 253 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 276, + "type": "bytes32", + "value": "proposalId" + }, + "id": 339, + "name": "Identifier", + "src": "4578:10:1" + } + ], + "id": 340, + "name": "Return", + "src": "4571:17:1" + } + ], + "id": 341, + "name": "Block", + "src": "3813:783:1" + } + ], + "id": 342, + "name": "FunctionDefinition", + "src": "3681:915:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "cancelProposal", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": 2583, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 378, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 343, + "name": "ElementaryTypeName", + "src": "4788:7:1" + } + ], + "id": 344, + "name": "VariableDeclaration", + "src": "4788:19:1" + } + ], + "id": 345, + "name": "ParameterList", + "src": "4787:21:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 378, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 352, + "name": "ElementaryTypeName", + "src": "4876:4:1" + } + ], + "id": 353, + "name": "VariableDeclaration", + "src": "4876:4:1" + } + ], + "id": 354, + "name": "ParameterList", + "src": "4875:6:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 168, + "type": "modifier (bytes32)", + "value": "onlyProposalOwner" + }, + "id": 346, + "name": "Identifier", + "src": "4816:17:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 344, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 347, + "name": "Identifier", + "src": "4834:11:1" + } + ], + "id": 348, + "name": "ModifierInvocation", + "src": "4816:30:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 181, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 349, + "name": "Identifier", + "src": "4847:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 344, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 350, + "name": "Identifier", + "src": "4855:11:1" + } + ], + "id": 351, + "name": "ModifierInvocation", + "src": "4847:20:1" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "allowOwner", + "referencedDeclaration": 72, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 143, + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)", + "value": "parameters" + }, + "id": 355, + "name": "Identifier", + "src": "4899:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 88, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 356, + "name": "Identifier", + "src": "4910:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 344, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 357, + "name": "Identifier", + "src": "4920:11:1" + } + ], + "id": 358, + "name": "IndexAccess", + "src": "4910:22:1" + } + ], + "id": 359, + "name": "MemberAccess", + "src": "4910:33:1" + } + ], + "id": 360, + "name": "IndexAccess", + "src": "4899:45:1" + } + ], + "id": 361, + "name": "MemberAccess", + "src": "4899:56:1" + } + ], + "id": 362, + "name": "UnaryOperation", + "src": "4897:58:1" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 354 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 363, + "name": "Literal", + "src": "4979:5:1" + } + ], + "id": 364, + "name": "Return", + "src": "4972:12:1" + } + ], + "id": 365, + "name": "Block", + "src": "4957:39:1" + } + ], + "id": 366, + "name": "IfStatement", + "src": "4893:103:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 754, + "type": "function (bytes32)", + "value": "deleteProposal" + }, + "id": 367, + "name": "Identifier", + "src": "5006:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 344, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 368, + "name": "Identifier", + "src": "5021:11:1" + } + ], + "id": 369, + "name": "FunctionCall", + "src": "5006:27:1" + } + ], + "id": 370, + "name": "ExpressionStatement", + "src": "5006:27:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 115, + "type": "function (bytes32)", + "value": "LogCancelProposal" + }, + "id": 371, + "name": "Identifier", + "src": "5044:17:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 344, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 372, + "name": "Identifier", + "src": "5062:11:1" + } + ], + "id": 373, + "name": "FunctionCall", + "src": "5044:30:1" + } + ], + "id": 374, + "name": "ExpressionStatement", + "src": "5044:30:1" + }, + { + "attributes": { + "functionReturnParameters": 354 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 375, + "name": "Literal", + "src": "5092:4:1" + } + ], + "id": 376, + "name": "Return", + "src": "5085:11:1" + } + ], + "id": 377, + "name": "Block", + "src": "4882:222:1" + } + ], + "id": 378, + "name": "FunctionDefinition", + "src": "4764:340:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "vote", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": 2609, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 399, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 379, + "name": "ElementaryTypeName", + "src": "5382:7:1" + } + ], + "id": 380, + "name": "VariableDeclaration", + "src": "5382:19:1" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 399, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 381, + "name": "ElementaryTypeName", + "src": "5403:4:1" + } + ], + "id": 382, + "name": "VariableDeclaration", + "src": "5403:10:1" + } + ], + "id": 383, + "name": "ParameterList", + "src": "5381:33:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 399, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 387, + "name": "ElementaryTypeName", + "src": "5451:4:1" + } + ], + "id": 388, + "name": "VariableDeclaration", + "src": "5451:4:1" + } + ], + "id": 389, + "name": "ParameterList", + "src": "5450:6:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 181, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 384, + "name": "Identifier", + "src": "5422:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 380, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 385, + "name": "Identifier", + "src": "5430:11:1" + } + ], + "id": 386, + "name": "ModifierInvocation", + "src": "5422:20:1" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 389 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 876, + "type": "function (bytes32,address,uint256,uint256) returns (bool)", + "value": "internalVote" + }, + "id": 390, + "name": "Identifier", + "src": "5475:12:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 380, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 391, + "name": "Identifier", + "src": "5488:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 392, + "name": "Identifier", + "src": "5501:3:1" + } + ], + "id": 393, + "name": "MemberAccess", + "src": "5501:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 382, + "type": "uint256", + "value": "_vote" + }, + "id": 394, + "name": "Identifier", + "src": "5513:5:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 395, + "name": "Literal", + "src": "5520:1:1" + } + ], + "id": 396, + "name": "FunctionCall", + "src": "5475:47:1" + } + ], + "id": 397, + "name": "Return", + "src": "5468:54:1" + } + ], + "id": 398, + "name": "Block", + "src": "5457:73:1" + } + ], + "id": 399, + "name": "FunctionDefinition", + "src": "5368:162:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "ownerVote", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": 2597, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 436, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 400, + "name": "ElementaryTypeName", + "src": "5935:7:1" + } + ], + "id": 401, + "name": "VariableDeclaration", + "src": "5935:19:1" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 436, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 402, + "name": "ElementaryTypeName", + "src": "5956:4:1" + } + ], + "id": 403, + "name": "VariableDeclaration", + "src": "5956:10:1" + }, + { + "attributes": { + "constant": false, + "name": "_voter", + "scope": 436, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 404, + "name": "ElementaryTypeName", + "src": "5968:7:1" + } + ], + "id": 405, + "name": "VariableDeclaration", + "src": "5968:14:1" + } + ], + "id": 406, + "name": "ParameterList", + "src": "5934:49:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 436, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 413, + "name": "ElementaryTypeName", + "src": "6051:4:1" + } + ], + "id": 414, + "name": "VariableDeclaration", + "src": "6051:4:1" + } + ], + "id": 415, + "name": "ParameterList", + "src": "6050:6:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 168, + "type": "modifier (bytes32)", + "value": "onlyProposalOwner" + }, + "id": 407, + "name": "Identifier", + "src": "5991:17:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 401, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 408, + "name": "Identifier", + "src": "6009:11:1" + } + ], + "id": 409, + "name": "ModifierInvocation", + "src": "5991:30:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 181, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 410, + "name": "Identifier", + "src": "6022:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 401, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 411, + "name": "Identifier", + "src": "6030:11:1" + } + ], + "id": 412, + "name": "ModifierInvocation", + "src": "6022:20:1" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "allowOwner", + "referencedDeclaration": 72, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 143, + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)", + "value": "parameters" + }, + "id": 416, + "name": "Identifier", + "src": "6074:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 88, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 417, + "name": "Identifier", + "src": "6085:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 401, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 418, + "name": "Identifier", + "src": "6095:11:1" + } + ], + "id": 419, + "name": "IndexAccess", + "src": "6085:22:1" + } + ], + "id": 420, + "name": "MemberAccess", + "src": "6085:33:1" + } + ], + "id": 421, + "name": "IndexAccess", + "src": "6074:45:1" + } + ], + "id": 422, + "name": "MemberAccess", + "src": "6074:56:1" + } + ], + "id": 423, + "name": "UnaryOperation", + "src": "6072:58:1" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 415 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 424, + "name": "Literal", + "src": "6154:5:1" + } + ], + "id": 425, + "name": "Return", + "src": "6147:12:1" + } + ], + "id": 426, + "name": "Block", + "src": "6132:39:1" + } + ], + "id": 427, + "name": "IfStatement", + "src": "6068:103:1" + }, + { + "attributes": { + "functionReturnParameters": 415 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 876, + "type": "function (bytes32,address,uint256,uint256) returns (bool)", + "value": "internalVote" + }, + "id": 428, + "name": "Identifier", + "src": "6189:12:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 401, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 429, + "name": "Identifier", + "src": "6202:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 405, + "type": "address", + "value": "_voter" + }, + "id": 430, + "name": "Identifier", + "src": "6215:6:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 403, + "type": "uint256", + "value": "_vote" + }, + "id": 431, + "name": "Identifier", + "src": "6223:5:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 432, + "name": "Literal", + "src": "6230:1:1" + } + ], + "id": 433, + "name": "FunctionCall", + "src": "6189:43:1" + } + ], + "id": 434, + "name": "Return", + "src": "6181:51:1" + } + ], + "id": 435, + "name": "Block", + "src": "6057:183:1" + } + ], + "id": 436, + "name": "FunctionDefinition", + "src": "5916:324:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "voteWithSpecifiedAmounts", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": 2625, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 461, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 437, + "name": "ElementaryTypeName", + "src": "6282:7:1" + } + ], + "id": 438, + "name": "VariableDeclaration", + "src": "6282:19:1" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 461, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 439, + "name": "ElementaryTypeName", + "src": "6302:4:1" + } + ], + "id": 440, + "name": "VariableDeclaration", + "src": "6302:10:1" + }, + { + "attributes": { + "constant": false, + "name": "_rep", + "scope": 461, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 441, + "name": "ElementaryTypeName", + "src": "6313:4:1" + } + ], + "id": 442, + "name": "VariableDeclaration", + "src": "6313:9:1" + }, + { + "attributes": { + "constant": false, + "name": "", + "scope": 461, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 443, + "name": "ElementaryTypeName", + "src": "6323:4:1" + } + ], + "id": 444, + "name": "VariableDeclaration", + "src": "6323:4:1" + } + ], + "id": 445, + "name": "ParameterList", + "src": "6281:47:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 461, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 449, + "name": "ElementaryTypeName", + "src": "6365:4:1" + } + ], + "id": 450, + "name": "VariableDeclaration", + "src": "6365:4:1" + } + ], + "id": 451, + "name": "ParameterList", + "src": "6364:6:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 181, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 446, + "name": "Identifier", + "src": "6336:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 438, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 447, + "name": "Identifier", + "src": "6344:11:1" + } + ], + "id": 448, + "name": "ModifierInvocation", + "src": "6336:20:1" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 451 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 876, + "type": "function (bytes32,address,uint256,uint256) returns (bool)", + "value": "internalVote" + }, + "id": 452, + "name": "Identifier", + "src": "6389:12:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 438, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 453, + "name": "Identifier", + "src": "6402:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 454, + "name": "Identifier", + "src": "6414:3:1" + } + ], + "id": 455, + "name": "MemberAccess", + "src": "6414:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 440, + "type": "uint256", + "value": "_vote" + }, + "id": 456, + "name": "Identifier", + "src": "6425:5:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 442, + "type": "uint256", + "value": "_rep" + }, + "id": 457, + "name": "Identifier", + "src": "6431:4:1" + } + ], + "id": 458, + "name": "FunctionCall", + "src": "6389:47:1" + } + ], + "id": 459, + "name": "Return", + "src": "6382:54:1" + } + ], + "id": 460, + "name": "Block", + "src": "6371:73:1" + } + ], + "id": 461, + "name": "FunctionDefinition", + "src": "6248:196:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "cancelVote", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": 2633, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 476, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 462, + "name": "ElementaryTypeName", + "src": "6674:7:1" + } + ], + "id": 463, + "name": "VariableDeclaration", + "src": "6674:19:1" + } + ], + "id": 464, + "name": "ParameterList", + "src": "6673:21:1" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 468, + "name": "ParameterList", + "src": "6723:0:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 181, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 465, + "name": "Identifier", + "src": "6702:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 463, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 466, + "name": "Identifier", + "src": "6710:11:1" + } + ], + "id": 467, + "name": "ModifierInvocation", + "src": "6702:20:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 718, + "type": "function (bytes32,address)", + "value": "cancelVoteInternal" + }, + "id": 469, + "name": "Identifier", + "src": "6734:18:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 463, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 470, + "name": "Identifier", + "src": "6753:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 471, + "name": "Identifier", + "src": "6766:3:1" + } + ], + "id": 472, + "name": "MemberAccess", + "src": "6766:10:1" + } + ], + "id": 473, + "name": "FunctionCall", + "src": "6734:43:1" + } + ], + "id": 474, + "name": "ExpressionStatement", + "src": "6734:43:1" + } + ], + "id": 475, + "name": "Block", + "src": "6723:62:1" + } + ], + "id": 476, + "name": "FunctionDefinition", + "src": "6654:131:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "execute", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": 2643, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 565, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 477, + "name": "ElementaryTypeName", + "src": "7062:7:1" + } + ], + "id": 478, + "name": "VariableDeclaration", + "src": "7062:19:1" + } + ], + "id": 479, + "name": "ParameterList", + "src": "7061:21:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 565, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 483, + "name": "ElementaryTypeName", + "src": "7119:4:1" + } + ], + "id": 484, + "name": "VariableDeclaration", + "src": "7119:4:1" + } + ], + "id": 485, + "name": "ParameterList", + "src": "7118:6:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 181, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 480, + "name": "Identifier", + "src": "7090:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 478, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 481, + "name": "Identifier", + "src": "7098:11:1" + } + ], + "id": 482, + "name": "ModifierInvocation", + "src": "7090:20:1" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 487 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 565, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 101, + "type": "struct AbsoluteVote.Proposal storage pointer" + }, + "id": 486, + "name": "UserDefinedTypeName", + "src": "7136:8:1" + } + ], + "id": 487, + "name": "VariableDeclaration", + "src": "7136:25:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 488, + "name": "Identifier", + "src": "7164:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 478, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 489, + "name": "Identifier", + "src": "7174:11:1" + } + ], + "id": 490, + "name": "IndexAccess", + "src": "7164:22:1" + } + ], + "id": 491, + "name": "VariableDeclarationStatement", + "src": "7136:50:1" + }, + { + "attributes": { + "assignments": [ + 493 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "totalReputation", + "scope": 565, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 492, + "name": "ElementaryTypeName", + "src": "7197:4:1" + } + ], + "id": 493, + "name": "VariableDeclaration", + "src": "7197:20:1" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "totalSupply", + "referencedDeclaration": 4207, + "type": "function () view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputationSystem", + "referencedDeclaration": 68, + "type": "contract Reputation" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 143, + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)", + "value": "parameters" + }, + "id": 494, + "name": "Identifier", + "src": "7220:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 88, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 487, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 495, + "name": "Identifier", + "src": "7231:8:1" + } + ], + "id": 496, + "name": "MemberAccess", + "src": "7231:19:1" + } + ], + "id": 497, + "name": "IndexAccess", + "src": "7220:31:1" + } + ], + "id": 498, + "name": "MemberAccess", + "src": "7220:48:1" + } + ], + "id": 499, + "name": "MemberAccess", + "src": "7220:60:1" + } + ], + "id": 500, + "name": "FunctionCall", + "src": "7220:62:1" + } + ], + "id": 501, + "name": "VariableDeclarationStatement", + "src": "7197:85:1" + }, + { + "attributes": { + "assignments": [ + 503 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "precReq", + "scope": 565, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 502, + "name": "ElementaryTypeName", + "src": "7293:4:1" + } + ], + "id": 503, + "name": "VariableDeclaration", + "src": "7293:12:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "precReq", + "referencedDeclaration": 70, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 143, + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)", + "value": "parameters" + }, + "id": 504, + "name": "Identifier", + "src": "7308:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 88, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 487, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 505, + "name": "Identifier", + "src": "7319:8:1" + } + ], + "id": 506, + "name": "MemberAccess", + "src": "7319:19:1" + } + ], + "id": 507, + "name": "IndexAccess", + "src": "7308:31:1" + } + ], + "id": 508, + "name": "MemberAccess", + "src": "7308:39:1" + } + ], + "id": 509, + "name": "VariableDeclarationStatement", + "src": "7293:54:1" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 511 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 565, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 510, + "name": "ElementaryTypeName", + "src": "7409:4:1" + } + ], + "id": 511, + "name": "VariableDeclaration", + "src": "7409:8:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 512, + "name": "Literal", + "src": "7420:1:1" + } + ], + "id": 513, + "name": "VariableDeclarationStatement", + "src": "7409:12:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 511, + "type": "uint256", + "value": "cnt" + }, + "id": 514, + "name": "Identifier", + "src": "7423:3:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 84, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 487, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 515, + "name": "Identifier", + "src": "7430:8:1" + } + ], + "id": 516, + "name": "MemberAccess", + "src": "7430:21:1" + } + ], + "id": 517, + "name": "BinaryOperation", + "src": "7423:28:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 511, + "type": "uint256", + "value": "cnt" + }, + "id": 518, + "name": "Identifier", + "src": "7453:3:1" + } + ], + "id": 519, + "name": "UnaryOperation", + "src": "7453:5:1" + } + ], + "id": 520, + "name": "ExpressionStatement", + "src": "7453:5:1" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 94, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 487, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 521, + "name": "Identifier", + "src": "7479:8:1" + } + ], + "id": 522, + "name": "MemberAccess", + "src": "7479:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 511, + "type": "uint256", + "value": "cnt" + }, + "id": 523, + "name": "Identifier", + "src": "7494:3:1" + } + ], + "id": 524, + "name": "IndexAccess", + "src": "7479:19:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "/", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "*", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 493, + "type": "uint256", + "value": "totalReputation" + }, + "id": 525, + "name": "Identifier", + "src": "7501:15:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 503, + "type": "uint256", + "value": "precReq" + }, + "id": 526, + "name": "Identifier", + "src": "7517:7:1" + } + ], + "id": 527, + "name": "BinaryOperation", + "src": "7501:23:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "313030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 100", + "value": "100" + }, + "id": 528, + "name": "Literal", + "src": "7525:3:1" + } + ], + "id": 529, + "name": "BinaryOperation", + "src": "7501:27:1" + } + ], + "id": 530, + "name": "BinaryOperation", + "src": "7479:49:1" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 532 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "tmpProposal", + "scope": 565, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct AbsoluteVote.Proposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 101, + "type": "struct AbsoluteVote.Proposal storage pointer" + }, + "id": 531, + "name": "UserDefinedTypeName", + "src": "7549:8:1" + } + ], + "id": 532, + "name": "VariableDeclaration", + "src": "7549:27:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 487, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 533, + "name": "Identifier", + "src": "7579:8:1" + } + ], + "id": 534, + "name": "VariableDeclarationStatement", + "src": "7549:38:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 754, + "type": "function (bytes32)", + "value": "deleteProposal" + }, + "id": 535, + "name": "Identifier", + "src": "7606:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 478, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 536, + "name": "Identifier", + "src": "7621:11:1" + } + ], + "id": 537, + "name": "FunctionCall", + "src": "7606:27:1" + } + ], + "id": 538, + "name": "ExpressionStatement", + "src": "7606:27:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 121, + "type": "function (bytes32,uint256)", + "value": "LogExecuteProposal" + }, + "id": 539, + "name": "Identifier", + "src": "7652:18:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 478, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 540, + "name": "Identifier", + "src": "7671:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 511, + "type": "uint256", + "value": "cnt" + }, + "id": 541, + "name": "Identifier", + "src": "7684:3:1" + } + ], + "id": 542, + "name": "FunctionCall", + "src": "7652:36:1" + } + ], + "id": 543, + "name": "ExpressionStatement", + "src": "7652:36:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "execute", + "referencedDeclaration": 5154, + "type": "function (bytes32,address,int256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "executable", + "referencedDeclaration": 86, + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 532, + "type": "struct AbsoluteVote.Proposal memory", + "value": "tmpProposal" + }, + "id": 544, + "name": "Identifier", + "src": "7708:11:1" + } + ], + "id": 545, + "name": "MemberAccess", + "src": "7708:22:1" + } + ], + "id": 546, + "name": "TupleExpression", + "src": "7707:24:1" + } + ], + "id": 547, + "name": "MemberAccess", + "src": "7707:32:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 478, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 548, + "name": "Identifier", + "src": "7740:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "avatar", + "referencedDeclaration": 82, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 532, + "type": "struct AbsoluteVote.Proposal memory", + "value": "tmpProposal" + }, + "id": 549, + "name": "Identifier", + "src": "7753:11:1" + } + ], + "id": 550, + "name": "MemberAccess", + "src": "7753:18:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "int256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(int256)", + "value": "int" + }, + "id": 551, + "name": "ElementaryTypeNameExpression", + "src": "7773:3:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 511, + "type": "uint256", + "value": "cnt" + }, + "id": 552, + "name": "Identifier", + "src": "7777:3:1" + } + ], + "id": 553, + "name": "FunctionCall", + "src": "7773:8:1" + } + ], + "id": 554, + "name": "FunctionCall", + "src": "7707:75:1" + } + ], + "id": 555, + "name": "ExpressionStatement", + "src": "7707:75:1" + }, + { + "attributes": { + "functionReturnParameters": 485 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 556, + "name": "Literal", + "src": "7808:4:1" + } + ], + "id": 557, + "name": "Return", + "src": "7801:11:1" + } + ], + "id": 558, + "name": "Block", + "src": "7530:298:1" + } + ], + "id": 559, + "name": "IfStatement", + "src": "7475:353:1" + } + ], + "id": 560, + "name": "Block", + "src": "7460:379:1" + } + ], + "id": 561, + "name": "ForStatement", + "src": "7404:435:1" + }, + { + "attributes": { + "functionReturnParameters": 485 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 562, + "name": "Literal", + "src": "7856:5:1" + } + ], + "id": 563, + "name": "Return", + "src": "7849:12:1" + } + ], + "id": 564, + "name": "Block", + "src": "7125:744:1" + } + ], + "id": 565, + "name": "FunctionDefinition", + "src": "7045:824:1" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getNumberOfChoices", + "payable": false, + "scope": 877, + "stateMutability": "view", + "superFunction": 2650, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 578, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 566, + "name": "ElementaryTypeName", + "src": "8104:7:1" + } + ], + "id": 567, + "name": "VariableDeclaration", + "src": "8104:19:1" + } + ], + "id": 568, + "name": "ParameterList", + "src": "8103:21:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 578, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 569, + "name": "ElementaryTypeName", + "src": "8149:4:1" + } + ], + "id": 570, + "name": "VariableDeclaration", + "src": "8149:4:1" + } + ], + "id": 571, + "name": "ParameterList", + "src": "8148:6:1" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 571 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 84, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 572, + "name": "Identifier", + "src": "8173:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 567, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 573, + "name": "Identifier", + "src": "8183:11:1" + } + ], + "id": 574, + "name": "IndexAccess", + "src": "8173:22:1" + } + ], + "id": 575, + "name": "MemberAccess", + "src": "8173:35:1" + } + ], + "id": 576, + "name": "Return", + "src": "8166:42:1" + } + ], + "id": 577, + "name": "Block", + "src": "8155:61:1" + } + ], + "id": 578, + "name": "FunctionDefinition", + "src": "8076:140:1" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "voteInfo", + "payable": false, + "scope": 877, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 605, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 579, + "name": "ElementaryTypeName", + "src": "8583:7:1" + } + ], + "id": 580, + "name": "VariableDeclaration", + "src": "8583:19:1" + }, + { + "attributes": { + "constant": false, + "name": "_voter", + "scope": 605, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 581, + "name": "ElementaryTypeName", + "src": "8604:7:1" + } + ], + "id": 582, + "name": "VariableDeclaration", + "src": "8604:14:1" + } + ], + "id": 583, + "name": "ParameterList", + "src": "8582:37:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 605, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 584, + "name": "ElementaryTypeName", + "src": "8644:4:1" + } + ], + "id": 585, + "name": "VariableDeclaration", + "src": "8644:4:1" + }, + { + "attributes": { + "constant": false, + "name": "", + "scope": 605, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 586, + "name": "ElementaryTypeName", + "src": "8650:4:1" + } + ], + "id": 587, + "name": "VariableDeclaration", + "src": "8650:4:1" + } + ], + "id": 588, + "name": "ParameterList", + "src": "8643:12:1" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 590 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "voter", + "scope": 605, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct AbsoluteVote.Voter memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Voter", + "referencedDeclaration": 78, + "type": "struct AbsoluteVote.Voter storage pointer" + }, + "id": 589, + "name": "UserDefinedTypeName", + "src": "8667:5:1" + } + ], + "id": 590, + "name": "VariableDeclaration", + "src": "8667:18:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voters", + "referencedDeclaration": 98, + "type": "mapping(address => struct AbsoluteVote.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 591, + "name": "Identifier", + "src": "8688:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 580, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 592, + "name": "Identifier", + "src": "8698:11:1" + } + ], + "id": 593, + "name": "IndexAccess", + "src": "8688:22:1" + } + ], + "id": 594, + "name": "MemberAccess", + "src": "8688:29:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 582, + "type": "address", + "value": "_voter" + }, + "id": 595, + "name": "Identifier", + "src": "8718:6:1" + } + ], + "id": 596, + "name": "IndexAccess", + "src": "8688:37:1" + } + ], + "id": 597, + "name": "VariableDeclarationStatement", + "src": "8667:58:1" + }, + { + "attributes": { + "functionReturnParameters": 588 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "tuple(uint256,uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "vote", + "referencedDeclaration": 75, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 590, + "type": "struct AbsoluteVote.Voter memory", + "value": "voter" + }, + "id": 598, + "name": "Identifier", + "src": "8744:5:1" + } + ], + "id": 599, + "name": "MemberAccess", + "src": "8744:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputation", + "referencedDeclaration": 77, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 590, + "type": "struct AbsoluteVote.Voter memory", + "value": "voter" + }, + "id": 600, + "name": "Identifier", + "src": "8756:5:1" + } + ], + "id": 601, + "name": "MemberAccess", + "src": "8756:16:1" + } + ], + "id": 602, + "name": "TupleExpression", + "src": "8743:30:1" + } + ], + "id": 603, + "name": "Return", + "src": "8736:37:1" + } + ], + "id": 604, + "name": "Block", + "src": "8656:125:1" + } + ], + "id": 605, + "name": "FunctionDefinition", + "src": "8565:216:1" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "votesStatus", + "payable": false, + "scope": 877, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 643, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 606, + "name": "ElementaryTypeName", + "src": "9051:7:1" + } + ], + "id": 607, + "name": "VariableDeclaration", + "src": "9051:19:1" + } + ], + "id": 608, + "name": "ParameterList", + "src": "9050:21:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "votes", + "scope": 643, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256[11] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "uint256[11] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 609, + "name": "ElementaryTypeName", + "src": "9096:4:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3131", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 11", + "value": "11" + }, + "id": 610, + "name": "Literal", + "src": "9101:2:1" + } + ], + "id": 611, + "name": "ArrayTypeName", + "src": "9096:8:1" + } + ], + "id": 612, + "name": "VariableDeclaration", + "src": "9096:14:1" + } + ], + "id": 613, + "name": "ParameterList", + "src": "9095:16:1" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 615 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 643, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 101, + "type": "struct AbsoluteVote.Proposal storage pointer" + }, + "id": 614, + "name": "UserDefinedTypeName", + "src": "9123:8:1" + } + ], + "id": 615, + "name": "VariableDeclaration", + "src": "9123:25:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 616, + "name": "Identifier", + "src": "9151:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 607, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 617, + "name": "Identifier", + "src": "9161:11:1" + } + ], + "id": 618, + "name": "IndexAccess", + "src": "9151:22:1" + } + ], + "id": 619, + "name": "VariableDeclarationStatement", + "src": "9123:50:1" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 621 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 643, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 620, + "name": "ElementaryTypeName", + "src": "9189:4:1" + } + ], + "id": 621, + "name": "VariableDeclaration", + "src": "9189:8:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 622, + "name": "Literal", + "src": "9200:1:1" + } + ], + "id": 623, + "name": "VariableDeclarationStatement", + "src": "9189:12:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 621, + "type": "uint256", + "value": "cnt" + }, + "id": 624, + "name": "Identifier", + "src": "9203:3:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 84, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 615, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 625, + "name": "Identifier", + "src": "9210:8:1" + } + ], + "id": 626, + "name": "MemberAccess", + "src": "9210:21:1" + } + ], + "id": 627, + "name": "BinaryOperation", + "src": "9203:28:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 621, + "type": "uint256", + "value": "cnt" + }, + "id": 628, + "name": "Identifier", + "src": "9233:3:1" + } + ], + "id": 629, + "name": "UnaryOperation", + "src": "9233:5:1" + } + ], + "id": 630, + "name": "ExpressionStatement", + "src": "9233:5:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 612, + "type": "uint256[11] memory", + "value": "votes" + }, + "id": 631, + "name": "Identifier", + "src": "9255:5:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 621, + "type": "uint256", + "value": "cnt" + }, + "id": 632, + "name": "Identifier", + "src": "9261:3:1" + } + ], + "id": 633, + "name": "IndexAccess", + "src": "9255:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 94, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 615, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 634, + "name": "Identifier", + "src": "9268:8:1" + } + ], + "id": 635, + "name": "MemberAccess", + "src": "9268:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 621, + "type": "uint256", + "value": "cnt" + }, + "id": 636, + "name": "Identifier", + "src": "9283:3:1" + } + ], + "id": 637, + "name": "IndexAccess", + "src": "9268:19:1" + } + ], + "id": 638, + "name": "Assignment", + "src": "9255:32:1" + } + ], + "id": 639, + "name": "ExpressionStatement", + "src": "9255:32:1" + } + ], + "id": 640, + "name": "Block", + "src": "9240:59:1" + } + ], + "id": 641, + "name": "ForStatement", + "src": "9184:115:1" + } + ], + "id": 642, + "name": "Block", + "src": "9112:194:1" + } + ], + "id": 643, + "name": "FunctionDefinition", + "src": "9030:276:1" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isVotable", + "payable": false, + "scope": 877, + "stateMutability": "view", + "superFunction": 2657, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 656, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 644, + "name": "ElementaryTypeName", + "src": "9494:7:1" + } + ], + "id": 645, + "name": "VariableDeclaration", + "src": "9494:19:1" + } + ], + "id": 646, + "name": "ParameterList", + "src": "9493:21:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 656, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 647, + "name": "ElementaryTypeName", + "src": "9539:4:1" + } + ], + "id": 648, + "name": "VariableDeclaration", + "src": "9539:4:1" + } + ], + "id": 649, + "name": "ParameterList", + "src": "9538:6:1" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 649 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "open", + "referencedDeclaration": 100, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 650, + "name": "Identifier", + "src": "9564:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 645, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 651, + "name": "Identifier", + "src": "9574:11:1" + } + ], + "id": 652, + "name": "IndexAccess", + "src": "9564:22:1" + } + ], + "id": 653, + "name": "MemberAccess", + "src": "9564:27:1" + } + ], + "id": 654, + "name": "Return", + "src": "9556:35:1" + } + ], + "id": 655, + "name": "Block", + "src": "9545:54:1" + } + ], + "id": 656, + "name": "FunctionDefinition", + "src": "9475:124:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "cancelVoteInternal", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 718, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 657, + "name": "ElementaryTypeName", + "src": "9635:7:1" + } + ], + "id": 658, + "name": "VariableDeclaration", + "src": "9635:19:1" + }, + { + "attributes": { + "constant": false, + "name": "_voter", + "scope": 718, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 659, + "name": "ElementaryTypeName", + "src": "9656:7:1" + } + ], + "id": 660, + "name": "VariableDeclaration", + "src": "9656:14:1" + } + ], + "id": 661, + "name": "ParameterList", + "src": "9634:37:1" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 662, + "name": "ParameterList", + "src": "9681:0:1" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 664 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 718, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 101, + "type": "struct AbsoluteVote.Proposal storage pointer" + }, + "id": 663, + "name": "UserDefinedTypeName", + "src": "9692:8:1" + } + ], + "id": 664, + "name": "VariableDeclaration", + "src": "9692:25:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 665, + "name": "Identifier", + "src": "9720:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 658, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 666, + "name": "Identifier", + "src": "9730:11:1" + } + ], + "id": 667, + "name": "IndexAccess", + "src": "9720:22:1" + } + ], + "id": 668, + "name": "VariableDeclarationStatement", + "src": "9692:50:1" + }, + { + "attributes": { + "assignments": [ + 670 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "voter", + "scope": 718, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct AbsoluteVote.Voter memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Voter", + "referencedDeclaration": 78, + "type": "struct AbsoluteVote.Voter storage pointer" + }, + "id": 669, + "name": "UserDefinedTypeName", + "src": "9753:5:1" + } + ], + "id": 670, + "name": "VariableDeclaration", + "src": "9753:18:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voters", + "referencedDeclaration": 98, + "type": "mapping(address => struct AbsoluteVote.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 664, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 671, + "name": "Identifier", + "src": "9774:8:1" + } + ], + "id": 672, + "name": "MemberAccess", + "src": "9774:15:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 660, + "type": "address", + "value": "_voter" + }, + "id": 673, + "name": "Identifier", + "src": "9790:6:1" + } + ], + "id": 674, + "name": "IndexAccess", + "src": "9774:23:1" + } + ], + "id": 675, + "name": "VariableDeclarationStatement", + "src": "9753:44:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 94, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 664, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 676, + "name": "Identifier", + "src": "9808:8:1" + } + ], + "id": 680, + "name": "MemberAccess", + "src": "9808:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "vote", + "referencedDeclaration": 75, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 670, + "type": "struct AbsoluteVote.Voter memory", + "value": "voter" + }, + "id": 678, + "name": "Identifier", + "src": "9823:5:1" + } + ], + "id": 679, + "name": "MemberAccess", + "src": "9823:10:1" + } + ], + "id": 681, + "name": "IndexAccess", + "src": "9808:26:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 94, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 664, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 682, + "name": "Identifier", + "src": "9838:8:1" + } + ], + "id": 683, + "name": "MemberAccess", + "src": "9838:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "vote", + "referencedDeclaration": 75, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 670, + "type": "struct AbsoluteVote.Voter memory", + "value": "voter" + }, + "id": 684, + "name": "Identifier", + "src": "9853:5:1" + } + ], + "id": 685, + "name": "MemberAccess", + "src": "9853:10:1" + } + ], + "id": 686, + "name": "IndexAccess", + "src": "9838:26:1" + } + ], + "id": 687, + "name": "TupleExpression", + "src": "9837:28:1" + } + ], + "id": 688, + "name": "MemberAccess", + "src": "9837:32:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputation", + "referencedDeclaration": 77, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 670, + "type": "struct AbsoluteVote.Voter memory", + "value": "voter" + }, + "id": 689, + "name": "Identifier", + "src": "9870:5:1" + } + ], + "id": 690, + "name": "MemberAccess", + "src": "9870:16:1" + } + ], + "id": 691, + "name": "FunctionCall", + "src": "9837:50:1" + } + ], + "id": 692, + "name": "Assignment", + "src": "9808:79:1" + } + ], + "id": 693, + "name": "ExpressionStatement", + "src": "9808:79:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "totalVotes", + "referencedDeclaration": 90, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 664, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 694, + "name": "Identifier", + "src": "9898:8:1" + } + ], + "id": 696, + "name": "MemberAccess", + "src": "9898:19:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalVotes", + "referencedDeclaration": 90, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 664, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 697, + "name": "Identifier", + "src": "9921:8:1" + } + ], + "id": 698, + "name": "MemberAccess", + "src": "9921:19:1" + } + ], + "id": 699, + "name": "TupleExpression", + "src": "9920:21:1" + } + ], + "id": 700, + "name": "MemberAccess", + "src": "9920:25:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputation", + "referencedDeclaration": 77, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 670, + "type": "struct AbsoluteVote.Voter memory", + "value": "voter" + }, + "id": 701, + "name": "Identifier", + "src": "9946:5:1" + } + ], + "id": 702, + "name": "MemberAccess", + "src": "9946:16:1" + } + ], + "id": 703, + "name": "FunctionCall", + "src": "9920:43:1" + } + ], + "id": 704, + "name": "Assignment", + "src": "9898:65:1" + } + ], + "id": 705, + "name": "ExpressionStatement", + "src": "9898:65:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct AbsoluteVote.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voters", + "referencedDeclaration": 98, + "type": "mapping(address => struct AbsoluteVote.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 664, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 706, + "name": "Identifier", + "src": "9981:8:1" + } + ], + "id": 707, + "name": "MemberAccess", + "src": "9981:15:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 660, + "type": "address", + "value": "_voter" + }, + "id": 708, + "name": "Identifier", + "src": "9997:6:1" + } + ], + "id": 709, + "name": "IndexAccess", + "src": "9981:23:1" + } + ], + "id": 710, + "name": "UnaryOperation", + "src": "9974:30:1" + } + ], + "id": 711, + "name": "ExpressionStatement", + "src": "9974:30:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 139, + "type": "function (bytes32,address)", + "value": "LogCancelVoting" + }, + "id": 712, + "name": "Identifier", + "src": "10015:15:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 658, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 713, + "name": "Identifier", + "src": "10031:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 660, + "type": "address", + "value": "_voter" + }, + "id": 714, + "name": "Identifier", + "src": "10044:6:1" + } + ], + "id": 715, + "name": "FunctionCall", + "src": "10015:36:1" + } + ], + "id": 716, + "name": "ExpressionStatement", + "src": "10015:36:1" + } + ], + "id": 717, + "name": "Block", + "src": "9681:378:1" + } + ], + "id": 718, + "name": "FunctionDefinition", + "src": "9607:452:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "deleteProposal", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 754, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 719, + "name": "ElementaryTypeName", + "src": "10091:7:1" + } + ], + "id": 720, + "name": "VariableDeclaration", + "src": "10091:19:1" + } + ], + "id": 721, + "name": "ParameterList", + "src": "10090:21:1" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 722, + "name": "ParameterList", + "src": "10120:0:1" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 724 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 754, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 101, + "type": "struct AbsoluteVote.Proposal storage pointer" + }, + "id": 723, + "name": "UserDefinedTypeName", + "src": "10131:8:1" + } + ], + "id": 724, + "name": "VariableDeclaration", + "src": "10131:25:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 725, + "name": "Identifier", + "src": "10159:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 720, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 726, + "name": "Identifier", + "src": "10169:11:1" + } + ], + "id": 727, + "name": "IndexAccess", + "src": "10159:22:1" + } + ], + "id": 728, + "name": "VariableDeclarationStatement", + "src": "10131:50:1" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 730 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 754, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 729, + "name": "ElementaryTypeName", + "src": "10197:4:1" + } + ], + "id": 730, + "name": "VariableDeclaration", + "src": "10197:8:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 731, + "name": "Literal", + "src": "10208:1:1" + } + ], + "id": 732, + "name": "VariableDeclarationStatement", + "src": "10197:12:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 730, + "type": "uint256", + "value": "cnt" + }, + "id": 733, + "name": "Identifier", + "src": "10211:3:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 84, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 724, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 734, + "name": "Identifier", + "src": "10218:8:1" + } + ], + "id": 735, + "name": "MemberAccess", + "src": "10218:21:1" + } + ], + "id": 736, + "name": "BinaryOperation", + "src": "10211:28:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 730, + "type": "uint256", + "value": "cnt" + }, + "id": 737, + "name": "Identifier", + "src": "10241:3:1" + } + ], + "id": 738, + "name": "UnaryOperation", + "src": "10241:5:1" + } + ], + "id": 739, + "name": "ExpressionStatement", + "src": "10241:5:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 94, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 724, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 740, + "name": "Identifier", + "src": "10270:8:1" + } + ], + "id": 741, + "name": "MemberAccess", + "src": "10270:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 730, + "type": "uint256", + "value": "cnt" + }, + "id": 742, + "name": "Identifier", + "src": "10285:3:1" + } + ], + "id": 743, + "name": "IndexAccess", + "src": "10270:19:1" + } + ], + "id": 744, + "name": "UnaryOperation", + "src": "10263:26:1" + } + ], + "id": 745, + "name": "ExpressionStatement", + "src": "10263:26:1" + } + ], + "id": 746, + "name": "Block", + "src": "10248:53:1" + } + ], + "id": 747, + "name": "ForStatement", + "src": "10192:109:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 748, + "name": "Identifier", + "src": "10318:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 720, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 749, + "name": "Identifier", + "src": "10328:11:1" + } + ], + "id": 750, + "name": "IndexAccess", + "src": "10318:22:1" + } + ], + "id": 751, + "name": "UnaryOperation", + "src": "10311:29:1" + } + ], + "id": 752, + "name": "ExpressionStatement", + "src": "10311:29:1" + } + ], + "id": 753, + "name": "Block", + "src": "10120:228:1" + } + ], + "id": 754, + "name": "FunctionDefinition", + "src": "10067:281:1" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "internalVote", + "payable": false, + "scope": 877, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 876, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 755, + "name": "ElementaryTypeName", + "src": "10898:7:1" + } + ], + "id": 756, + "name": "VariableDeclaration", + "src": "10898:19:1" + }, + { + "attributes": { + "constant": false, + "name": "_voter", + "scope": 876, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 757, + "name": "ElementaryTypeName", + "src": "10919:7:1" + } + ], + "id": 758, + "name": "VariableDeclaration", + "src": "10919:14:1" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 876, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 759, + "name": "ElementaryTypeName", + "src": "10935:4:1" + } + ], + "id": 760, + "name": "VariableDeclaration", + "src": "10935:10:1" + }, + { + "attributes": { + "constant": false, + "name": "_rep", + "scope": 876, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 761, + "name": "ElementaryTypeName", + "src": "10947:4:1" + } + ], + "id": 762, + "name": "VariableDeclaration", + "src": "10947:9:1" + } + ], + "id": 763, + "name": "ParameterList", + "src": "10897:60:1" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 876, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 764, + "name": "ElementaryTypeName", + "src": "10974:4:1" + } + ], + "id": 765, + "name": "VariableDeclaration", + "src": "10974:4:1" + } + ], + "id": 766, + "name": "ParameterList", + "src": "10973:6:1" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 768 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 876, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 101, + "type": "struct AbsoluteVote.Proposal storage pointer" + }, + "id": 767, + "name": "UserDefinedTypeName", + "src": "10991:8:1" + } + ], + "id": 768, + "name": "VariableDeclaration", + "src": "10991:25:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 769, + "name": "Identifier", + "src": "11019:9:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 756, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 770, + "name": "Identifier", + "src": "11029:11:1" + } + ], + "id": 771, + "name": "IndexAccess", + "src": "11019:22:1" + } + ], + "id": 772, + "name": "VariableDeclarationStatement", + "src": "10991:50:1" + }, + { + "attributes": { + "assignments": [ + 774 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 876, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct AbsoluteVote.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 73, + "type": "struct AbsoluteVote.Parameters storage pointer" + }, + "id": 773, + "name": "UserDefinedTypeName", + "src": "11052:10:1" + } + ], + "id": 774, + "name": "VariableDeclaration", + "src": "11052:24:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 143, + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)", + "value": "parameters" + }, + "id": 775, + "name": "Identifier", + "src": "11079:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 88, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 768, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 776, + "name": "Identifier", + "src": "11090:8:1" + } + ], + "id": 777, + "name": "MemberAccess", + "src": "11090:19:1" + } + ], + "id": 778, + "name": "IndexAccess", + "src": "11079:31:1" + } + ], + "id": 779, + "name": "VariableDeclarationStatement", + "src": "11052:58:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 780, + "name": "Identifier", + "src": "11151:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 760, + "type": "uint256", + "value": "_vote" + }, + "id": 781, + "name": "Identifier", + "src": "11159:5:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 84, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 768, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 782, + "name": "Identifier", + "src": "11168:8:1" + } + ], + "id": 783, + "name": "MemberAccess", + "src": "11168:21:1" + } + ], + "id": 784, + "name": "BinaryOperation", + "src": "11159:30:1" + } + ], + "id": 785, + "name": "FunctionCall", + "src": "11151:39:1" + } + ], + "id": 786, + "name": "ExpressionStatement", + "src": "11151:39:1" + }, + { + "attributes": { + "assignments": [ + 788 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "reputation", + "scope": 876, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 787, + "name": "ElementaryTypeName", + "src": "11248:4:1" + } + ], + "id": 788, + "name": "VariableDeclaration", + "src": "11248:15:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "reputationOf", + "referencedDeclaration": 4243, + "type": "function (address) view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputationSystem", + "referencedDeclaration": 68, + "type": "contract Reputation" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 774, + "type": "struct AbsoluteVote.Parameters memory", + "value": "params" + }, + "id": 789, + "name": "Identifier", + "src": "11266:6:1" + } + ], + "id": 790, + "name": "MemberAccess", + "src": "11266:23:1" + } + ], + "id": 791, + "name": "MemberAccess", + "src": "11266:36:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 758, + "type": "address", + "value": "_voter" + }, + "id": 792, + "name": "Identifier", + "src": "11303:6:1" + } + ], + "id": 793, + "name": "FunctionCall", + "src": "11266:44:1" + } + ], + "id": 794, + "name": "VariableDeclarationStatement", + "src": "11248:62:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 795, + "name": "Identifier", + "src": "11321:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 788, + "type": "uint256", + "value": "reputation" + }, + "id": 796, + "name": "Identifier", + "src": "11329:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 762, + "type": "uint256", + "value": "_rep" + }, + "id": 797, + "name": "Identifier", + "src": "11343:4:1" + } + ], + "id": 798, + "name": "BinaryOperation", + "src": "11329:18:1" + } + ], + "id": 799, + "name": "FunctionCall", + "src": "11321:27:1" + } + ], + "id": 800, + "name": "ExpressionStatement", + "src": "11321:27:1" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 762, + "type": "uint256", + "value": "_rep" + }, + "id": 801, + "name": "Identifier", + "src": "11363:4:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 802, + "name": "Literal", + "src": "11371:1:1" + } + ], + "id": 803, + "name": "BinaryOperation", + "src": "11363:9:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 762, + "type": "uint256", + "value": "_rep" + }, + "id": 804, + "name": "Identifier", + "src": "11389:4:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 788, + "type": "uint256", + "value": "reputation" + }, + "id": 805, + "name": "Identifier", + "src": "11396:10:1" + } + ], + "id": 806, + "name": "Assignment", + "src": "11389:17:1" + } + ], + "id": 807, + "name": "ExpressionStatement", + "src": "11389:17:1" + } + ], + "id": 808, + "name": "Block", + "src": "11374:44:1" + } + ], + "id": 809, + "name": "IfStatement", + "src": "11359:59:1" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputation", + "referencedDeclaration": 77, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voters", + "referencedDeclaration": 98, + "type": "mapping(address => struct AbsoluteVote.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 768, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 810, + "name": "Identifier", + "src": "11500:8:1" + } + ], + "id": 811, + "name": "MemberAccess", + "src": "11500:15:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 758, + "type": "address", + "value": "_voter" + }, + "id": 812, + "name": "Identifier", + "src": "11516:6:1" + } + ], + "id": 813, + "name": "IndexAccess", + "src": "11500:23:1" + } + ], + "id": 814, + "name": "MemberAccess", + "src": "11500:34:1" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 815, + "name": "Literal", + "src": "11538:1:1" + } + ], + "id": 816, + "name": "BinaryOperation", + "src": "11500:39:1" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 718, + "type": "function (bytes32,address)", + "value": "cancelVoteInternal" + }, + "id": 817, + "name": "Identifier", + "src": "11556:18:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 756, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 818, + "name": "Identifier", + "src": "11575:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 758, + "type": "address", + "value": "_voter" + }, + "id": 819, + "name": "Identifier", + "src": "11588:6:1" + } + ], + "id": 820, + "name": "FunctionCall", + "src": "11556:39:1" + } + ], + "id": 821, + "name": "ExpressionStatement", + "src": "11556:39:1" + } + ], + "id": 822, + "name": "Block", + "src": "11541:66:1" + } + ], + "id": 823, + "name": "IfStatement", + "src": "11496:111:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 94, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 768, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 824, + "name": "Identifier", + "src": "11648:8:1" + } + ], + "id": 827, + "name": "MemberAccess", + "src": "11648:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 760, + "type": "uint256", + "value": "_vote" + }, + "id": 826, + "name": "Identifier", + "src": "11663:5:1" + } + ], + "id": 828, + "name": "IndexAccess", + "src": "11648:21:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 762, + "type": "uint256", + "value": "_rep" + }, + "id": 829, + "name": "Identifier", + "src": "11672:4:1" + } + ], + "id": 830, + "name": "MemberAccess", + "src": "11672:8:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 94, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 768, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 831, + "name": "Identifier", + "src": "11681:8:1" + } + ], + "id": 832, + "name": "MemberAccess", + "src": "11681:14:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 760, + "type": "uint256", + "value": "_vote" + }, + "id": 833, + "name": "Identifier", + "src": "11696:5:1" + } + ], + "id": 834, + "name": "IndexAccess", + "src": "11681:21:1" + } + ], + "id": 835, + "name": "FunctionCall", + "src": "11672:31:1" + } + ], + "id": 836, + "name": "Assignment", + "src": "11648:55:1" + } + ], + "id": 837, + "name": "ExpressionStatement", + "src": "11648:55:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "totalVotes", + "referencedDeclaration": 90, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 768, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 838, + "name": "Identifier", + "src": "11714:8:1" + } + ], + "id": 840, + "name": "MemberAccess", + "src": "11714:19:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 762, + "type": "uint256", + "value": "_rep" + }, + "id": 841, + "name": "Identifier", + "src": "11736:4:1" + } + ], + "id": 842, + "name": "MemberAccess", + "src": "11736:8:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalVotes", + "referencedDeclaration": 90, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 768, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 843, + "name": "Identifier", + "src": "11745:8:1" + } + ], + "id": 844, + "name": "MemberAccess", + "src": "11745:19:1" + } + ], + "id": 845, + "name": "FunctionCall", + "src": "11736:29:1" + } + ], + "id": 846, + "name": "Assignment", + "src": "11714:51:1" + } + ], + "id": 847, + "name": "ExpressionStatement", + "src": "11714:51:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct AbsoluteVote.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct AbsoluteVote.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voters", + "referencedDeclaration": 98, + "type": "mapping(address => struct AbsoluteVote.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 768, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 848, + "name": "Identifier", + "src": "11776:8:1" + } + ], + "id": 851, + "name": "MemberAccess", + "src": "11776:15:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 758, + "type": "address", + "value": "_voter" + }, + "id": 850, + "name": "Identifier", + "src": "11792:6:1" + } + ], + "id": 852, + "name": "IndexAccess", + "src": "11776:23:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "reputation", + "vote" + ], + "type": "struct AbsoluteVote.Voter memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 78, + "type": "type(struct AbsoluteVote.Voter storage pointer)", + "value": "Voter" + }, + "id": 853, + "name": "Identifier", + "src": "11802:5:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 762, + "type": "uint256", + "value": "_rep" + }, + "id": 854, + "name": "Identifier", + "src": "11835:4:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 760, + "type": "uint256", + "value": "_vote" + }, + "id": 855, + "name": "Identifier", + "src": "11860:5:1" + } + ], + "id": 856, + "name": "FunctionCall", + "src": "11802:75:1" + } + ], + "id": 857, + "name": "Assignment", + "src": "11776:101:1" + } + ], + "id": 858, + "name": "ExpressionStatement", + "src": "11776:101:1" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 133, + "type": "function (bytes32,address,uint256,uint256,bool)", + "value": "LogVoteProposal" + }, + "id": 859, + "name": "Identifier", + "src": "11907:15:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 756, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 860, + "name": "Identifier", + "src": "11923:11:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 758, + "type": "address", + "value": "_voter" + }, + "id": 861, + "name": "Identifier", + "src": "11936:6:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 760, + "type": "uint256", + "value": "_vote" + }, + "id": 862, + "name": "Identifier", + "src": "11944:5:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 788, + "type": "uint256", + "value": "reputation" + }, + "id": 863, + "name": "Identifier", + "src": "11951:10:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 758, + "type": "address", + "value": "_voter" + }, + "id": 864, + "name": "Identifier", + "src": "11964:6:1" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 865, + "name": "Identifier", + "src": "11974:3:1" + } + ], + "id": 866, + "name": "MemberAccess", + "src": "11974:10:1" + } + ], + "id": 867, + "name": "BinaryOperation", + "src": "11964:20:1" + } + ], + "id": 868, + "name": "TupleExpression", + "src": "11963:22:1" + } + ], + "id": 869, + "name": "FunctionCall", + "src": "11907:79:1" + } + ], + "id": 870, + "name": "ExpressionStatement", + "src": "11907:79:1" + }, + { + "attributes": { + "functionReturnParameters": 766 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 565 + ], + "referencedDeclaration": 565, + "type": "function (bytes32) returns (bool)", + "value": "execute" + }, + "id": 871, + "name": "Identifier", + "src": "12064:7:1" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 756, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 872, + "name": "Identifier", + "src": "12072:11:1" + } + ], + "id": 873, + "name": "FunctionCall", + "src": "12064:20:1" + } + ], + "id": 874, + "name": "Return", + "src": "12057:27:1" + } + ], + "id": 875, + "name": "Block", + "src": "10980:1112:1" + } + ], + "id": 876, + "name": "FunctionDefinition", + "src": "10876:1216:1" + } + ], + "id": 877, + "name": "ContractDefinition", + "src": "106:11989:1" + } + ], + "id": 878, + "name": "SourceUnit", + "src": "0:12097:1" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "42": { + "events": {}, + "links": {}, + "address": "0xaa32b39711341ba2341f24b58dd4a7ff287f3548" + }, + "1512051714758": { + "events": {}, + "links": {}, + "address": "0xa7d255a853a15b642f68fbea8efb1f2d71b4a205" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.925Z" +} \ No newline at end of file diff --git a/contracts/ActionInterface.json b/contracts/ActionInterface.json new file mode 100644 index 000000000..8b929fda2 --- /dev/null +++ b/contracts/ActionInterface.json @@ -0,0 +1,3976 @@ +{ + "contractName": "ActionInterface", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_params", + "type": "bytes32[]" + } + ], + "name": "action", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"./Controller.sol\";\r\nimport \"./Reputation.sol\";\r\nimport \"./DAOToken.sol\";\r\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\r\nimport \"zeppelin-solidity/contracts/token/StandardToken.sol\";\r\n\r\n\r\ncontract ActionInterface {\r\n function action(bytes32[] _params) public returns(bool);\r\n}\r\n\r\n\r\n/**\r\n * @title An Avatar holds tokens, reputation and ether for a controller\r\n */\r\ncontract Avatar is Ownable {\r\n bytes32 public orgName;\r\n DAOToken public nativeToken;\r\n Reputation public nativeReputation;\r\n\r\n event GenericAction(address indexed _action, bytes32[] _params);\r\n event SendEther(uint _amountInWei, address indexed _to);\r\n event ExternalTokenTransfer(address indexed _externalToken, address indexed _to, uint _value);\r\n event ExternalTokenTransferFrom(address indexed _externalToken, address _from, address _to, uint _value);\r\n event ExternalTokenIncreaseApproval(StandardToken indexed _externalToken, address _spender, uint _addedValue);\r\n event ExternalTokenDecreaseApproval(StandardToken indexed _externalToken, address _spender, uint _subtractedValue);\r\n event ReceiveEther(address indexed _sender, uint _value);\r\n\r\n /**\r\n * @dev the constructor takes organization name, native token and reputation system\r\n and creates an avatar for a controller\r\n */\r\n function Avatar(bytes32 _orgName, DAOToken _nativeToken, Reputation _nativeReputation) public {\r\n orgName = _orgName;\r\n nativeToken = _nativeToken;\r\n nativeReputation = _nativeReputation;\r\n }\r\n\r\n /**\r\n * @dev enables an avatar to receive ethers\r\n */\r\n function() public payable {\r\n ReceiveEther(msg.sender, msg.value);\r\n }\r\n\r\n /**\r\n * @dev call an action function on an ActionInterface.\r\n * This function use deligatecall and might expose the organization to security\r\n * risk. Use this function only if you really knows what you are doing.\r\n * @param _action the address of the contract to call.\r\n * @param _params the params for the call.\r\n * @return bool which represents success\r\n */\r\n function genericAction(address _action, bytes32[] _params)\r\n public onlyOwner returns(bool)\r\n {\r\n GenericAction(_action, _params);\r\n\r\n return _action.delegatecall(bytes4(keccak256(\"action(bytes32[])\")),\r\n uint256(32),// length of length of the array\r\n uint256(_params.length), // length of the array\r\n _params); // array itself);\r\n }\r\n\r\n /**\r\n * @dev send ethers from the avatar's wallet\r\n * @param _amountInWei amount to send in Wei units\r\n * @param _to send the ethers to this address\r\n * @return bool which represents success\r\n */\r\n function sendEther(uint _amountInWei, address _to) public onlyOwner returns(bool) {\r\n _to.transfer(_amountInWei);\r\n SendEther(_amountInWei, _to);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev external token transfer\r\n * @param _externalToken the token contract\r\n * @param _to the destination address\r\n * @param _value the amount of tokens to transfer\r\n * @return bool which represents success\r\n */\r\n function externalTokenTransfer(StandardToken _externalToken, address _to, uint _value)\r\n public onlyOwner returns(bool)\r\n {\r\n _externalToken.transfer(_to, _value);\r\n ExternalTokenTransfer(_externalToken, _to, _value);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev external token transfer from a specific account\r\n * @param _externalToken the token contract\r\n * @param _from the account to spend token from\r\n * @param _to the destination address\r\n * @param _value the amount of tokens to transfer\r\n * @return bool which represents success\r\n */\r\n function externalTokenTransferFrom(\r\n StandardToken _externalToken,\r\n address _from,\r\n address _to,\r\n uint _value\r\n )\r\n public onlyOwner returns(bool)\r\n {\r\n _externalToken.transferFrom(_from, _to, _value);\r\n ExternalTokenTransferFrom(_externalToken, _from, _to, _value);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev increase approval for the spender address to spend a specified amount of tokens\r\n * on behalf of msg.sender.\r\n * @param _externalToken the address of the Token Contract\r\n * @param _spender address\r\n * @param _addedValue the amount of ether (in Wei) which the approval is refering to.\r\n * @return bool which represents a success\r\n */\r\n function externalTokenIncreaseApproval(StandardToken _externalToken, address _spender, uint _addedValue)\r\n public onlyOwner returns(bool)\r\n {\r\n _externalToken.increaseApproval(_spender, _addedValue);\r\n ExternalTokenIncreaseApproval(_externalToken, _spender, _addedValue);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev decrease approval for the spender address to spend a specified amount of tokens\r\n * on behalf of msg.sender.\r\n * @param _externalToken the address of the Token Contract\r\n * @param _spender address\r\n * @param _subtractedValue the amount of ether (in Wei) which the approval is refering to.\r\n * @return bool which represents a success\r\n */\r\n function externalTokenDecreaseApproval(StandardToken _externalToken, address _spender, uint _subtractedValue )\r\n public onlyOwner returns(bool)\r\n {\r\n _externalToken.decreaseApproval(_spender, _subtractedValue);\r\n ExternalTokenDecreaseApproval(_externalToken,_spender, _subtractedValue);\r\n return true;\r\n }\r\n\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\controller\\Avatar.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Avatar.sol", + "exportedSymbols": { + "ActionInterface": [ + 2797 + ], + "Avatar": [ + 3072 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 2783, + "name": "PragmaDirective", + "src": "0:24:5" + }, + { + "attributes": { + "SourceUnit": 4158, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Controller.sol", + "file": "./Controller.sol", + "scope": 3073, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2784, + "name": "ImportDirective", + "src": "28:26:5" + }, + { + "attributes": { + "SourceUnit": 4358, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Reputation.sol", + "file": "./Reputation.sol", + "scope": 3073, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2785, + "name": "ImportDirective", + "src": "56:26:5" + }, + { + "attributes": { + "SourceUnit": 4193, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/DAOToken.sol", + "file": "./DAOToken.sol", + "scope": 3073, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2786, + "name": "ImportDirective", + "src": "84:24:5" + }, + { + "attributes": { + "SourceUnit": 9141, + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "scope": 3073, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2787, + "name": "ImportDirective", + "src": "110:59:5" + }, + { + "attributes": { + "SourceUnit": 9701, + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "file": "zeppelin-solidity/contracts/token/StandardToken.sol", + "scope": 3073, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2788, + "name": "ImportDirective", + "src": "171:61:5" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 2797 + ], + "name": "ActionInterface", + "scope": 3073 + }, + "children": [ + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "action", + "payable": false, + "scope": 2797, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 2796, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2789, + "name": "ElementaryTypeName", + "src": "286:7:5" + } + ], + "id": 2790, + "name": "ArrayTypeName", + "src": "286:9:5" + } + ], + "id": 2791, + "name": "VariableDeclaration", + "src": "286:17:5" + } + ], + "id": 2792, + "name": "ParameterList", + "src": "285:19:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2796, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2793, + "name": "ElementaryTypeName", + "src": "320:4:5" + } + ], + "id": 2794, + "name": "VariableDeclaration", + "src": "320:4:5" + } + ], + "id": 2795, + "name": "ParameterList", + "src": "319:6:5" + } + ], + "id": 2796, + "name": "FunctionDefinition", + "src": "270:56:5" + } + ], + "id": 2797, + "name": "ContractDefinition", + "src": "238:91:5" + }, + { + "attributes": { + "contractDependencies": [ + 9140 + ], + "contractKind": "contract", + "documentation": "@title An Avatar holds tokens, reputation and ether for a controller\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 3072, + 9140 + ], + "name": "Avatar", + "scope": 3073 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 9140, + "type": "contract Ownable" + }, + "id": 2798, + "name": "UserDefinedTypeName", + "src": "437:7:5" + } + ], + "id": 2799, + "name": "InheritanceSpecifier", + "src": "437:7:5" + }, + { + "attributes": { + "constant": false, + "name": "orgName", + "scope": 3072, + "stateVariable": true, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2800, + "name": "ElementaryTypeName", + "src": "452:7:5" + } + ], + "id": 2801, + "name": "VariableDeclaration", + "src": "452:22:5" + }, + { + "attributes": { + "constant": false, + "name": "nativeToken", + "scope": 3072, + "stateVariable": true, + "storageLocation": "default", + "type": "contract DAOToken", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "DAOToken", + "referencedDeclaration": 4192, + "type": "contract DAOToken" + }, + "id": 2802, + "name": "UserDefinedTypeName", + "src": "481:8:5" + } + ], + "id": 2803, + "name": "VariableDeclaration", + "src": "481:27:5" + }, + { + "attributes": { + "constant": false, + "name": "nativeReputation", + "scope": 3072, + "stateVariable": true, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 2804, + "name": "UserDefinedTypeName", + "src": "515:10:5" + } + ], + "id": 2805, + "name": "VariableDeclaration", + "src": "515:34:5" + }, + { + "attributes": { + "anonymous": false, + "name": "GenericAction" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_action", + "scope": 2812, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2806, + "name": "ElementaryTypeName", + "src": "578:7:5" + } + ], + "id": 2807, + "name": "VariableDeclaration", + "src": "578:23:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_params", + "scope": 2812, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2808, + "name": "ElementaryTypeName", + "src": "603:7:5" + } + ], + "id": 2809, + "name": "ArrayTypeName", + "src": "603:9:5" + } + ], + "id": 2810, + "name": "VariableDeclaration", + "src": "603:17:5" + } + ], + "id": 2811, + "name": "ParameterList", + "src": "577:44:5" + } + ], + "id": 2812, + "name": "EventDefinition", + "src": "558:64:5" + }, + { + "attributes": { + "anonymous": false, + "name": "SendEther" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_amountInWei", + "scope": 2818, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2813, + "name": "ElementaryTypeName", + "src": "644:4:5" + } + ], + "id": 2814, + "name": "VariableDeclaration", + "src": "644:17:5" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_to", + "scope": 2818, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2815, + "name": "ElementaryTypeName", + "src": "663:7:5" + } + ], + "id": 2816, + "name": "VariableDeclaration", + "src": "663:19:5" + } + ], + "id": 2817, + "name": "ParameterList", + "src": "643:40:5" + } + ], + "id": 2818, + "name": "EventDefinition", + "src": "628:56:5" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenTransfer" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 2826, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2819, + "name": "ElementaryTypeName", + "src": "718:7:5" + } + ], + "id": 2820, + "name": "VariableDeclaration", + "src": "718:30:5" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_to", + "scope": 2826, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2821, + "name": "ElementaryTypeName", + "src": "750:7:5" + } + ], + "id": 2822, + "name": "VariableDeclaration", + "src": "750:19:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_value", + "scope": 2826, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2823, + "name": "ElementaryTypeName", + "src": "771:4:5" + } + ], + "id": 2824, + "name": "VariableDeclaration", + "src": "771:11:5" + } + ], + "id": 2825, + "name": "ParameterList", + "src": "717:66:5" + } + ], + "id": 2826, + "name": "EventDefinition", + "src": "690:94:5" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenTransferFrom" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 2836, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2827, + "name": "ElementaryTypeName", + "src": "822:7:5" + } + ], + "id": 2828, + "name": "VariableDeclaration", + "src": "822:30:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_from", + "scope": 2836, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2829, + "name": "ElementaryTypeName", + "src": "854:7:5" + } + ], + "id": 2830, + "name": "VariableDeclaration", + "src": "854:13:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_to", + "scope": 2836, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2831, + "name": "ElementaryTypeName", + "src": "869:7:5" + } + ], + "id": 2832, + "name": "VariableDeclaration", + "src": "869:11:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_value", + "scope": 2836, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2833, + "name": "ElementaryTypeName", + "src": "882:4:5" + } + ], + "id": 2834, + "name": "VariableDeclaration", + "src": "882:11:5" + } + ], + "id": 2835, + "name": "ParameterList", + "src": "821:73:5" + } + ], + "id": 2836, + "name": "EventDefinition", + "src": "790:105:5" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenIncreaseApproval" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 2844, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 2837, + "name": "UserDefinedTypeName", + "src": "937:13:5" + } + ], + "id": 2838, + "name": "VariableDeclaration", + "src": "937:36:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_spender", + "scope": 2844, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2839, + "name": "ElementaryTypeName", + "src": "975:7:5" + } + ], + "id": 2840, + "name": "VariableDeclaration", + "src": "975:16:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_addedValue", + "scope": 2844, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2841, + "name": "ElementaryTypeName", + "src": "993:4:5" + } + ], + "id": 2842, + "name": "VariableDeclaration", + "src": "993:16:5" + } + ], + "id": 2843, + "name": "ParameterList", + "src": "936:74:5" + } + ], + "id": 2844, + "name": "EventDefinition", + "src": "901:110:5" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenDecreaseApproval" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 2852, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 2845, + "name": "UserDefinedTypeName", + "src": "1053:13:5" + } + ], + "id": 2846, + "name": "VariableDeclaration", + "src": "1053:36:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_spender", + "scope": 2852, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2847, + "name": "ElementaryTypeName", + "src": "1091:7:5" + } + ], + "id": 2848, + "name": "VariableDeclaration", + "src": "1091:16:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_subtractedValue", + "scope": 2852, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2849, + "name": "ElementaryTypeName", + "src": "1109:4:5" + } + ], + "id": 2850, + "name": "VariableDeclaration", + "src": "1109:21:5" + } + ], + "id": 2851, + "name": "ParameterList", + "src": "1052:79:5" + } + ], + "id": 2852, + "name": "EventDefinition", + "src": "1017:115:5" + }, + { + "attributes": { + "anonymous": false, + "name": "ReceiveEther" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 2858, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2853, + "name": "ElementaryTypeName", + "src": "1157:7:5" + } + ], + "id": 2854, + "name": "VariableDeclaration", + "src": "1157:23:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_value", + "scope": 2858, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2855, + "name": "ElementaryTypeName", + "src": "1182:4:5" + } + ], + "id": 2856, + "name": "VariableDeclaration", + "src": "1182:11:5" + } + ], + "id": 2857, + "name": "ParameterList", + "src": "1156:38:5" + } + ], + "id": 2858, + "name": "EventDefinition", + "src": "1138:57:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Avatar", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_orgName", + "scope": 2880, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2859, + "name": "ElementaryTypeName", + "src": "1368:7:5" + } + ], + "id": 2860, + "name": "VariableDeclaration", + "src": "1368:16:5" + }, + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 2880, + "stateVariable": false, + "storageLocation": "default", + "type": "contract DAOToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "DAOToken", + "referencedDeclaration": 4192, + "type": "contract DAOToken" + }, + "id": 2861, + "name": "UserDefinedTypeName", + "src": "1386:8:5" + } + ], + "id": 2862, + "name": "VariableDeclaration", + "src": "1386:21:5" + }, + { + "attributes": { + "constant": false, + "name": "_nativeReputation", + "scope": 2880, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 2863, + "name": "UserDefinedTypeName", + "src": "1409:10:5" + } + ], + "id": 2864, + "name": "VariableDeclaration", + "src": "1409:28:5" + } + ], + "id": 2865, + "name": "ParameterList", + "src": "1367:71:5" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 2866, + "name": "ParameterList", + "src": "1446:0:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2801, + "type": "bytes32", + "value": "orgName" + }, + "id": 2867, + "name": "Identifier", + "src": "1457:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2860, + "type": "bytes32", + "value": "_orgName" + }, + "id": 2868, + "name": "Identifier", + "src": "1467:8:5" + } + ], + "id": 2869, + "name": "Assignment", + "src": "1457:18:5" + } + ], + "id": 2870, + "name": "ExpressionStatement", + "src": "1457:18:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract DAOToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2803, + "type": "contract DAOToken", + "value": "nativeToken" + }, + "id": 2871, + "name": "Identifier", + "src": "1486:11:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2862, + "type": "contract DAOToken", + "value": "_nativeToken" + }, + "id": 2872, + "name": "Identifier", + "src": "1500:12:5" + } + ], + "id": 2873, + "name": "Assignment", + "src": "1486:26:5" + } + ], + "id": 2874, + "name": "ExpressionStatement", + "src": "1486:26:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract Reputation" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2805, + "type": "contract Reputation", + "value": "nativeReputation" + }, + "id": 2875, + "name": "Identifier", + "src": "1523:16:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2864, + "type": "contract Reputation", + "value": "_nativeReputation" + }, + "id": 2876, + "name": "Identifier", + "src": "1542:17:5" + } + ], + "id": 2877, + "name": "Assignment", + "src": "1523:36:5" + } + ], + "id": 2878, + "name": "ExpressionStatement", + "src": "1523:36:5" + } + ], + "id": 2879, + "name": "Block", + "src": "1446:121:5" + } + ], + "id": 2880, + "name": "FunctionDefinition", + "src": "1352:215:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 3072, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 2881, + "name": "ParameterList", + "src": "1648:2:5" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 2882, + "name": "ParameterList", + "src": "1666:0:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2858, + "type": "function (address,uint256)", + "value": "ReceiveEther" + }, + "id": 2883, + "name": "Identifier", + "src": "1677:12:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 2884, + "name": "Identifier", + "src": "1690:3:5" + } + ], + "id": 2885, + "name": "MemberAccess", + "src": "1690:10:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 2886, + "name": "Identifier", + "src": "1702:3:5" + } + ], + "id": 2887, + "name": "MemberAccess", + "src": "1702:9:5" + } + ], + "id": 2888, + "name": "FunctionCall", + "src": "1677:35:5" + } + ], + "id": 2889, + "name": "ExpressionStatement", + "src": "1677:35:5" + } + ], + "id": 2890, + "name": "Block", + "src": "1666:54:5" + } + ], + "id": 2891, + "name": "FunctionDefinition", + "src": "1640:80:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "genericAction", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_action", + "scope": 2926, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2892, + "name": "ElementaryTypeName", + "src": "2138:7:5" + } + ], + "id": 2893, + "name": "VariableDeclaration", + "src": "2138:15:5" + }, + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 2926, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2894, + "name": "ElementaryTypeName", + "src": "2155:7:5" + } + ], + "id": 2895, + "name": "ArrayTypeName", + "src": "2155:9:5" + } + ], + "id": 2896, + "name": "VariableDeclaration", + "src": "2155:17:5" + } + ], + "id": 2897, + "name": "ParameterList", + "src": "2137:36:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2926, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2900, + "name": "ElementaryTypeName", + "src": "2204:4:5" + } + ], + "id": 2901, + "name": "VariableDeclaration", + "src": "2204:4:5" + } + ], + "id": 2902, + "name": "ParameterList", + "src": "2203:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 2898, + "name": "Identifier", + "src": "2186:9:5" + } + ], + "id": 2899, + "name": "ModifierInvocation", + "src": "2186:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2812, + "type": "function (address,bytes32[] memory)", + "value": "GenericAction" + }, + "id": 2903, + "name": "Identifier", + "src": "2226:13:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2893, + "type": "address", + "value": "_action" + }, + "id": 2904, + "name": "Identifier", + "src": "2240:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2896, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 2905, + "name": "Identifier", + "src": "2249:7:5" + } + ], + "id": 2906, + "name": "FunctionCall", + "src": "2226:31:5" + } + ], + "id": 2907, + "name": "ExpressionStatement", + "src": "2226:31:5" + }, + { + "attributes": { + "functionReturnParameters": 2902 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "delegatecall", + "referencedDeclaration": null, + "type": "function () returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2893, + "type": "address", + "value": "_action" + }, + "id": 2908, + "name": "Identifier", + "src": "2277:7:5" + } + ], + "id": 2909, + "name": "MemberAccess", + "src": "2277:20:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 2910, + "name": "ElementaryTypeNameExpression", + "src": "2298:6:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7ff4b6301c72901450252ee5e8584376c615d5c87d4c0b2d9dafc6024e2589a0", + "typeString": "literal_string \"action(bytes32[])\"" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 2911, + "name": "Identifier", + "src": "2305:9:5" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "616374696f6e28627974657333325b5d29", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"action(bytes32[])\"", + "value": "action(bytes32[])" + }, + "id": 2912, + "name": "Literal", + "src": "2315:19:5" + } + ], + "id": 2913, + "name": "FunctionCall", + "src": "2305:30:5" + } + ], + "id": 2914, + "name": "FunctionCall", + "src": "2298:38:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(uint256)", + "value": "uint256" + }, + "id": 2915, + "name": "ElementaryTypeNameExpression", + "src": "2347:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3332", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 32", + "value": "32" + }, + "id": 2916, + "name": "Literal", + "src": "2355:2:5" + } + ], + "id": 2917, + "name": "FunctionCall", + "src": "2347:11:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(uint256)", + "value": "uint256" + }, + "id": 2918, + "name": "ElementaryTypeNameExpression", + "src": "2401:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2896, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 2919, + "name": "Identifier", + "src": "2409:7:5" + } + ], + "id": 2920, + "name": "MemberAccess", + "src": "2409:14:5" + } + ], + "id": 2921, + "name": "FunctionCall", + "src": "2401:23:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2896, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 2922, + "name": "Identifier", + "src": "2458:7:5" + } + ], + "id": 2923, + "name": "FunctionCall", + "src": "2277:189:5" + } + ], + "id": 2924, + "name": "Return", + "src": "2270:196:5" + } + ], + "id": 2925, + "name": "Block", + "src": "2215:293:5" + } + ], + "id": 2926, + "name": "FunctionDefinition", + "src": "2115:393:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "sendEther", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_amountInWei", + "scope": 2951, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2927, + "name": "ElementaryTypeName", + "src": "2751:4:5" + } + ], + "id": 2928, + "name": "VariableDeclaration", + "src": "2751:17:5" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 2951, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2929, + "name": "ElementaryTypeName", + "src": "2770:7:5" + } + ], + "id": 2930, + "name": "VariableDeclaration", + "src": "2770:11:5" + } + ], + "id": 2931, + "name": "ParameterList", + "src": "2750:32:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2951, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2934, + "name": "ElementaryTypeName", + "src": "2808:4:5" + } + ], + "id": 2935, + "name": "VariableDeclaration", + "src": "2808:4:5" + } + ], + "id": 2936, + "name": "ParameterList", + "src": "2807:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 2932, + "name": "Identifier", + "src": "2790:9:5" + } + ], + "id": 2933, + "name": "ModifierInvocation", + "src": "2790:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": null, + "type": "function (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2930, + "type": "address", + "value": "_to" + }, + "id": 2937, + "name": "Identifier", + "src": "2825:3:5" + } + ], + "id": 2939, + "name": "MemberAccess", + "src": "2825:12:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2928, + "type": "uint256", + "value": "_amountInWei" + }, + "id": 2940, + "name": "Identifier", + "src": "2838:12:5" + } + ], + "id": 2941, + "name": "FunctionCall", + "src": "2825:26:5" + } + ], + "id": 2942, + "name": "ExpressionStatement", + "src": "2825:26:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2818, + "type": "function (uint256,address)", + "value": "SendEther" + }, + "id": 2943, + "name": "Identifier", + "src": "2862:9:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2928, + "type": "uint256", + "value": "_amountInWei" + }, + "id": 2944, + "name": "Identifier", + "src": "2872:12:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2930, + "type": "address", + "value": "_to" + }, + "id": 2945, + "name": "Identifier", + "src": "2886:3:5" + } + ], + "id": 2946, + "name": "FunctionCall", + "src": "2862:28:5" + } + ], + "id": 2947, + "name": "ExpressionStatement", + "src": "2862:28:5" + }, + { + "attributes": { + "functionReturnParameters": 2936 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 2948, + "name": "Literal", + "src": "2908:4:5" + } + ], + "id": 2949, + "name": "Return", + "src": "2901:11:5" + } + ], + "id": 2950, + "name": "Block", + "src": "2814:106:5" + } + ], + "id": 2951, + "name": "FunctionDefinition", + "src": "2732:188:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenTransfer", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 2980, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 2952, + "name": "UserDefinedTypeName", + "src": "3201:13:5" + } + ], + "id": 2953, + "name": "VariableDeclaration", + "src": "3201:28:5" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 2980, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2954, + "name": "ElementaryTypeName", + "src": "3231:7:5" + } + ], + "id": 2955, + "name": "VariableDeclaration", + "src": "3231:11:5" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 2980, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2956, + "name": "ElementaryTypeName", + "src": "3244:4:5" + } + ], + "id": 2957, + "name": "VariableDeclaration", + "src": "3244:11:5" + } + ], + "id": 2958, + "name": "ParameterList", + "src": "3200:56:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2980, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2961, + "name": "ElementaryTypeName", + "src": "3287:4:5" + } + ], + "id": 2962, + "name": "VariableDeclaration", + "src": "3287:4:5" + } + ], + "id": 2963, + "name": "ParameterList", + "src": "3286:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 2959, + "name": "Identifier", + "src": "3269:9:5" + } + ], + "id": 2960, + "name": "ModifierInvocation", + "src": "3269:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 9213, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2953, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 2964, + "name": "Identifier", + "src": "3309:14:5" + } + ], + "id": 2966, + "name": "MemberAccess", + "src": "3309:23:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2955, + "type": "address", + "value": "_to" + }, + "id": 2967, + "name": "Identifier", + "src": "3333:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2957, + "type": "uint256", + "value": "_value" + }, + "id": 2968, + "name": "Identifier", + "src": "3338:6:5" + } + ], + "id": 2969, + "name": "FunctionCall", + "src": "3309:36:5" + } + ], + "id": 2970, + "name": "ExpressionStatement", + "src": "3309:36:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2826, + "type": "function (address,address,uint256)", + "value": "ExternalTokenTransfer" + }, + "id": 2971, + "name": "Identifier", + "src": "3356:21:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2953, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 2972, + "name": "Identifier", + "src": "3378:14:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2955, + "type": "address", + "value": "_to" + }, + "id": 2973, + "name": "Identifier", + "src": "3394:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2957, + "type": "uint256", + "value": "_value" + }, + "id": 2974, + "name": "Identifier", + "src": "3399:6:5" + } + ], + "id": 2975, + "name": "FunctionCall", + "src": "3356:50:5" + } + ], + "id": 2976, + "name": "ExpressionStatement", + "src": "3356:50:5" + }, + { + "attributes": { + "functionReturnParameters": 2963 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 2977, + "name": "Literal", + "src": "3424:4:5" + } + ], + "id": 2978, + "name": "Return", + "src": "3417:11:5" + } + ], + "id": 2979, + "name": "Block", + "src": "3298:138:5" + } + ], + "id": 2980, + "name": "FunctionDefinition", + "src": "3170:266:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenTransferFrom", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 3013, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 2981, + "name": "UserDefinedTypeName", + "src": "3807:13:5" + } + ], + "id": 2982, + "name": "VariableDeclaration", + "src": "3807:28:5" + }, + { + "attributes": { + "constant": false, + "name": "_from", + "scope": 3013, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2983, + "name": "ElementaryTypeName", + "src": "3846:7:5" + } + ], + "id": 2984, + "name": "VariableDeclaration", + "src": "3846:13:5" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 3013, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2985, + "name": "ElementaryTypeName", + "src": "3870:7:5" + } + ], + "id": 2986, + "name": "VariableDeclaration", + "src": "3870:11:5" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 3013, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2987, + "name": "ElementaryTypeName", + "src": "3892:4:5" + } + ], + "id": 2988, + "name": "VariableDeclaration", + "src": "3892:11:5" + } + ], + "id": 2989, + "name": "ParameterList", + "src": "3796:114:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3013, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2992, + "name": "ElementaryTypeName", + "src": "3941:4:5" + } + ], + "id": 2993, + "name": "VariableDeclaration", + "src": "3941:4:5" + } + ], + "id": 2994, + "name": "ParameterList", + "src": "3940:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 2990, + "name": "Identifier", + "src": "3923:9:5" + } + ], + "id": 2991, + "name": "ModifierInvocation", + "src": "3923:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferFrom", + "referencedDeclaration": 9554, + "type": "function (address,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2982, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 2995, + "name": "Identifier", + "src": "3963:14:5" + } + ], + "id": 2997, + "name": "MemberAccess", + "src": "3963:27:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2984, + "type": "address", + "value": "_from" + }, + "id": 2998, + "name": "Identifier", + "src": "3991:5:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2986, + "type": "address", + "value": "_to" + }, + "id": 2999, + "name": "Identifier", + "src": "3998:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2988, + "type": "uint256", + "value": "_value" + }, + "id": 3000, + "name": "Identifier", + "src": "4003:6:5" + } + ], + "id": 3001, + "name": "FunctionCall", + "src": "3963:47:5" + } + ], + "id": 3002, + "name": "ExpressionStatement", + "src": "3963:47:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2836, + "type": "function (address,address,address,uint256)", + "value": "ExternalTokenTransferFrom" + }, + "id": 3003, + "name": "Identifier", + "src": "4021:25:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2982, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 3004, + "name": "Identifier", + "src": "4047:14:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2984, + "type": "address", + "value": "_from" + }, + "id": 3005, + "name": "Identifier", + "src": "4063:5:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2986, + "type": "address", + "value": "_to" + }, + "id": 3006, + "name": "Identifier", + "src": "4070:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2988, + "type": "uint256", + "value": "_value" + }, + "id": 3007, + "name": "Identifier", + "src": "4075:6:5" + } + ], + "id": 3008, + "name": "FunctionCall", + "src": "4021:61:5" + } + ], + "id": 3009, + "name": "ExpressionStatement", + "src": "4021:61:5" + }, + { + "attributes": { + "functionReturnParameters": 2994 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3010, + "name": "Literal", + "src": "4100:4:5" + } + ], + "id": 3011, + "name": "Return", + "src": "4093:11:5" + } + ], + "id": 3012, + "name": "Block", + "src": "3952:160:5" + } + ], + "id": 3013, + "name": "FunctionDefinition", + "src": "3762:350:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenIncreaseApproval", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 3042, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 3014, + "name": "UserDefinedTypeName", + "src": "4536:13:5" + } + ], + "id": 3015, + "name": "VariableDeclaration", + "src": "4536:28:5" + }, + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 3042, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3016, + "name": "ElementaryTypeName", + "src": "4566:7:5" + } + ], + "id": 3017, + "name": "VariableDeclaration", + "src": "4566:16:5" + }, + { + "attributes": { + "constant": false, + "name": "_addedValue", + "scope": 3042, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3018, + "name": "ElementaryTypeName", + "src": "4584:4:5" + } + ], + "id": 3019, + "name": "VariableDeclaration", + "src": "4584:16:5" + } + ], + "id": 3020, + "name": "ParameterList", + "src": "4535:66:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3042, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3023, + "name": "ElementaryTypeName", + "src": "4632:4:5" + } + ], + "id": 3024, + "name": "VariableDeclaration", + "src": "4632:4:5" + } + ], + "id": 3025, + "name": "ParameterList", + "src": "4631:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 3021, + "name": "Identifier", + "src": "4614:9:5" + } + ], + "id": 3022, + "name": "ModifierInvocation", + "src": "4614:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "increaseApproval", + "referencedDeclaration": 9639, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3015, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 3026, + "name": "Identifier", + "src": "4654:14:5" + } + ], + "id": 3028, + "name": "MemberAccess", + "src": "4654:31:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3017, + "type": "address", + "value": "_spender" + }, + "id": 3029, + "name": "Identifier", + "src": "4686:8:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3019, + "type": "uint256", + "value": "_addedValue" + }, + "id": 3030, + "name": "Identifier", + "src": "4696:11:5" + } + ], + "id": 3031, + "name": "FunctionCall", + "src": "4654:54:5" + } + ], + "id": 3032, + "name": "ExpressionStatement", + "src": "4654:54:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2844, + "type": "function (contract StandardToken,address,uint256)", + "value": "ExternalTokenIncreaseApproval" + }, + "id": 3033, + "name": "Identifier", + "src": "4719:29:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3015, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 3034, + "name": "Identifier", + "src": "4749:14:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3017, + "type": "address", + "value": "_spender" + }, + "id": 3035, + "name": "Identifier", + "src": "4765:8:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3019, + "type": "uint256", + "value": "_addedValue" + }, + "id": 3036, + "name": "Identifier", + "src": "4775:11:5" + } + ], + "id": 3037, + "name": "FunctionCall", + "src": "4719:68:5" + } + ], + "id": 3038, + "name": "ExpressionStatement", + "src": "4719:68:5" + }, + { + "attributes": { + "functionReturnParameters": 3025 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3039, + "name": "Literal", + "src": "4805:4:5" + } + ], + "id": 3040, + "name": "Return", + "src": "4798:11:5" + } + ], + "id": 3041, + "name": "Block", + "src": "4643:174:5" + } + ], + "id": 3042, + "name": "FunctionDefinition", + "src": "4497:320:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenDecreaseApproval", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 3071, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 3043, + "name": "UserDefinedTypeName", + "src": "5246:13:5" + } + ], + "id": 3044, + "name": "VariableDeclaration", + "src": "5246:28:5" + }, + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 3071, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3045, + "name": "ElementaryTypeName", + "src": "5276:7:5" + } + ], + "id": 3046, + "name": "VariableDeclaration", + "src": "5276:16:5" + }, + { + "attributes": { + "constant": false, + "name": "_subtractedValue", + "scope": 3071, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3047, + "name": "ElementaryTypeName", + "src": "5294:4:5" + } + ], + "id": 3048, + "name": "VariableDeclaration", + "src": "5294:21:5" + } + ], + "id": 3049, + "name": "ParameterList", + "src": "5245:72:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3071, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3052, + "name": "ElementaryTypeName", + "src": "5348:4:5" + } + ], + "id": 3053, + "name": "VariableDeclaration", + "src": "5348:4:5" + } + ], + "id": 3054, + "name": "ParameterList", + "src": "5347:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 3050, + "name": "Identifier", + "src": "5330:9:5" + } + ], + "id": 3051, + "name": "ModifierInvocation", + "src": "5330:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "decreaseApproval", + "referencedDeclaration": 9699, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3044, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 3055, + "name": "Identifier", + "src": "5370:14:5" + } + ], + "id": 3057, + "name": "MemberAccess", + "src": "5370:31:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3046, + "type": "address", + "value": "_spender" + }, + "id": 3058, + "name": "Identifier", + "src": "5402:8:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3048, + "type": "uint256", + "value": "_subtractedValue" + }, + "id": 3059, + "name": "Identifier", + "src": "5412:16:5" + } + ], + "id": 3060, + "name": "FunctionCall", + "src": "5370:59:5" + } + ], + "id": 3061, + "name": "ExpressionStatement", + "src": "5370:59:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2852, + "type": "function (contract StandardToken,address,uint256)", + "value": "ExternalTokenDecreaseApproval" + }, + "id": 3062, + "name": "Identifier", + "src": "5440:29:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3044, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 3063, + "name": "Identifier", + "src": "5470:14:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3046, + "type": "address", + "value": "_spender" + }, + "id": 3064, + "name": "Identifier", + "src": "5485:8:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3048, + "type": "uint256", + "value": "_subtractedValue" + }, + "id": 3065, + "name": "Identifier", + "src": "5495:16:5" + } + ], + "id": 3066, + "name": "FunctionCall", + "src": "5440:72:5" + } + ], + "id": 3067, + "name": "ExpressionStatement", + "src": "5440:72:5" + }, + { + "attributes": { + "functionReturnParameters": 3054 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3068, + "name": "Literal", + "src": "5530:4:5" + } + ], + "id": 3069, + "name": "Return", + "src": "5523:11:5" + } + ], + "id": 3070, + "name": "Block", + "src": "5359:183:5" + } + ], + "id": 3071, + "name": "FunctionDefinition", + "src": "5207:335:5" + } + ], + "id": 3072, + "name": "ContractDefinition", + "src": "418:5129:5" + } + ], + "id": 3073, + "name": "SourceUnit", + "src": "0:5549:5" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.827Z" +} \ No newline at end of file diff --git a/contracts/ActionMock.json b/contracts/ActionMock.json new file mode 100644 index 000000000..8ad85a6ca --- /dev/null +++ b/contracts/ActionMock.json @@ -0,0 +1,765 @@ +{ + "contractName": "ActionMock", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "avatar", + "type": "address" + }, + { + "name": "params", + "type": "bytes32[]" + } + ], + "name": "genericAction", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "params", + "type": "bytes32[]" + } + ], + "name": "action", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_sender", + "type": "address" + }, + { + "indexed": false, + "name": "_param", + "type": "bytes32" + } + ], + "name": "Action", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6102c68061001e6000396000f30060606040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ce15a5481146100505780637ff4b630146100ce575b600080fd5b341561005b57600080fd5b6100ba6004803573ffffffffffffffffffffffffffffffffffffffff1690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965061011d95505050505050565b604051901515815260200160405180910390f35b34156100d957600080fd5b6100ba600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061022995505050505050565b60008273ffffffffffffffffffffffffffffffffffffffff16636ce15a5430846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156101e35780820151838201526020016101cb565b505050509050019350505050602060405180830381600087803b151561020857600080fd5b6102c65a03f1151561021957600080fd5b5050506040518051949350505050565b60007f38986d52282e94f11fdf413d0c6cb2f89ce3ef8986c7e800152f440db2bcbfb2338360008151811061025a57fe5b9060200190602002015160405173ffffffffffffffffffffffffffffffffffffffff909216825260208201526040908101905180910390a15060019190505600a165627a7a72305820eccac788d01130f16fc9084a67b173f7d85b64c05a302e8c9fc712646b8c768f0029", + "deployedBytecode": "0x60606040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416636ce15a5481146100505780637ff4b630146100ce575b600080fd5b341561005b57600080fd5b6100ba6004803573ffffffffffffffffffffffffffffffffffffffff1690604460248035908101908301358060208082020160405190810160405280939291908181526020018383602002808284375094965061011d95505050505050565b604051901515815260200160405180910390f35b34156100d957600080fd5b6100ba600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061022995505050505050565b60008273ffffffffffffffffffffffffffffffffffffffff16636ce15a5430846000604051602001526040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156101e35780820151838201526020016101cb565b505050509050019350505050602060405180830381600087803b151561020857600080fd5b6102c65a03f1151561021957600080fd5b5050506040518051949350505050565b60007f38986d52282e94f11fdf413d0c6cb2f89ce3ef8986c7e800152f440db2bcbfb2338360008151811061025a57fe5b9060200190602002015160405173ffffffffffffffffffffffffffffffffffffffff909216825260208201526040908101905180910390a15060019190505600a165627a7a72305820eccac788d01130f16fc9084a67b173f7d85b64c05a302e8c9fc712646b8c768f0029", + "sourceMap": "68:382:11:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "68:382:11:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;301:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;301:144:11;;-1:-1:-1;301:144:11;;-1:-1:-1;;;;;;301:144:11;;;;;;;;;;;;;;;;;;169:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;169:124:11;;-1:-1:-1;169:124:11;;-1:-1:-1;;;;;;169:124:11;301:144;371:4;395:6;:20;;;424:4;430:6;395:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;301:144:11;-1:-1:-1;;;;301:144:11:o;169:124::-;218:4;235:28;242:10;253:6;260:1;253:9;;;;;;;;;;;;;;;;235:28;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;281:4:11;169:124;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../controller/Avatar.sol\";\r\n\r\n\r\ncontract ActionMock is ActionInterface {\r\n\r\n event Action(address _sender,bytes32 _param);\r\n\r\n function action(bytes32[] params) public returns(bool) {\r\n Action(msg.sender,params[0]);\r\n return true;\r\n }\r\n\r\n function genericAction(Avatar avatar,bytes32[] params) public returns(bool) {\r\n return avatar.genericAction(address(this),params);\r\n }\r\n\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\test\\ActionMock.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/test/ActionMock.sol", + "exportedSymbols": { + "ActionMock": [ + 4548 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 4500, + "name": "PragmaDirective", + "src": "0:24:11" + }, + { + "attributes": { + "SourceUnit": 3073, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Avatar.sol", + "file": "../controller/Avatar.sol", + "scope": 4549, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4501, + "name": "ImportDirective", + "src": "28:34:11" + }, + { + "attributes": { + "contractDependencies": [ + 2797 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 4548, + 2797 + ], + "name": "ActionMock", + "scope": 4549 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ActionInterface", + "referencedDeclaration": 2797, + "type": "contract ActionInterface" + }, + "id": 4502, + "name": "UserDefinedTypeName", + "src": "91:15:11" + } + ], + "id": 4503, + "name": "InheritanceSpecifier", + "src": "91:15:11" + }, + { + "attributes": { + "anonymous": false, + "name": "Action" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_sender", + "scope": 4509, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4504, + "name": "ElementaryTypeName", + "src": "129:7:11" + } + ], + "id": 4505, + "name": "VariableDeclaration", + "src": "129:15:11" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_param", + "scope": 4509, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4506, + "name": "ElementaryTypeName", + "src": "145:7:11" + } + ], + "id": 4507, + "name": "VariableDeclaration", + "src": "145:14:11" + } + ], + "id": 4508, + "name": "ParameterList", + "src": "128:32:11" + } + ], + "id": 4509, + "name": "EventDefinition", + "src": "116:45:11" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "action", + "payable": false, + "scope": 4548, + "stateMutability": "nonpayable", + "superFunction": 2796, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 4528, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4510, + "name": "ElementaryTypeName", + "src": "185:7:11" + } + ], + "id": 4511, + "name": "ArrayTypeName", + "src": "185:9:11" + } + ], + "id": 4512, + "name": "VariableDeclaration", + "src": "185:16:11" + } + ], + "id": 4513, + "name": "ParameterList", + "src": "184:18:11" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4528, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4514, + "name": "ElementaryTypeName", + "src": "218:4:11" + } + ], + "id": 4515, + "name": "VariableDeclaration", + "src": "218:4:11" + } + ], + "id": 4516, + "name": "ParameterList", + "src": "217:6:11" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4509, + "type": "function (address,bytes32)", + "value": "Action" + }, + "id": 4517, + "name": "Identifier", + "src": "235:6:11" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 4518, + "name": "Identifier", + "src": "242:3:11" + } + ], + "id": 4519, + "name": "MemberAccess", + "src": "242:10:11" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4512, + "type": "bytes32[] memory", + "value": "params" + }, + "id": 4520, + "name": "Identifier", + "src": "253:6:11" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4521, + "name": "Literal", + "src": "260:1:11" + } + ], + "id": 4522, + "name": "IndexAccess", + "src": "253:9:11" + } + ], + "id": 4523, + "name": "FunctionCall", + "src": "235:28:11" + } + ], + "id": 4524, + "name": "ExpressionStatement", + "src": "235:28:11" + }, + { + "attributes": { + "functionReturnParameters": 4516 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 4525, + "name": "Literal", + "src": "281:4:11" + } + ], + "id": 4526, + "name": "Return", + "src": "274:11:11" + } + ], + "id": 4527, + "name": "Block", + "src": "224:69:11" + } + ], + "id": 4528, + "name": "FunctionDefinition", + "src": "169:124:11" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "genericAction", + "payable": false, + "scope": 4548, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "avatar", + "scope": 4547, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 4529, + "name": "UserDefinedTypeName", + "src": "324:6:11" + } + ], + "id": 4530, + "name": "VariableDeclaration", + "src": "324:13:11" + }, + { + "attributes": { + "constant": false, + "name": "params", + "scope": 4547, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4531, + "name": "ElementaryTypeName", + "src": "338:7:11" + } + ], + "id": 4532, + "name": "ArrayTypeName", + "src": "338:9:11" + } + ], + "id": 4533, + "name": "VariableDeclaration", + "src": "338:16:11" + } + ], + "id": 4534, + "name": "ParameterList", + "src": "323:32:11" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4547, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4535, + "name": "ElementaryTypeName", + "src": "371:4:11" + } + ], + "id": 4536, + "name": "VariableDeclaration", + "src": "371:4:11" + } + ], + "id": 4537, + "name": "ParameterList", + "src": "370:6:11" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 4537 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "genericAction", + "referencedDeclaration": 2926, + "type": "function (address,bytes32[] memory) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4530, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 4538, + "name": "Identifier", + "src": "395:6:11" + } + ], + "id": 4539, + "name": "MemberAccess", + "src": "395:20:11" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ActionMock_$4548", + "typeString": "contract ActionMock" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 4540, + "name": "ElementaryTypeNameExpression", + "src": "416:7:11" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9795, + "type": "contract ActionMock", + "value": "this" + }, + "id": 4541, + "name": "Identifier", + "src": "424:4:11" + } + ], + "id": 4542, + "name": "FunctionCall", + "src": "416:13:11" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4533, + "type": "bytes32[] memory", + "value": "params" + }, + "id": 4543, + "name": "Identifier", + "src": "430:6:11" + } + ], + "id": 4544, + "name": "FunctionCall", + "src": "395:42:11" + } + ], + "id": 4545, + "name": "Return", + "src": "388:49:11" + } + ], + "id": 4546, + "name": "Block", + "src": "377:68:11" + } + ], + "id": 4547, + "name": "FunctionDefinition", + "src": "301:144:11" + } + ], + "id": 4548, + "name": "ContractDefinition", + "src": "68:382:11" + } + ], + "id": 4549, + "name": "SourceUnit", + "src": "0:452:11" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.857Z" +} \ No newline at end of file diff --git a/contracts/Avatar.json b/contracts/Avatar.json new file mode 100644 index 000000000..3942706b2 --- /dev/null +++ b/contracts/Avatar.json @@ -0,0 +1,4370 @@ +{ + "contractName": "Avatar", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "orgName", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_action", + "type": "address" + }, + { + "name": "_params", + "type": "bytes32[]" + } + ], + "name": "genericAction", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeReputation", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_externalToken", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "externalTokenIncreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_externalToken", + "type": "address" + }, + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "externalTokenTransferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amountInWei", + "type": "uint256" + }, + { + "name": "_to", + "type": "address" + } + ], + "name": "sendEther", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_externalToken", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "externalTokenDecreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_externalToken", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "externalTokenTransfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "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": "_orgName", + "type": "bytes32" + }, + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_nativeReputation", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_action", + "type": "address" + }, + { + "indexed": false, + "name": "_params", + "type": "bytes32[]" + } + ], + "name": "GenericAction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_amountInWei", + "type": "uint256" + }, + { + "indexed": true, + "name": "_to", + "type": "address" + } + ], + "name": "SendEther", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_externalToken", + "type": "address" + }, + { + "indexed": true, + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "name": "_value", + "type": "uint256" + } + ], + "name": "ExternalTokenTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_externalToken", + "type": "address" + }, + { + "indexed": false, + "name": "_from", + "type": "address" + }, + { + "indexed": false, + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "name": "_value", + "type": "uint256" + } + ], + "name": "ExternalTokenTransferFrom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_externalToken", + "type": "address" + }, + { + "indexed": false, + "name": "_spender", + "type": "address" + }, + { + "indexed": false, + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "ExternalTokenIncreaseApproval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_externalToken", + "type": "address" + }, + { + "indexed": false, + "name": "_spender", + "type": "address" + }, + { + "indexed": false, + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "ExternalTokenDecreaseApproval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": false, + "name": "_value", + "type": "uint256" + } + ], + "name": "ReceiveEther", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6040516060806109d583398101604052808051919060200180519190602001805160008054600160a060020a03338116600160a060020a031992831617909255600196909655600280549582169587169590951790945560038054949091169390941692909217909255505061094b8061008a6000396000f3006060604052600436106100955763ffffffff60e060020a6000350416631386dc2d81146100d45780636ce15a54146100f957806389ae1c901461016a5780638cf1355c146101995780638da5cb5b146101c1578063b756d5a2146101d4578063cb16d4a214610202578063d29ab9c414610224578063dab0efff1461024c578063e1758bd814610274578063f2fde38b14610287575b33600160a060020a03167ff32a9f77675fd5917534c7746608fd3e309eac68fbdcbf5925e24ca97a7043963460405190815260200160405180910390a2005b34156100df57600080fd5b6100e76102a8565b60405190815260200160405180910390f35b341561010457600080fd5b61015660048035600160a060020a03169060446024803590810190830135806020808202016040519081016040528093929190818152602001838360200280828437509496506102ae95505050505050565b604051901515815260200160405180910390f35b341561017557600080fd5b61017d610400565b604051600160a060020a03909116815260200160405180910390f35b34156101a457600080fd5b610156600160a060020a036004358116906024351660443561040f565b34156101cc57600080fd5b61017d6104fb565b34156101df57600080fd5b610156600160a060020a036004358116906024358116906044351660643561050a565b341561020d57600080fd5b610156600435600160a060020a0360243516610610565b341561022f57600080fd5b610156600160a060020a03600435811690602435166044356106a3565b341561025757600080fd5b610156600160a060020a036004358116906024351660443561078f565b341561027f57600080fd5b61017d610875565b341561029257600080fd5b6102a6600160a060020a0360043516610884565b005b60015481565b6000805433600160a060020a039081169116146102ca57600080fd5b82600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8360405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561033557808201518382015260200161031d565b505050509050019250505060405180910390a282600160a060020a03166040517f616374696f6e28627974657333325b5d290000000000000000000000000000008152601101604051809103902060e060020a900460208451856040518463ffffffff1660e060020a02815260040180848152602001838152602001828051906020019060200280838360005b838110156103da5780820151838201526020016103c2565b5050505090500193505050506000604051808303818661646e5a03f49695505050505050565b600354600160a060020a031681565b6000805433600160a060020a0390811691161461042b57600080fd5b83600160a060020a031663d73dd623848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561048857600080fd5b6102c65a03f1151561049957600080fd5b50505060405180515050600160a060020a0384167fbe7df27d98bd0614ae920a695c2c2be09c164d8456083da020a98538692c465f8484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461052657600080fd5b84600160a060020a03166323b872dd85858560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561059057600080fd5b6102c65a03f115156105a157600080fd5b50505060405180515050600160a060020a0385167f179c15de44aa7ab84896301974328eb40b5b40fe01cfe0fee2924ea712c3e843858585604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a2506001949350505050565b6000805433600160a060020a0390811691161461062c57600080fd5b600160a060020a03821683156108fc0284604051600060405180830381858888f19350505050151561065d57600080fd5b81600160a060020a03167f22fca66666089f39bc900dd6605b489df4aae6260cc8ea8257594cfb8c84926c8460405190815260200160405180910390a250600192915050565b6000805433600160a060020a039081169116146106bf57600080fd5b83600160a060020a03166366188463848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561071c57600080fd5b6102c65a03f1151561072d57600080fd5b50505060405180515050600160a060020a0384167f495e426dd61227fe840d969dfba17620c573364af8c37748ea71f96f744ae3348484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b6000805433600160a060020a039081169116146107ab57600080fd5b83600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561080857600080fd5b6102c65a03f1151561081957600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f49dc2a60d2599a7b6932d78fb694c30dfc596fe4e0282b5d0fd184b52472c04d8460405190815260200160405180910390a35060019392505050565b600254600160a060020a031681565b60005433600160a060020a0390811691161461089f57600080fd5b600160a060020a03811615156108b457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820786998839b4cbdb5de27a89e499d071bb45a6e91c521dbfe4500bd3b9d6741d90029", + "deployedBytecode": "0x6060604052600436106100955763ffffffff60e060020a6000350416631386dc2d81146100d45780636ce15a54146100f957806389ae1c901461016a5780638cf1355c146101995780638da5cb5b146101c1578063b756d5a2146101d4578063cb16d4a214610202578063d29ab9c414610224578063dab0efff1461024c578063e1758bd814610274578063f2fde38b14610287575b33600160a060020a03167ff32a9f77675fd5917534c7746608fd3e309eac68fbdcbf5925e24ca97a7043963460405190815260200160405180910390a2005b34156100df57600080fd5b6100e76102a8565b60405190815260200160405180910390f35b341561010457600080fd5b61015660048035600160a060020a03169060446024803590810190830135806020808202016040519081016040528093929190818152602001838360200280828437509496506102ae95505050505050565b604051901515815260200160405180910390f35b341561017557600080fd5b61017d610400565b604051600160a060020a03909116815260200160405180910390f35b34156101a457600080fd5b610156600160a060020a036004358116906024351660443561040f565b34156101cc57600080fd5b61017d6104fb565b34156101df57600080fd5b610156600160a060020a036004358116906024358116906044351660643561050a565b341561020d57600080fd5b610156600435600160a060020a0360243516610610565b341561022f57600080fd5b610156600160a060020a03600435811690602435166044356106a3565b341561025757600080fd5b610156600160a060020a036004358116906024351660443561078f565b341561027f57600080fd5b61017d610875565b341561029257600080fd5b6102a6600160a060020a0360043516610884565b005b60015481565b6000805433600160a060020a039081169116146102ca57600080fd5b82600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8360405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561033557808201518382015260200161031d565b505050509050019250505060405180910390a282600160a060020a03166040517f616374696f6e28627974657333325b5d290000000000000000000000000000008152601101604051809103902060e060020a900460208451856040518463ffffffff1660e060020a02815260040180848152602001838152602001828051906020019060200280838360005b838110156103da5780820151838201526020016103c2565b5050505090500193505050506000604051808303818661646e5a03f49695505050505050565b600354600160a060020a031681565b6000805433600160a060020a0390811691161461042b57600080fd5b83600160a060020a031663d73dd623848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561048857600080fd5b6102c65a03f1151561049957600080fd5b50505060405180515050600160a060020a0384167fbe7df27d98bd0614ae920a695c2c2be09c164d8456083da020a98538692c465f8484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461052657600080fd5b84600160a060020a03166323b872dd85858560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561059057600080fd5b6102c65a03f115156105a157600080fd5b50505060405180515050600160a060020a0385167f179c15de44aa7ab84896301974328eb40b5b40fe01cfe0fee2924ea712c3e843858585604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a2506001949350505050565b6000805433600160a060020a0390811691161461062c57600080fd5b600160a060020a03821683156108fc0284604051600060405180830381858888f19350505050151561065d57600080fd5b81600160a060020a03167f22fca66666089f39bc900dd6605b489df4aae6260cc8ea8257594cfb8c84926c8460405190815260200160405180910390a250600192915050565b6000805433600160a060020a039081169116146106bf57600080fd5b83600160a060020a03166366188463848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561071c57600080fd5b6102c65a03f1151561072d57600080fd5b50505060405180515050600160a060020a0384167f495e426dd61227fe840d969dfba17620c573364af8c37748ea71f96f744ae3348484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b6000805433600160a060020a039081169116146107ab57600080fd5b83600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561080857600080fd5b6102c65a03f1151561081957600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f49dc2a60d2599a7b6932d78fb694c30dfc596fe4e0282b5d0fd184b52472c04d8460405190815260200160405180910390a35060019392505050565b600254600160a060020a031681565b60005433600160a060020a0390811691161461089f57600080fd5b600160a060020a03811615156108b457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820786998839b4cbdb5de27a89e499d071bb45a6e91c521dbfe4500bd3b9d6741d90029", + "sourceMap": "418:5129:5:-;;;1352:215;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;509:10:29;501:18;;-1:-1:-1;;;;;;501:18:29;;;;;;;;1457::5;;;;1486:11;:26;;;;;;;;;;;;;;;1523:16;:36;;;;;;;;;;;;;;;;;-1:-1:-1;;418:5129:5;;;;;;", + "deployedSourceMap": "418:5129:5:-;;;;;;;;-1:-1:-1;;;418:5129:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1690:10:5;1677:35;;1702:9;1677:35;;;;;;;;;;;;;;418:5129;452:22;;;;;;;;;;;;;;;;;;;;;;;;;;;2115:393;;;;;;;;;;;;;-1:-1:-1;;;;;2115:393:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;2115:393:5;;-1:-1:-1;2115:393:5;;-1:-1:-1;;;;;;2115:393:5;;;;;;;;;;;;;;;;;;515:34;;;;;;;;;;;;;;;-1:-1:-1;;;;;515:34:5;;;;;;;;;;;;;;;4497:320;;;;;;;;;;-1:-1:-1;;;;;4497:320:5;;;;;;;;;;;;238:20:29;;;;;;;;;;;;3762:350:5;;;;;;;;;;-1:-1:-1;;;;;3762:350:5;;;;;;;;;;;;;;;;;2732:188;;;;;;;;;;;;;;-1:-1:-1;;;;;2732:188:5;;;5207:335;;;;;;;;;;-1:-1:-1;;;;;5207:335:5;;;;;;;;;;;;3170:266;;;;;;;;;;-1:-1:-1;;;;;3170:266:5;;;;;;;;;;;;481:27;;;;;;;;;;;;834:169:29;;;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;452:22:5;;;;:::o;2115:393::-;2204:4;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;2226:31:5;;;2249:7;2226:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;-1:-1;;;;;2277:20:5;;2305:30;;;;;;;;;;;;;;;-1:-1:-1;;;2277:189:5;;2355:2;2409:7;:14;2458:7;2277:189;;;;;-1:-1:-1;;;2277:189:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;2115:393:5;-1:-1:-1;;;;;;2115:393:5:o;515:34::-;;;-1:-1:-1;;;;;515:34:5;;:::o;4497:320::-;4632:4;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;4654:31:5;;;4686:8;4696:11;4654:54;;;;;;;;;;;-1:-1:-1;;;4654:54:5;;;-1:-1:-1;;;;;4654:54:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;4719:68:5;;;4765:8;4775:11;4719:68;;-1:-1:-1;;;;;4719:68:5;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4805:4:5;4497:320;;;;;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;3762:350:5:-;3941:4;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;3963:27:5;;;3991:5;3998:3;4003:6;3963:47;;;;;;;;;;;-1:-1:-1;;;3963:47:5;;;-1:-1:-1;;;;;3963:47:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;4021:61:5;;;4063:5;4070:3;4075:6;4021:61;;-1:-1:-1;;;;;4021:61:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4100:4:5;3762:350;;;;;;:::o;2732:188::-;2808:4;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;2825:12:5;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2862:28:5;;;2872:12;2862:28;;;;;;;;;;;;;;-1:-1:-1;2908:4:5;2732:188;;;;:::o;5207:335::-;5348:4;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;5370:31:5;;;5402:8;5412:16;5370:59;;;;;;;;;;;-1:-1:-1;;;5370:59:5;;;-1:-1:-1;;;;;5370:59:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;5440:72:5;;;5485:8;5495:16;5440:72;;-1:-1:-1;;;;;5440:72:5;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5530:4:5;5207:335;;;;;:::o;3170:266::-;3287:4;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;3309:23:5;;;3333:3;3338:6;3309:36;;;;;;;;;;;-1:-1:-1;;;3309:36:5;;;-1:-1:-1;;;;;3309:36:5;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;3356:50:5;;;;;;;3399:6;3356:50;;;;;;;;;;;;;;-1:-1:-1;3424:4:5;3170:266;;;;;:::o;481:27::-;;;-1:-1:-1;;;;;481:27:5;;:::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"./Controller.sol\";\r\nimport \"./Reputation.sol\";\r\nimport \"./DAOToken.sol\";\r\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\r\nimport \"zeppelin-solidity/contracts/token/StandardToken.sol\";\r\n\r\n\r\ncontract ActionInterface {\r\n function action(bytes32[] _params) public returns(bool);\r\n}\r\n\r\n\r\n/**\r\n * @title An Avatar holds tokens, reputation and ether for a controller\r\n */\r\ncontract Avatar is Ownable {\r\n bytes32 public orgName;\r\n DAOToken public nativeToken;\r\n Reputation public nativeReputation;\r\n\r\n event GenericAction(address indexed _action, bytes32[] _params);\r\n event SendEther(uint _amountInWei, address indexed _to);\r\n event ExternalTokenTransfer(address indexed _externalToken, address indexed _to, uint _value);\r\n event ExternalTokenTransferFrom(address indexed _externalToken, address _from, address _to, uint _value);\r\n event ExternalTokenIncreaseApproval(StandardToken indexed _externalToken, address _spender, uint _addedValue);\r\n event ExternalTokenDecreaseApproval(StandardToken indexed _externalToken, address _spender, uint _subtractedValue);\r\n event ReceiveEther(address indexed _sender, uint _value);\r\n\r\n /**\r\n * @dev the constructor takes organization name, native token and reputation system\r\n and creates an avatar for a controller\r\n */\r\n function Avatar(bytes32 _orgName, DAOToken _nativeToken, Reputation _nativeReputation) public {\r\n orgName = _orgName;\r\n nativeToken = _nativeToken;\r\n nativeReputation = _nativeReputation;\r\n }\r\n\r\n /**\r\n * @dev enables an avatar to receive ethers\r\n */\r\n function() public payable {\r\n ReceiveEther(msg.sender, msg.value);\r\n }\r\n\r\n /**\r\n * @dev call an action function on an ActionInterface.\r\n * This function use deligatecall and might expose the organization to security\r\n * risk. Use this function only if you really knows what you are doing.\r\n * @param _action the address of the contract to call.\r\n * @param _params the params for the call.\r\n * @return bool which represents success\r\n */\r\n function genericAction(address _action, bytes32[] _params)\r\n public onlyOwner returns(bool)\r\n {\r\n GenericAction(_action, _params);\r\n\r\n return _action.delegatecall(bytes4(keccak256(\"action(bytes32[])\")),\r\n uint256(32),// length of length of the array\r\n uint256(_params.length), // length of the array\r\n _params); // array itself);\r\n }\r\n\r\n /**\r\n * @dev send ethers from the avatar's wallet\r\n * @param _amountInWei amount to send in Wei units\r\n * @param _to send the ethers to this address\r\n * @return bool which represents success\r\n */\r\n function sendEther(uint _amountInWei, address _to) public onlyOwner returns(bool) {\r\n _to.transfer(_amountInWei);\r\n SendEther(_amountInWei, _to);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev external token transfer\r\n * @param _externalToken the token contract\r\n * @param _to the destination address\r\n * @param _value the amount of tokens to transfer\r\n * @return bool which represents success\r\n */\r\n function externalTokenTransfer(StandardToken _externalToken, address _to, uint _value)\r\n public onlyOwner returns(bool)\r\n {\r\n _externalToken.transfer(_to, _value);\r\n ExternalTokenTransfer(_externalToken, _to, _value);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev external token transfer from a specific account\r\n * @param _externalToken the token contract\r\n * @param _from the account to spend token from\r\n * @param _to the destination address\r\n * @param _value the amount of tokens to transfer\r\n * @return bool which represents success\r\n */\r\n function externalTokenTransferFrom(\r\n StandardToken _externalToken,\r\n address _from,\r\n address _to,\r\n uint _value\r\n )\r\n public onlyOwner returns(bool)\r\n {\r\n _externalToken.transferFrom(_from, _to, _value);\r\n ExternalTokenTransferFrom(_externalToken, _from, _to, _value);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev increase approval for the spender address to spend a specified amount of tokens\r\n * on behalf of msg.sender.\r\n * @param _externalToken the address of the Token Contract\r\n * @param _spender address\r\n * @param _addedValue the amount of ether (in Wei) which the approval is refering to.\r\n * @return bool which represents a success\r\n */\r\n function externalTokenIncreaseApproval(StandardToken _externalToken, address _spender, uint _addedValue)\r\n public onlyOwner returns(bool)\r\n {\r\n _externalToken.increaseApproval(_spender, _addedValue);\r\n ExternalTokenIncreaseApproval(_externalToken, _spender, _addedValue);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev decrease approval for the spender address to spend a specified amount of tokens\r\n * on behalf of msg.sender.\r\n * @param _externalToken the address of the Token Contract\r\n * @param _spender address\r\n * @param _subtractedValue the amount of ether (in Wei) which the approval is refering to.\r\n * @return bool which represents a success\r\n */\r\n function externalTokenDecreaseApproval(StandardToken _externalToken, address _spender, uint _subtractedValue )\r\n public onlyOwner returns(bool)\r\n {\r\n _externalToken.decreaseApproval(_spender, _subtractedValue);\r\n ExternalTokenDecreaseApproval(_externalToken,_spender, _subtractedValue);\r\n return true;\r\n }\r\n\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\controller\\Avatar.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Avatar.sol", + "exportedSymbols": { + "ActionInterface": [ + 2797 + ], + "Avatar": [ + 3072 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 2783, + "name": "PragmaDirective", + "src": "0:24:5" + }, + { + "attributes": { + "SourceUnit": 4158, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Controller.sol", + "file": "./Controller.sol", + "scope": 3073, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2784, + "name": "ImportDirective", + "src": "28:26:5" + }, + { + "attributes": { + "SourceUnit": 4358, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Reputation.sol", + "file": "./Reputation.sol", + "scope": 3073, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2785, + "name": "ImportDirective", + "src": "56:26:5" + }, + { + "attributes": { + "SourceUnit": 4193, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/DAOToken.sol", + "file": "./DAOToken.sol", + "scope": 3073, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2786, + "name": "ImportDirective", + "src": "84:24:5" + }, + { + "attributes": { + "SourceUnit": 9141, + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "scope": 3073, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2787, + "name": "ImportDirective", + "src": "110:59:5" + }, + { + "attributes": { + "SourceUnit": 9701, + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "file": "zeppelin-solidity/contracts/token/StandardToken.sol", + "scope": 3073, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2788, + "name": "ImportDirective", + "src": "171:61:5" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 2797 + ], + "name": "ActionInterface", + "scope": 3073 + }, + "children": [ + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "action", + "payable": false, + "scope": 2797, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 2796, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2789, + "name": "ElementaryTypeName", + "src": "286:7:5" + } + ], + "id": 2790, + "name": "ArrayTypeName", + "src": "286:9:5" + } + ], + "id": 2791, + "name": "VariableDeclaration", + "src": "286:17:5" + } + ], + "id": 2792, + "name": "ParameterList", + "src": "285:19:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2796, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2793, + "name": "ElementaryTypeName", + "src": "320:4:5" + } + ], + "id": 2794, + "name": "VariableDeclaration", + "src": "320:4:5" + } + ], + "id": 2795, + "name": "ParameterList", + "src": "319:6:5" + } + ], + "id": 2796, + "name": "FunctionDefinition", + "src": "270:56:5" + } + ], + "id": 2797, + "name": "ContractDefinition", + "src": "238:91:5" + }, + { + "attributes": { + "contractDependencies": [ + 9140 + ], + "contractKind": "contract", + "documentation": "@title An Avatar holds tokens, reputation and ether for a controller\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 3072, + 9140 + ], + "name": "Avatar", + "scope": 3073 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 9140, + "type": "contract Ownable" + }, + "id": 2798, + "name": "UserDefinedTypeName", + "src": "437:7:5" + } + ], + "id": 2799, + "name": "InheritanceSpecifier", + "src": "437:7:5" + }, + { + "attributes": { + "constant": false, + "name": "orgName", + "scope": 3072, + "stateVariable": true, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2800, + "name": "ElementaryTypeName", + "src": "452:7:5" + } + ], + "id": 2801, + "name": "VariableDeclaration", + "src": "452:22:5" + }, + { + "attributes": { + "constant": false, + "name": "nativeToken", + "scope": 3072, + "stateVariable": true, + "storageLocation": "default", + "type": "contract DAOToken", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "DAOToken", + "referencedDeclaration": 4192, + "type": "contract DAOToken" + }, + "id": 2802, + "name": "UserDefinedTypeName", + "src": "481:8:5" + } + ], + "id": 2803, + "name": "VariableDeclaration", + "src": "481:27:5" + }, + { + "attributes": { + "constant": false, + "name": "nativeReputation", + "scope": 3072, + "stateVariable": true, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 2804, + "name": "UserDefinedTypeName", + "src": "515:10:5" + } + ], + "id": 2805, + "name": "VariableDeclaration", + "src": "515:34:5" + }, + { + "attributes": { + "anonymous": false, + "name": "GenericAction" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_action", + "scope": 2812, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2806, + "name": "ElementaryTypeName", + "src": "578:7:5" + } + ], + "id": 2807, + "name": "VariableDeclaration", + "src": "578:23:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_params", + "scope": 2812, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2808, + "name": "ElementaryTypeName", + "src": "603:7:5" + } + ], + "id": 2809, + "name": "ArrayTypeName", + "src": "603:9:5" + } + ], + "id": 2810, + "name": "VariableDeclaration", + "src": "603:17:5" + } + ], + "id": 2811, + "name": "ParameterList", + "src": "577:44:5" + } + ], + "id": 2812, + "name": "EventDefinition", + "src": "558:64:5" + }, + { + "attributes": { + "anonymous": false, + "name": "SendEther" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_amountInWei", + "scope": 2818, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2813, + "name": "ElementaryTypeName", + "src": "644:4:5" + } + ], + "id": 2814, + "name": "VariableDeclaration", + "src": "644:17:5" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_to", + "scope": 2818, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2815, + "name": "ElementaryTypeName", + "src": "663:7:5" + } + ], + "id": 2816, + "name": "VariableDeclaration", + "src": "663:19:5" + } + ], + "id": 2817, + "name": "ParameterList", + "src": "643:40:5" + } + ], + "id": 2818, + "name": "EventDefinition", + "src": "628:56:5" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenTransfer" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 2826, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2819, + "name": "ElementaryTypeName", + "src": "718:7:5" + } + ], + "id": 2820, + "name": "VariableDeclaration", + "src": "718:30:5" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_to", + "scope": 2826, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2821, + "name": "ElementaryTypeName", + "src": "750:7:5" + } + ], + "id": 2822, + "name": "VariableDeclaration", + "src": "750:19:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_value", + "scope": 2826, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2823, + "name": "ElementaryTypeName", + "src": "771:4:5" + } + ], + "id": 2824, + "name": "VariableDeclaration", + "src": "771:11:5" + } + ], + "id": 2825, + "name": "ParameterList", + "src": "717:66:5" + } + ], + "id": 2826, + "name": "EventDefinition", + "src": "690:94:5" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenTransferFrom" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 2836, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2827, + "name": "ElementaryTypeName", + "src": "822:7:5" + } + ], + "id": 2828, + "name": "VariableDeclaration", + "src": "822:30:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_from", + "scope": 2836, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2829, + "name": "ElementaryTypeName", + "src": "854:7:5" + } + ], + "id": 2830, + "name": "VariableDeclaration", + "src": "854:13:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_to", + "scope": 2836, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2831, + "name": "ElementaryTypeName", + "src": "869:7:5" + } + ], + "id": 2832, + "name": "VariableDeclaration", + "src": "869:11:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_value", + "scope": 2836, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2833, + "name": "ElementaryTypeName", + "src": "882:4:5" + } + ], + "id": 2834, + "name": "VariableDeclaration", + "src": "882:11:5" + } + ], + "id": 2835, + "name": "ParameterList", + "src": "821:73:5" + } + ], + "id": 2836, + "name": "EventDefinition", + "src": "790:105:5" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenIncreaseApproval" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 2844, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 2837, + "name": "UserDefinedTypeName", + "src": "937:13:5" + } + ], + "id": 2838, + "name": "VariableDeclaration", + "src": "937:36:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_spender", + "scope": 2844, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2839, + "name": "ElementaryTypeName", + "src": "975:7:5" + } + ], + "id": 2840, + "name": "VariableDeclaration", + "src": "975:16:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_addedValue", + "scope": 2844, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2841, + "name": "ElementaryTypeName", + "src": "993:4:5" + } + ], + "id": 2842, + "name": "VariableDeclaration", + "src": "993:16:5" + } + ], + "id": 2843, + "name": "ParameterList", + "src": "936:74:5" + } + ], + "id": 2844, + "name": "EventDefinition", + "src": "901:110:5" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenDecreaseApproval" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 2852, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 2845, + "name": "UserDefinedTypeName", + "src": "1053:13:5" + } + ], + "id": 2846, + "name": "VariableDeclaration", + "src": "1053:36:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_spender", + "scope": 2852, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2847, + "name": "ElementaryTypeName", + "src": "1091:7:5" + } + ], + "id": 2848, + "name": "VariableDeclaration", + "src": "1091:16:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_subtractedValue", + "scope": 2852, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2849, + "name": "ElementaryTypeName", + "src": "1109:4:5" + } + ], + "id": 2850, + "name": "VariableDeclaration", + "src": "1109:21:5" + } + ], + "id": 2851, + "name": "ParameterList", + "src": "1052:79:5" + } + ], + "id": 2852, + "name": "EventDefinition", + "src": "1017:115:5" + }, + { + "attributes": { + "anonymous": false, + "name": "ReceiveEther" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 2858, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2853, + "name": "ElementaryTypeName", + "src": "1157:7:5" + } + ], + "id": 2854, + "name": "VariableDeclaration", + "src": "1157:23:5" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_value", + "scope": 2858, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2855, + "name": "ElementaryTypeName", + "src": "1182:4:5" + } + ], + "id": 2856, + "name": "VariableDeclaration", + "src": "1182:11:5" + } + ], + "id": 2857, + "name": "ParameterList", + "src": "1156:38:5" + } + ], + "id": 2858, + "name": "EventDefinition", + "src": "1138:57:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Avatar", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_orgName", + "scope": 2880, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2859, + "name": "ElementaryTypeName", + "src": "1368:7:5" + } + ], + "id": 2860, + "name": "VariableDeclaration", + "src": "1368:16:5" + }, + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 2880, + "stateVariable": false, + "storageLocation": "default", + "type": "contract DAOToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "DAOToken", + "referencedDeclaration": 4192, + "type": "contract DAOToken" + }, + "id": 2861, + "name": "UserDefinedTypeName", + "src": "1386:8:5" + } + ], + "id": 2862, + "name": "VariableDeclaration", + "src": "1386:21:5" + }, + { + "attributes": { + "constant": false, + "name": "_nativeReputation", + "scope": 2880, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 2863, + "name": "UserDefinedTypeName", + "src": "1409:10:5" + } + ], + "id": 2864, + "name": "VariableDeclaration", + "src": "1409:28:5" + } + ], + "id": 2865, + "name": "ParameterList", + "src": "1367:71:5" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 2866, + "name": "ParameterList", + "src": "1446:0:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2801, + "type": "bytes32", + "value": "orgName" + }, + "id": 2867, + "name": "Identifier", + "src": "1457:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2860, + "type": "bytes32", + "value": "_orgName" + }, + "id": 2868, + "name": "Identifier", + "src": "1467:8:5" + } + ], + "id": 2869, + "name": "Assignment", + "src": "1457:18:5" + } + ], + "id": 2870, + "name": "ExpressionStatement", + "src": "1457:18:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract DAOToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2803, + "type": "contract DAOToken", + "value": "nativeToken" + }, + "id": 2871, + "name": "Identifier", + "src": "1486:11:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2862, + "type": "contract DAOToken", + "value": "_nativeToken" + }, + "id": 2872, + "name": "Identifier", + "src": "1500:12:5" + } + ], + "id": 2873, + "name": "Assignment", + "src": "1486:26:5" + } + ], + "id": 2874, + "name": "ExpressionStatement", + "src": "1486:26:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract Reputation" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2805, + "type": "contract Reputation", + "value": "nativeReputation" + }, + "id": 2875, + "name": "Identifier", + "src": "1523:16:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2864, + "type": "contract Reputation", + "value": "_nativeReputation" + }, + "id": 2876, + "name": "Identifier", + "src": "1542:17:5" + } + ], + "id": 2877, + "name": "Assignment", + "src": "1523:36:5" + } + ], + "id": 2878, + "name": "ExpressionStatement", + "src": "1523:36:5" + } + ], + "id": 2879, + "name": "Block", + "src": "1446:121:5" + } + ], + "id": 2880, + "name": "FunctionDefinition", + "src": "1352:215:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 3072, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 2881, + "name": "ParameterList", + "src": "1648:2:5" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 2882, + "name": "ParameterList", + "src": "1666:0:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2858, + "type": "function (address,uint256)", + "value": "ReceiveEther" + }, + "id": 2883, + "name": "Identifier", + "src": "1677:12:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 2884, + "name": "Identifier", + "src": "1690:3:5" + } + ], + "id": 2885, + "name": "MemberAccess", + "src": "1690:10:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 2886, + "name": "Identifier", + "src": "1702:3:5" + } + ], + "id": 2887, + "name": "MemberAccess", + "src": "1702:9:5" + } + ], + "id": 2888, + "name": "FunctionCall", + "src": "1677:35:5" + } + ], + "id": 2889, + "name": "ExpressionStatement", + "src": "1677:35:5" + } + ], + "id": 2890, + "name": "Block", + "src": "1666:54:5" + } + ], + "id": 2891, + "name": "FunctionDefinition", + "src": "1640:80:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "genericAction", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_action", + "scope": 2926, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2892, + "name": "ElementaryTypeName", + "src": "2138:7:5" + } + ], + "id": 2893, + "name": "VariableDeclaration", + "src": "2138:15:5" + }, + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 2926, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2894, + "name": "ElementaryTypeName", + "src": "2155:7:5" + } + ], + "id": 2895, + "name": "ArrayTypeName", + "src": "2155:9:5" + } + ], + "id": 2896, + "name": "VariableDeclaration", + "src": "2155:17:5" + } + ], + "id": 2897, + "name": "ParameterList", + "src": "2137:36:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2926, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2900, + "name": "ElementaryTypeName", + "src": "2204:4:5" + } + ], + "id": 2901, + "name": "VariableDeclaration", + "src": "2204:4:5" + } + ], + "id": 2902, + "name": "ParameterList", + "src": "2203:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 2898, + "name": "Identifier", + "src": "2186:9:5" + } + ], + "id": 2899, + "name": "ModifierInvocation", + "src": "2186:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2812, + "type": "function (address,bytes32[] memory)", + "value": "GenericAction" + }, + "id": 2903, + "name": "Identifier", + "src": "2226:13:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2893, + "type": "address", + "value": "_action" + }, + "id": 2904, + "name": "Identifier", + "src": "2240:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2896, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 2905, + "name": "Identifier", + "src": "2249:7:5" + } + ], + "id": 2906, + "name": "FunctionCall", + "src": "2226:31:5" + } + ], + "id": 2907, + "name": "ExpressionStatement", + "src": "2226:31:5" + }, + { + "attributes": { + "functionReturnParameters": 2902 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "delegatecall", + "referencedDeclaration": null, + "type": "function () returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2893, + "type": "address", + "value": "_action" + }, + "id": 2908, + "name": "Identifier", + "src": "2277:7:5" + } + ], + "id": 2909, + "name": "MemberAccess", + "src": "2277:20:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 2910, + "name": "ElementaryTypeNameExpression", + "src": "2298:6:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_7ff4b6301c72901450252ee5e8584376c615d5c87d4c0b2d9dafc6024e2589a0", + "typeString": "literal_string \"action(bytes32[])\"" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 2911, + "name": "Identifier", + "src": "2305:9:5" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "616374696f6e28627974657333325b5d29", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"action(bytes32[])\"", + "value": "action(bytes32[])" + }, + "id": 2912, + "name": "Literal", + "src": "2315:19:5" + } + ], + "id": 2913, + "name": "FunctionCall", + "src": "2305:30:5" + } + ], + "id": 2914, + "name": "FunctionCall", + "src": "2298:38:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(uint256)", + "value": "uint256" + }, + "id": 2915, + "name": "ElementaryTypeNameExpression", + "src": "2347:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3332", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 32", + "value": "32" + }, + "id": 2916, + "name": "Literal", + "src": "2355:2:5" + } + ], + "id": 2917, + "name": "FunctionCall", + "src": "2347:11:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(uint256)", + "value": "uint256" + }, + "id": 2918, + "name": "ElementaryTypeNameExpression", + "src": "2401:7:5" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2896, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 2919, + "name": "Identifier", + "src": "2409:7:5" + } + ], + "id": 2920, + "name": "MemberAccess", + "src": "2409:14:5" + } + ], + "id": 2921, + "name": "FunctionCall", + "src": "2401:23:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2896, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 2922, + "name": "Identifier", + "src": "2458:7:5" + } + ], + "id": 2923, + "name": "FunctionCall", + "src": "2277:189:5" + } + ], + "id": 2924, + "name": "Return", + "src": "2270:196:5" + } + ], + "id": 2925, + "name": "Block", + "src": "2215:293:5" + } + ], + "id": 2926, + "name": "FunctionDefinition", + "src": "2115:393:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "sendEther", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_amountInWei", + "scope": 2951, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2927, + "name": "ElementaryTypeName", + "src": "2751:4:5" + } + ], + "id": 2928, + "name": "VariableDeclaration", + "src": "2751:17:5" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 2951, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2929, + "name": "ElementaryTypeName", + "src": "2770:7:5" + } + ], + "id": 2930, + "name": "VariableDeclaration", + "src": "2770:11:5" + } + ], + "id": 2931, + "name": "ParameterList", + "src": "2750:32:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2951, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2934, + "name": "ElementaryTypeName", + "src": "2808:4:5" + } + ], + "id": 2935, + "name": "VariableDeclaration", + "src": "2808:4:5" + } + ], + "id": 2936, + "name": "ParameterList", + "src": "2807:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 2932, + "name": "Identifier", + "src": "2790:9:5" + } + ], + "id": 2933, + "name": "ModifierInvocation", + "src": "2790:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": null, + "type": "function (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2930, + "type": "address", + "value": "_to" + }, + "id": 2937, + "name": "Identifier", + "src": "2825:3:5" + } + ], + "id": 2939, + "name": "MemberAccess", + "src": "2825:12:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2928, + "type": "uint256", + "value": "_amountInWei" + }, + "id": 2940, + "name": "Identifier", + "src": "2838:12:5" + } + ], + "id": 2941, + "name": "FunctionCall", + "src": "2825:26:5" + } + ], + "id": 2942, + "name": "ExpressionStatement", + "src": "2825:26:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2818, + "type": "function (uint256,address)", + "value": "SendEther" + }, + "id": 2943, + "name": "Identifier", + "src": "2862:9:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2928, + "type": "uint256", + "value": "_amountInWei" + }, + "id": 2944, + "name": "Identifier", + "src": "2872:12:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2930, + "type": "address", + "value": "_to" + }, + "id": 2945, + "name": "Identifier", + "src": "2886:3:5" + } + ], + "id": 2946, + "name": "FunctionCall", + "src": "2862:28:5" + } + ], + "id": 2947, + "name": "ExpressionStatement", + "src": "2862:28:5" + }, + { + "attributes": { + "functionReturnParameters": 2936 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 2948, + "name": "Literal", + "src": "2908:4:5" + } + ], + "id": 2949, + "name": "Return", + "src": "2901:11:5" + } + ], + "id": 2950, + "name": "Block", + "src": "2814:106:5" + } + ], + "id": 2951, + "name": "FunctionDefinition", + "src": "2732:188:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenTransfer", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 2980, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 2952, + "name": "UserDefinedTypeName", + "src": "3201:13:5" + } + ], + "id": 2953, + "name": "VariableDeclaration", + "src": "3201:28:5" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 2980, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2954, + "name": "ElementaryTypeName", + "src": "3231:7:5" + } + ], + "id": 2955, + "name": "VariableDeclaration", + "src": "3231:11:5" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 2980, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2956, + "name": "ElementaryTypeName", + "src": "3244:4:5" + } + ], + "id": 2957, + "name": "VariableDeclaration", + "src": "3244:11:5" + } + ], + "id": 2958, + "name": "ParameterList", + "src": "3200:56:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2980, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2961, + "name": "ElementaryTypeName", + "src": "3287:4:5" + } + ], + "id": 2962, + "name": "VariableDeclaration", + "src": "3287:4:5" + } + ], + "id": 2963, + "name": "ParameterList", + "src": "3286:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 2959, + "name": "Identifier", + "src": "3269:9:5" + } + ], + "id": 2960, + "name": "ModifierInvocation", + "src": "3269:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 9213, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2953, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 2964, + "name": "Identifier", + "src": "3309:14:5" + } + ], + "id": 2966, + "name": "MemberAccess", + "src": "3309:23:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2955, + "type": "address", + "value": "_to" + }, + "id": 2967, + "name": "Identifier", + "src": "3333:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2957, + "type": "uint256", + "value": "_value" + }, + "id": 2968, + "name": "Identifier", + "src": "3338:6:5" + } + ], + "id": 2969, + "name": "FunctionCall", + "src": "3309:36:5" + } + ], + "id": 2970, + "name": "ExpressionStatement", + "src": "3309:36:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2826, + "type": "function (address,address,uint256)", + "value": "ExternalTokenTransfer" + }, + "id": 2971, + "name": "Identifier", + "src": "3356:21:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2953, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 2972, + "name": "Identifier", + "src": "3378:14:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2955, + "type": "address", + "value": "_to" + }, + "id": 2973, + "name": "Identifier", + "src": "3394:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2957, + "type": "uint256", + "value": "_value" + }, + "id": 2974, + "name": "Identifier", + "src": "3399:6:5" + } + ], + "id": 2975, + "name": "FunctionCall", + "src": "3356:50:5" + } + ], + "id": 2976, + "name": "ExpressionStatement", + "src": "3356:50:5" + }, + { + "attributes": { + "functionReturnParameters": 2963 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 2977, + "name": "Literal", + "src": "3424:4:5" + } + ], + "id": 2978, + "name": "Return", + "src": "3417:11:5" + } + ], + "id": 2979, + "name": "Block", + "src": "3298:138:5" + } + ], + "id": 2980, + "name": "FunctionDefinition", + "src": "3170:266:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenTransferFrom", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 3013, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 2981, + "name": "UserDefinedTypeName", + "src": "3807:13:5" + } + ], + "id": 2982, + "name": "VariableDeclaration", + "src": "3807:28:5" + }, + { + "attributes": { + "constant": false, + "name": "_from", + "scope": 3013, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2983, + "name": "ElementaryTypeName", + "src": "3846:7:5" + } + ], + "id": 2984, + "name": "VariableDeclaration", + "src": "3846:13:5" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 3013, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2985, + "name": "ElementaryTypeName", + "src": "3870:7:5" + } + ], + "id": 2986, + "name": "VariableDeclaration", + "src": "3870:11:5" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 3013, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2987, + "name": "ElementaryTypeName", + "src": "3892:4:5" + } + ], + "id": 2988, + "name": "VariableDeclaration", + "src": "3892:11:5" + } + ], + "id": 2989, + "name": "ParameterList", + "src": "3796:114:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3013, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2992, + "name": "ElementaryTypeName", + "src": "3941:4:5" + } + ], + "id": 2993, + "name": "VariableDeclaration", + "src": "3941:4:5" + } + ], + "id": 2994, + "name": "ParameterList", + "src": "3940:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 2990, + "name": "Identifier", + "src": "3923:9:5" + } + ], + "id": 2991, + "name": "ModifierInvocation", + "src": "3923:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferFrom", + "referencedDeclaration": 9554, + "type": "function (address,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2982, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 2995, + "name": "Identifier", + "src": "3963:14:5" + } + ], + "id": 2997, + "name": "MemberAccess", + "src": "3963:27:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2984, + "type": "address", + "value": "_from" + }, + "id": 2998, + "name": "Identifier", + "src": "3991:5:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2986, + "type": "address", + "value": "_to" + }, + "id": 2999, + "name": "Identifier", + "src": "3998:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2988, + "type": "uint256", + "value": "_value" + }, + "id": 3000, + "name": "Identifier", + "src": "4003:6:5" + } + ], + "id": 3001, + "name": "FunctionCall", + "src": "3963:47:5" + } + ], + "id": 3002, + "name": "ExpressionStatement", + "src": "3963:47:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2836, + "type": "function (address,address,address,uint256)", + "value": "ExternalTokenTransferFrom" + }, + "id": 3003, + "name": "Identifier", + "src": "4021:25:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2982, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 3004, + "name": "Identifier", + "src": "4047:14:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2984, + "type": "address", + "value": "_from" + }, + "id": 3005, + "name": "Identifier", + "src": "4063:5:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2986, + "type": "address", + "value": "_to" + }, + "id": 3006, + "name": "Identifier", + "src": "4070:3:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2988, + "type": "uint256", + "value": "_value" + }, + "id": 3007, + "name": "Identifier", + "src": "4075:6:5" + } + ], + "id": 3008, + "name": "FunctionCall", + "src": "4021:61:5" + } + ], + "id": 3009, + "name": "ExpressionStatement", + "src": "4021:61:5" + }, + { + "attributes": { + "functionReturnParameters": 2994 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3010, + "name": "Literal", + "src": "4100:4:5" + } + ], + "id": 3011, + "name": "Return", + "src": "4093:11:5" + } + ], + "id": 3012, + "name": "Block", + "src": "3952:160:5" + } + ], + "id": 3013, + "name": "FunctionDefinition", + "src": "3762:350:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenIncreaseApproval", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 3042, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 3014, + "name": "UserDefinedTypeName", + "src": "4536:13:5" + } + ], + "id": 3015, + "name": "VariableDeclaration", + "src": "4536:28:5" + }, + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 3042, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3016, + "name": "ElementaryTypeName", + "src": "4566:7:5" + } + ], + "id": 3017, + "name": "VariableDeclaration", + "src": "4566:16:5" + }, + { + "attributes": { + "constant": false, + "name": "_addedValue", + "scope": 3042, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3018, + "name": "ElementaryTypeName", + "src": "4584:4:5" + } + ], + "id": 3019, + "name": "VariableDeclaration", + "src": "4584:16:5" + } + ], + "id": 3020, + "name": "ParameterList", + "src": "4535:66:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3042, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3023, + "name": "ElementaryTypeName", + "src": "4632:4:5" + } + ], + "id": 3024, + "name": "VariableDeclaration", + "src": "4632:4:5" + } + ], + "id": 3025, + "name": "ParameterList", + "src": "4631:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 3021, + "name": "Identifier", + "src": "4614:9:5" + } + ], + "id": 3022, + "name": "ModifierInvocation", + "src": "4614:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "increaseApproval", + "referencedDeclaration": 9639, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3015, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 3026, + "name": "Identifier", + "src": "4654:14:5" + } + ], + "id": 3028, + "name": "MemberAccess", + "src": "4654:31:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3017, + "type": "address", + "value": "_spender" + }, + "id": 3029, + "name": "Identifier", + "src": "4686:8:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3019, + "type": "uint256", + "value": "_addedValue" + }, + "id": 3030, + "name": "Identifier", + "src": "4696:11:5" + } + ], + "id": 3031, + "name": "FunctionCall", + "src": "4654:54:5" + } + ], + "id": 3032, + "name": "ExpressionStatement", + "src": "4654:54:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2844, + "type": "function (contract StandardToken,address,uint256)", + "value": "ExternalTokenIncreaseApproval" + }, + "id": 3033, + "name": "Identifier", + "src": "4719:29:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3015, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 3034, + "name": "Identifier", + "src": "4749:14:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3017, + "type": "address", + "value": "_spender" + }, + "id": 3035, + "name": "Identifier", + "src": "4765:8:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3019, + "type": "uint256", + "value": "_addedValue" + }, + "id": 3036, + "name": "Identifier", + "src": "4775:11:5" + } + ], + "id": 3037, + "name": "FunctionCall", + "src": "4719:68:5" + } + ], + "id": 3038, + "name": "ExpressionStatement", + "src": "4719:68:5" + }, + { + "attributes": { + "functionReturnParameters": 3025 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3039, + "name": "Literal", + "src": "4805:4:5" + } + ], + "id": 3040, + "name": "Return", + "src": "4798:11:5" + } + ], + "id": 3041, + "name": "Block", + "src": "4643:174:5" + } + ], + "id": 3042, + "name": "FunctionDefinition", + "src": "4497:320:5" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenDecreaseApproval", + "payable": false, + "scope": 3072, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 3071, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 3043, + "name": "UserDefinedTypeName", + "src": "5246:13:5" + } + ], + "id": 3044, + "name": "VariableDeclaration", + "src": "5246:28:5" + }, + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 3071, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3045, + "name": "ElementaryTypeName", + "src": "5276:7:5" + } + ], + "id": 3046, + "name": "VariableDeclaration", + "src": "5276:16:5" + }, + { + "attributes": { + "constant": false, + "name": "_subtractedValue", + "scope": 3071, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3047, + "name": "ElementaryTypeName", + "src": "5294:4:5" + } + ], + "id": 3048, + "name": "VariableDeclaration", + "src": "5294:21:5" + } + ], + "id": 3049, + "name": "ParameterList", + "src": "5245:72:5" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3071, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3052, + "name": "ElementaryTypeName", + "src": "5348:4:5" + } + ], + "id": 3053, + "name": "VariableDeclaration", + "src": "5348:4:5" + } + ], + "id": 3054, + "name": "ParameterList", + "src": "5347:6:5" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 3050, + "name": "Identifier", + "src": "5330:9:5" + } + ], + "id": 3051, + "name": "ModifierInvocation", + "src": "5330:9:5" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "decreaseApproval", + "referencedDeclaration": 9699, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3044, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 3055, + "name": "Identifier", + "src": "5370:14:5" + } + ], + "id": 3057, + "name": "MemberAccess", + "src": "5370:31:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3046, + "type": "address", + "value": "_spender" + }, + "id": 3058, + "name": "Identifier", + "src": "5402:8:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3048, + "type": "uint256", + "value": "_subtractedValue" + }, + "id": 3059, + "name": "Identifier", + "src": "5412:16:5" + } + ], + "id": 3060, + "name": "FunctionCall", + "src": "5370:59:5" + } + ], + "id": 3061, + "name": "ExpressionStatement", + "src": "5370:59:5" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2852, + "type": "function (contract StandardToken,address,uint256)", + "value": "ExternalTokenDecreaseApproval" + }, + "id": 3062, + "name": "Identifier", + "src": "5440:29:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3044, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 3063, + "name": "Identifier", + "src": "5470:14:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3046, + "type": "address", + "value": "_spender" + }, + "id": 3064, + "name": "Identifier", + "src": "5485:8:5" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3048, + "type": "uint256", + "value": "_subtractedValue" + }, + "id": 3065, + "name": "Identifier", + "src": "5495:16:5" + } + ], + "id": 3066, + "name": "FunctionCall", + "src": "5440:72:5" + } + ], + "id": 3067, + "name": "ExpressionStatement", + "src": "5440:72:5" + }, + { + "attributes": { + "functionReturnParameters": 3054 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3068, + "name": "Literal", + "src": "5530:4:5" + } + ], + "id": 3069, + "name": "Return", + "src": "5523:11:5" + } + ], + "id": 3070, + "name": "Block", + "src": "5359:183:5" + } + ], + "id": 3071, + "name": "FunctionDefinition", + "src": "5207:335:5" + } + ], + "id": 3072, + "name": "ContractDefinition", + "src": "418:5129:5" + } + ], + "id": 3073, + "name": "SourceUnit", + "src": "0:5549:5" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.835Z" +} \ No newline at end of file diff --git a/contracts/BasicToken.json b/contracts/BasicToken.json new file mode 100644 index 000000000..bed237b28 --- /dev/null +++ b/contracts/BasicToken.json @@ -0,0 +1,1317 @@ +{ + "contractName": "BasicToken", + "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": "balance", + "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": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6102458061001e6000396000f3006060604052600436106100565763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd811461005b57806370a0823114610080578063a9059cbb1461009f575b600080fd5b341561006657600080fd5b61006e6100d5565b60405190815260200160405180910390f35b341561008b57600080fd5b61006e600160a060020a03600435166100db565b34156100aa57600080fd5b6100c1600160a060020a03600435166024356100f6565b604051901515815260200160405180910390f35b60005481565b600160a060020a031660009081526001602052604090205490565b6000600160a060020a038316151561010d57600080fd5b600160a060020a03331660009081526001602052604090205482111561013257600080fd5b600160a060020a03331660009081526001602052604090205461015b908363ffffffff6101f116565b600160a060020a033381166000908152600160205260408082209390935590851681522054610190908363ffffffff61020316565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000828211156101fd57fe5b50900390565b60008282018381101561021257fe5b93925050505600a165627a7a72305820c4585e9aedf75c9bf074a04fcf475f8465bad2983729e0118f53094e59d8068d0029", + "deployedBytecode": "0x6060604052600436106100565763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd811461005b57806370a0823114610080578063a9059cbb1461009f575b600080fd5b341561006657600080fd5b61006e6100d5565b60405190815260200160405180910390f35b341561008b57600080fd5b61006e600160a060020a03600435166100db565b34156100aa57600080fd5b6100c1600160a060020a03600435166024356100f6565b604051901515815260200160405180910390f35b60005481565b600160a060020a031660009081526001602052604090205490565b6000600160a060020a038316151561010d57600080fd5b600160a060020a03331660009081526001602052604090205482111561013257600080fd5b600160a060020a03331660009081526001602052604090205461015b908363ffffffff6101f116565b600160a060020a033381166000908152600160205260408082209390935590851681522054610190908363ffffffff61020316565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b6000828211156101fd57fe5b50900390565b60008282018381101561021257fe5b93925050505600a165627a7a72305820c4585e9aedf75c9bf074a04fcf475f8465bad2983729e0118f53094e59d8068d0029", + "sourceMap": "177:951:30:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "177:951:30:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;179:26:33;;;;;;;;;;;;;;;;;;;;;;;;;;;1018:107:30;;;;;;;;;;-1:-1:-1;;;;;1018:107:30;;;;;437:379;;;;;;;;;;-1:-1:-1;;;;;437:379:30;;;;;;;;;;;;;;;;;;;;;;;;179:26:33;;;;:::o;1018:107:30:-;-1:-1:-1;;;;;1104:16:30;1074:15;1104:16;;;:8;:16;;;;;;;1018:107::o;437:379::-;500:4;-1:-1:-1;;;;;520:17:30;;;;512:26;;;;;;-1:-1:-1;;;;;571:10:30;562:20;;;;;:8;:20;;;;;;552:30;;;544:39;;;;;;-1:-1:-1;;;;;685:10:30;676:20;;;;;:8;:20;;;;;;:32;;701:6;676:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;662:10:30;653:20;;;;;;:8;:20;;;;;;:55;;;;730:13;;;;;;;:25;;748:6;730:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;714:13:30;;;;;;;:8;:13;;;;;;;:41;;;;:13;770:10;761:33;;;;;;787:6;;761:33;;;;;;;;;;;;;-1:-1:-1;807:4:30;437:379;;;;:::o;584:110:28:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;698:129::-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:28:o", + "source": "pragma solidity ^0.4.18;\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) balances;\n\n /**\n * @dev transfer token for a specified address\n * @param _to The address to transfer to.\n * @param _value The amount to be transferred.\n */\n function transfer(address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n require(_value <= balances[msg.sender]);\n\n // SafeMath.sub will throw if there is not enough balance.\n balances[msg.sender] = balances[msg.sender].sub(_value);\n balances[_to] = balances[_to].add(_value);\n 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 balance) {\n return balances[_owner];\n }\n\n}\n", + "sourcePath": "zeppelin-solidity\\contracts\\token\\BasicToken.sol", + "ast": { + "attributes": { + "absolutePath": "zeppelin-solidity/contracts/token/BasicToken.sol", + "exportedSymbols": { + "BasicToken": [ + 9226 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 9142, + "name": "PragmaDirective", + "src": "0:24:30" + }, + { + "attributes": { + "SourceUnit": 9360, + "absolutePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "scope": 9227, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 9143, + "name": "ImportDirective", + "src": "27:26:30" + }, + { + "attributes": { + "SourceUnit": 9085, + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "../math/SafeMath.sol", + "scope": 9227, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 9144, + "name": "ImportDirective", + "src": "54:30:30" + }, + { + "attributes": { + "contractDependencies": [ + 9359 + ], + "contractKind": "contract", + "documentation": "@title Basic token\n@dev Basic version of StandardToken, with no allowances.", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 9226, + 9359 + ], + "name": "BasicToken", + "scope": 9227 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Basic", + "referencedDeclaration": 9359, + "type": "contract ERC20Basic" + }, + "id": 9145, + "name": "UserDefinedTypeName", + "src": "200:10:30" + } + ], + "id": 9146, + "name": "InheritanceSpecifier", + "src": "200:10:30" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 9084, + "type": "library SafeMath" + }, + "id": 9147, + "name": "UserDefinedTypeName", + "src": "221:8:30" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9148, + "name": "ElementaryTypeName", + "src": "234:7:30" + } + ], + "id": 9149, + "name": "UsingForDirective", + "src": "215:27:30" + }, + { + "attributes": { + "constant": false, + "name": "balances", + "scope": 9226, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => uint256)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9150, + "name": "ElementaryTypeName", + "src": "254:7:30" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9151, + "name": "ElementaryTypeName", + "src": "265:7:30" + } + ], + "id": 9152, + "name": "Mapping", + "src": "246:27:30" + } + ], + "id": 9153, + "name": "VariableDeclaration", + "src": "246:36:30" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transfer", + "payable": false, + "scope": 9226, + "stateMutability": "nonpayable", + "superFunction": 9350, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 9213, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9154, + "name": "ElementaryTypeName", + "src": "455:7:30" + } + ], + "id": 9155, + "name": "VariableDeclaration", + "src": "455:11:30" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 9213, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9156, + "name": "ElementaryTypeName", + "src": "468:7:30" + } + ], + "id": 9157, + "name": "VariableDeclaration", + "src": "468:14:30" + } + ], + "id": 9158, + "name": "ParameterList", + "src": "454:29:30" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9213, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9159, + "name": "ElementaryTypeName", + "src": "500:4:30" + } + ], + "id": 9160, + "name": "VariableDeclaration", + "src": "500:4:30" + } + ], + "id": 9161, + "name": "ParameterList", + "src": "499:6:30" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 9162, + "name": "Identifier", + "src": "512:7:30" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9155, + "type": "address", + "value": "_to" + }, + "id": 9163, + "name": "Identifier", + "src": "520:3:30" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 9164, + "name": "ElementaryTypeNameExpression", + "src": "527:7:30" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 9165, + "name": "Literal", + "src": "535:1:30" + } + ], + "id": 9166, + "name": "FunctionCall", + "src": "527:10:30" + } + ], + "id": 9167, + "name": "BinaryOperation", + "src": "520:17:30" + } + ], + "id": 9168, + "name": "FunctionCall", + "src": "512:26:30" + } + ], + "id": 9169, + "name": "ExpressionStatement", + "src": "512:26:30" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 9170, + "name": "Identifier", + "src": "544:7:30" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9157, + "type": "uint256", + "value": "_value" + }, + "id": 9171, + "name": "Identifier", + "src": "552:6:30" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9172, + "name": "Identifier", + "src": "562:8:30" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9173, + "name": "Identifier", + "src": "571:3:30" + } + ], + "id": 9174, + "name": "MemberAccess", + "src": "571:10:30" + } + ], + "id": 9175, + "name": "IndexAccess", + "src": "562:20:30" + } + ], + "id": 9176, + "name": "BinaryOperation", + "src": "552:30:30" + } + ], + "id": 9177, + "name": "FunctionCall", + "src": "544:39:30" + } + ], + "id": 9178, + "name": "ExpressionStatement", + "src": "544:39:30" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9179, + "name": "Identifier", + "src": "653:8:30" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9180, + "name": "Identifier", + "src": "662:3:30" + } + ], + "id": 9181, + "name": "MemberAccess", + "src": "662:10:30" + } + ], + "id": 9182, + "name": "IndexAccess", + "src": "653:20:30" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9183, + "name": "Identifier", + "src": "676:8:30" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9184, + "name": "Identifier", + "src": "685:3:30" + } + ], + "id": 9185, + "name": "MemberAccess", + "src": "685:10:30" + } + ], + "id": 9186, + "name": "IndexAccess", + "src": "676:20:30" + } + ], + "id": 9187, + "name": "MemberAccess", + "src": "676:24:30" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9157, + "type": "uint256", + "value": "_value" + }, + "id": 9188, + "name": "Identifier", + "src": "701:6:30" + } + ], + "id": 9189, + "name": "FunctionCall", + "src": "676:32:30" + } + ], + "id": 9190, + "name": "Assignment", + "src": "653:55:30" + } + ], + "id": 9191, + "name": "ExpressionStatement", + "src": "653:55:30" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9192, + "name": "Identifier", + "src": "714:8:30" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9155, + "type": "address", + "value": "_to" + }, + "id": 9193, + "name": "Identifier", + "src": "723:3:30" + } + ], + "id": 9194, + "name": "IndexAccess", + "src": "714:13:30" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9195, + "name": "Identifier", + "src": "730:8:30" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9155, + "type": "address", + "value": "_to" + }, + "id": 9196, + "name": "Identifier", + "src": "739:3:30" + } + ], + "id": 9197, + "name": "IndexAccess", + "src": "730:13:30" + } + ], + "id": 9198, + "name": "MemberAccess", + "src": "730:17:30" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9157, + "type": "uint256", + "value": "_value" + }, + "id": 9199, + "name": "Identifier", + "src": "748:6:30" + } + ], + "id": 9200, + "name": "FunctionCall", + "src": "730:25:30" + } + ], + "id": 9201, + "name": "Assignment", + "src": "714:41:30" + } + ], + "id": 9202, + "name": "ExpressionStatement", + "src": "714:41:30" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9358, + "type": "function (address,address,uint256)", + "value": "Transfer" + }, + "id": 9203, + "name": "Identifier", + "src": "761:8:30" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9204, + "name": "Identifier", + "src": "770:3:30" + } + ], + "id": 9205, + "name": "MemberAccess", + "src": "770:10:30" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9155, + "type": "address", + "value": "_to" + }, + "id": 9206, + "name": "Identifier", + "src": "782:3:30" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9157, + "type": "uint256", + "value": "_value" + }, + "id": 9207, + "name": "Identifier", + "src": "787:6:30" + } + ], + "id": 9208, + "name": "FunctionCall", + "src": "761:33:30" + } + ], + "id": 9209, + "name": "ExpressionStatement", + "src": "761:33:30" + }, + { + "attributes": { + "functionReturnParameters": 9161 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 9210, + "name": "Literal", + "src": "807:4:30" + } + ], + "id": 9211, + "name": "Return", + "src": "800:11:30" + } + ], + "id": 9212, + "name": "Block", + "src": "506:310:30" + } + ], + "id": 9213, + "name": "FunctionDefinition", + "src": "437:379:30" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "balanceOf", + "payable": false, + "scope": 9226, + "stateMutability": "view", + "superFunction": 9341, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_owner", + "scope": 9225, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9214, + "name": "ElementaryTypeName", + "src": "1037:7:30" + } + ], + "id": 9215, + "name": "VariableDeclaration", + "src": "1037:14:30" + } + ], + "id": 9216, + "name": "ParameterList", + "src": "1036:16:30" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "balance", + "scope": 9225, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9217, + "name": "ElementaryTypeName", + "src": "1074:7:30" + } + ], + "id": 9218, + "name": "VariableDeclaration", + "src": "1074:15:30" + } + ], + "id": 9219, + "name": "ParameterList", + "src": "1073:17:30" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 9219 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9220, + "name": "Identifier", + "src": "1104:8:30" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9215, + "type": "address", + "value": "_owner" + }, + "id": 9221, + "name": "Identifier", + "src": "1113:6:30" + } + ], + "id": 9222, + "name": "IndexAccess", + "src": "1104:16:30" + } + ], + "id": 9223, + "name": "Return", + "src": "1097:23:30" + } + ], + "id": 9224, + "name": "Block", + "src": "1091:34:30" + } + ], + "id": 9225, + "name": "FunctionDefinition", + "src": "1018:107:30" + } + ], + "id": 9226, + "name": "ContractDefinition", + "src": "177:951:30" + } + ], + "id": 9227, + "name": "SourceUnit", + "src": "0:1129:30" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.941Z" +} \ No newline at end of file diff --git a/contracts/BurnableToken.json b/contracts/BurnableToken.json new file mode 100644 index 000000000..2d7ba7da2 --- /dev/null +++ b/contracts/BurnableToken.json @@ -0,0 +1,1161 @@ +{ + "contractName": "BurnableToken", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_value", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "burner", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Burn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "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": "0x6060604052341561000f57600080fd5b6107d28061001e6000396000f3006060604052600436106100985763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b3811461009d57806318160ddd146100d357806323b872dd146100f857806342966c6814610120578063661884631461013857806370a082311461015a578063a9059cbb14610179578063d73dd6231461019b578063dd62ed3e146101bd575b600080fd5b34156100a857600080fd5b6100bf600160a060020a03600435166024356101e2565b604051901515815260200160405180910390f35b34156100de57600080fd5b6100e661024e565b60405190815260200160405180910390f35b341561010357600080fd5b6100bf600160a060020a0360043581169060243516604435610254565b341561012b57600080fd5b6101366004356103d6565b005b341561014357600080fd5b6100bf600160a060020a036004351660243561049f565b341561016557600080fd5b6100e6600160a060020a0360043516610599565b341561018457600080fd5b6100bf600160a060020a03600435166024356105b4565b34156101a657600080fd5b6100bf600160a060020a03600435166024356106af565b34156101c857600080fd5b6100e6600160a060020a0360043581169060243516610753565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316151561026b57600080fd5b600160a060020a03841660009081526001602052604090205482111561029057600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156102c357600080fd5b600160a060020a0384166000908152600160205260409020546102ec908363ffffffff61077e16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610321908363ffffffff61079016565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610369908363ffffffff61077e16565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60008082116103e457600080fd5b600160a060020a03331660009081526001602052604090205482111561040957600080fd5b5033600160a060020a03811660009081526001602052604090205461042e908361077e565b600160a060020a0382166000908152600160205260408120919091555461045b908363ffffffff61077e16565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156104fc57600160a060020a033381166000908152600260209081526040808320938816835292905290812055610533565b61050c818463ffffffff61077e16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b6000600160a060020a03831615156105cb57600080fd5b600160a060020a0333166000908152600160205260409020548211156105f057600080fd5b600160a060020a033316600090815260016020526040902054610619908363ffffffff61077e16565b600160a060020a03338116600090815260016020526040808220939093559085168152205461064e908363ffffffff61079016565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546106e7908363ffffffff61079016565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60008282111561078a57fe5b50900390565b60008282018381101561079f57fe5b93925050505600a165627a7a7230582095156e1f3bba2da1b4bb39e5bcf36d1b221778ce49216f645a5de6b686dbe8200029", + "deployedBytecode": "0x6060604052600436106100985763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b3811461009d57806318160ddd146100d357806323b872dd146100f857806342966c6814610120578063661884631461013857806370a082311461015a578063a9059cbb14610179578063d73dd6231461019b578063dd62ed3e146101bd575b600080fd5b34156100a857600080fd5b6100bf600160a060020a03600435166024356101e2565b604051901515815260200160405180910390f35b34156100de57600080fd5b6100e661024e565b60405190815260200160405180910390f35b341561010357600080fd5b6100bf600160a060020a0360043581169060243516604435610254565b341561012b57600080fd5b6101366004356103d6565b005b341561014357600080fd5b6100bf600160a060020a036004351660243561049f565b341561016557600080fd5b6100e6600160a060020a0360043516610599565b341561018457600080fd5b6100bf600160a060020a03600435166024356105b4565b34156101a657600080fd5b6100bf600160a060020a03600435166024356106af565b34156101c857600080fd5b6100e6600160a060020a0360043581169060243516610753565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316151561026b57600080fd5b600160a060020a03841660009081526001602052604090205482111561029057600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156102c357600080fd5b600160a060020a0384166000908152600160205260409020546102ec908363ffffffff61077e16565b600160a060020a038086166000908152600160205260408082209390935590851681522054610321908363ffffffff61079016565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610369908363ffffffff61077e16565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60008082116103e457600080fd5b600160a060020a03331660009081526001602052604090205482111561040957600080fd5b5033600160a060020a03811660009081526001602052604090205461042e908361077e565b600160a060020a0382166000908152600160205260408120919091555461045b908363ffffffff61077e16565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156104fc57600160a060020a033381166000908152600260209081526040808320938816835292905290812055610533565b61050c818463ffffffff61077e16565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b6000600160a060020a03831615156105cb57600080fd5b600160a060020a0333166000908152600160205260409020548211156105f057600080fd5b600160a060020a033316600090815260016020526040902054610619908363ffffffff61077e16565b600160a060020a03338116600090815260016020526040808220939093559085168152205461064e908363ffffffff61079016565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546106e7908363ffffffff61079016565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60008282111561078a57fe5b50900390565b60008282018381101561079f57fe5b93925050505600a165627a7a7230582095156e1f3bba2da1b4bb39e5bcf36d1b221778ce49216f645a5de6b686dbe8200029", + "sourceMap": "149:696:31:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "149:696:31:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:183:35;;;;;;;;;;-1:-1:-1;;;;;1799:183:35;;;;;;;;;;;;;;;;;;;;;;;;179:26:33;;;;;;;;;;;;;;;;;;;;;;;;;;;737:439:35;;;;;;;;;;-1:-1:-1;;;;;737:439:35;;;;;;;;;;;;370:473:31;;;;;;;;;;;;;;;;2928:398:35;;;;;;;;;;-1:-1:-1;;;;;2928:398:35;;;;;;;1018:107:30;;;;;;;;;;-1:-1:-1;;;;;1018:107:30;;;;;437:379;;;;;;;;;;-1:-1:-1;;;;;437:379:30;;;;;;;2667:257:35;;;;;;;;;;-1:-1:-1;;;;;2667:257:35;;;;;;;2301:126;;;;;;;;;;-1:-1:-1;;;;;2301:126:35;;;;;;;;;;1799:183;-1:-1:-1;;;;;1886:10:35;1878:19;;1866:4;1878:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;:38;;;1866:4;;1878:29;:19;1922:38;;1910:6;;1922:38;;;;;;;;;;;;;-1:-1:-1;1973:4:35;1799:183;;;;:::o;179:26:33:-;;;;:::o;737:439:35:-;819:4;-1:-1:-1;;;;;839:17:35;;;;831:26;;;;;;-1:-1:-1;;;;;881:15:35;;;;;;:8;:15;;;;;;871:25;;;863:34;;;;;;-1:-1:-1;;;;;921:14:35;;;;;;;:7;:14;;;;;;;;936:10;921:26;;;;;;;;;;911:36;;;903:45;;;;;;-1:-1:-1;;;;;973:15:35;;;;;;:8;:15;;;;;;:27;;993:6;973:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;955:15:35;;;;;;;:8;:15;;;;;;:45;;;;1022:13;;;;;;;:25;;1040:6;1022:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1006:13:35;;;;;;;:8;:13;;;;;;;;:41;;;;1082:14;;;;;:7;:14;;;;;1097:10;1082:26;;;;;;;;;;;:38;;1113:6;1082:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;1053:14:35;;;;;;;:7;:14;;;;;;;;1068:10;1053:26;;;;;;;;;;;:67;;;;1126:28;;;;;;1147:6;;1126:28;;;;;;;;;;;;;-1:-1:-1;1167:4:35;737:439;;;;;:::o;370:473:31:-;675:14;425:10;;;417:19;;;;;;-1:-1:-1;;;;;473:10:31;464:20;;;;;:8;:20;;;;;;454:30;;;446:39;;;;;;-1:-1:-1;692:10:31;-1:-1:-1;;;;;731:16:31;;;;;;:8;:16;;;;;;:28;;752:6;731:20;:28::i;:::-;-1:-1:-1;;;;;712:16:31;;;;;;:8;:16;;;;;:47;;;;783:11;:23;;799:6;783:23;:15;:23;:::i;:::-;769:11;:37;-1:-1:-1;;;;;816:20:31;;;829:6;816:20;;;;;;;;;;;;;;370:473;;:::o;2928:398:35:-;-1:-1:-1;;;;;3047:10:35;3039:19;;3011:4;3039:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;3078:27;;;3074:164;;;-1:-1:-1;;;;;3123:10:35;3115:19;;3147:1;3115:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;:33;3074:164;;;3201:30;:8;3214:16;3201:30;:12;:30;:::i;:::-;-1:-1:-1;;;;;3177:10:35;3169:19;;;;;;:7;:19;;;;;;;;:29;;;;;;;;;:62;3074:164;-1:-1:-1;;;;;3252:10:35;3243:61;;3274:19;;;;:7;:19;;;;;;;;3243:61;;;3274:29;;;;;;;;;;;;3243:61;;;;;;;;;;;;;;;-1:-1:-1;3317:4:35;;2928:398;-1:-1:-1;;;2928:398:35:o;1018:107:30:-;-1:-1:-1;;;;;1104:16:30;1074:15;1104:16;;;:8;:16;;;;;;;1018:107::o;437:379::-;500:4;-1:-1:-1;;;;;520:17:30;;;;512:26;;;;;;-1:-1:-1;;;;;571:10:30;562:20;;;;;:8;:20;;;;;;552:30;;;544:39;;;;;;-1:-1:-1;;;;;685:10:30;676:20;;;;;:8;:20;;;;;;:32;;701:6;676:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;662:10:30;653:20;;;;;;:8;:20;;;;;;:55;;;;730:13;;;;;;;:25;;748:6;730:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;714:13:30;;;;;;;:8;:13;;;;;;;:41;;;;:13;770:10;761:33;;;;;;787:6;;761:33;;;;;;;;;;;;;-1:-1:-1;807:4:30;437:379;;;;:::o;2667:257:35:-;-1:-1:-1;;;;;2797:10:35;2789:19;;2745:4;2789:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;:46;;2823:11;2789:46;:33;:46;:::i;:::-;-1:-1:-1;;;;;2765:10:35;2757:19;;;;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;;:78;;;:29;;:19;;2841:61;;2757:78;2841:61;;;;;;;;;;;;;-1:-1:-1;2915:4:35;2667:257;;;;:::o;2301:126::-;-1:-1:-1;;;;;2397:15:35;;;2375:7;2397:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2301:126::o;584:110:28:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;698:129::-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:28:o", + "source": "pragma solidity ^0.4.18;\n\nimport './StandardToken.sol';\n\n/**\n * @title Burnable Token\n * @dev Token that can be irreversibly burned (destroyed).\n */\ncontract BurnableToken is StandardToken {\n\n event Burn(address indexed burner, uint256 value);\n\n /**\n * @dev Burns a specific amount of tokens.\n * @param _value The amount of token to be burned.\n */\n function burn(uint256 _value) public {\n require(_value > 0);\n require(_value <= balances[msg.sender]);\n // no need to require value <= totalSupply, since that would imply the\n // sender's balance is greater than the totalSupply, which *should* be an assertion failure\n\n address burner = msg.sender;\n balances[burner] = balances[burner].sub(_value);\n totalSupply = totalSupply.sub(_value);\n Burn(burner, _value);\n }\n}\n", + "sourcePath": "zeppelin-solidity/contracts/token/BurnableToken.sol", + "ast": { + "attributes": { + "absolutePath": "zeppelin-solidity/contracts/token/BurnableToken.sol", + "exportedSymbols": { + "BurnableToken": [ + 9287 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 9228, + "name": "PragmaDirective", + "src": "0:24:31" + }, + { + "attributes": { + "SourceUnit": 9701, + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "file": "./StandardToken.sol", + "scope": 9288, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 9229, + "name": "ImportDirective", + "src": "26:29:31" + }, + { + "attributes": { + "contractDependencies": [ + 9226, + 9330, + 9359, + 9700 + ], + "contractKind": "contract", + "documentation": "@title Burnable Token\n@dev Token that can be irreversibly burned (destroyed).", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 9287, + 9700, + 9226, + 9330, + 9359 + ], + "name": "BurnableToken", + "scope": 9288 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 9230, + "name": "UserDefinedTypeName", + "src": "175:13:31" + } + ], + "id": 9231, + "name": "InheritanceSpecifier", + "src": "175:13:31" + }, + { + "attributes": { + "anonymous": false, + "name": "Burn" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "burner", + "scope": 9237, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9232, + "name": "ElementaryTypeName", + "src": "207:7:31" + } + ], + "id": 9233, + "name": "VariableDeclaration", + "src": "207:22:31" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 9237, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9234, + "name": "ElementaryTypeName", + "src": "231:7:31" + } + ], + "id": 9235, + "name": "VariableDeclaration", + "src": "231:13:31" + } + ], + "id": 9236, + "name": "ParameterList", + "src": "206:39:31" + } + ], + "id": 9237, + "name": "EventDefinition", + "src": "196:50:31" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "burn", + "payable": false, + "scope": 9287, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 9286, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9238, + "name": "ElementaryTypeName", + "src": "384:7:31" + } + ], + "id": 9239, + "name": "VariableDeclaration", + "src": "384:14:31" + } + ], + "id": 9240, + "name": "ParameterList", + "src": "383:16:31" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 9241, + "name": "ParameterList", + "src": "407:0:31" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 9242, + "name": "Identifier", + "src": "417:7:31" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9239, + "type": "uint256", + "value": "_value" + }, + "id": 9243, + "name": "Identifier", + "src": "425:6:31" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 9244, + "name": "Literal", + "src": "434:1:31" + } + ], + "id": 9245, + "name": "BinaryOperation", + "src": "425:10:31" + } + ], + "id": 9246, + "name": "FunctionCall", + "src": "417:19:31" + } + ], + "id": 9247, + "name": "ExpressionStatement", + "src": "417:19:31" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 9248, + "name": "Identifier", + "src": "446:7:31" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9239, + "type": "uint256", + "value": "_value" + }, + "id": 9249, + "name": "Identifier", + "src": "454:6:31" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9250, + "name": "Identifier", + "src": "464:8:31" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9251, + "name": "Identifier", + "src": "473:3:31" + } + ], + "id": 9252, + "name": "MemberAccess", + "src": "473:10:31" + } + ], + "id": 9253, + "name": "IndexAccess", + "src": "464:20:31" + } + ], + "id": 9254, + "name": "BinaryOperation", + "src": "454:30:31" + } + ], + "id": 9255, + "name": "FunctionCall", + "src": "446:39:31" + } + ], + "id": 9256, + "name": "ExpressionStatement", + "src": "446:39:31" + }, + { + "attributes": { + "assignments": [ + 9258 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "burner", + "scope": 9286, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9257, + "name": "ElementaryTypeName", + "src": "675:7:31" + } + ], + "id": 9258, + "name": "VariableDeclaration", + "src": "675:14:31" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9259, + "name": "Identifier", + "src": "692:3:31" + } + ], + "id": 9260, + "name": "MemberAccess", + "src": "692:10:31" + } + ], + "id": 9261, + "name": "VariableDeclarationStatement", + "src": "675:27:31" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9262, + "name": "Identifier", + "src": "712:8:31" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9258, + "type": "address", + "value": "burner" + }, + "id": 9263, + "name": "Identifier", + "src": "721:6:31" + } + ], + "id": 9264, + "name": "IndexAccess", + "src": "712:16:31" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9265, + "name": "Identifier", + "src": "731:8:31" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9258, + "type": "address", + "value": "burner" + }, + "id": 9266, + "name": "Identifier", + "src": "740:6:31" + } + ], + "id": 9267, + "name": "IndexAccess", + "src": "731:16:31" + } + ], + "id": 9268, + "name": "MemberAccess", + "src": "731:20:31" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9239, + "type": "uint256", + "value": "_value" + }, + "id": 9269, + "name": "Identifier", + "src": "752:6:31" + } + ], + "id": 9270, + "name": "FunctionCall", + "src": "731:28:31" + } + ], + "id": 9271, + "name": "Assignment", + "src": "712:47:31" + } + ], + "id": 9272, + "name": "ExpressionStatement", + "src": "712:47:31" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9334, + "type": "uint256", + "value": "totalSupply" + }, + "id": 9273, + "name": "Identifier", + "src": "769:11:31" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9334, + "type": "uint256", + "value": "totalSupply" + }, + "id": 9274, + "name": "Identifier", + "src": "783:11:31" + } + ], + "id": 9275, + "name": "MemberAccess", + "src": "783:15:31" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9239, + "type": "uint256", + "value": "_value" + }, + "id": 9276, + "name": "Identifier", + "src": "799:6:31" + } + ], + "id": 9277, + "name": "FunctionCall", + "src": "783:23:31" + } + ], + "id": 9278, + "name": "Assignment", + "src": "769:37:31" + } + ], + "id": 9279, + "name": "ExpressionStatement", + "src": "769:37:31" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9237, + "type": "function (address,uint256)", + "value": "Burn" + }, + "id": 9280, + "name": "Identifier", + "src": "816:4:31" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9258, + "type": "address", + "value": "burner" + }, + "id": 9281, + "name": "Identifier", + "src": "821:6:31" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9239, + "type": "uint256", + "value": "_value" + }, + "id": 9282, + "name": "Identifier", + "src": "829:6:31" + } + ], + "id": 9283, + "name": "FunctionCall", + "src": "816:20:31" + } + ], + "id": 9284, + "name": "ExpressionStatement", + "src": "816:20:31" + } + ], + "id": 9285, + "name": "Block", + "src": "407:436:31" + } + ], + "id": 9286, + "name": "FunctionDefinition", + "src": "370:473:31" + } + ], + "id": 9287, + "name": "ContractDefinition", + "src": "149:696:31" + } + ], + "id": 9288, + "name": "SourceUnit", + "src": "0:846:31" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.945Z" +} \ No newline at end of file diff --git a/contracts/ContributionReward.json b/contracts/ContributionReward.json new file mode 100644 index 000000000..4636c4922 --- /dev/null +++ b/contracts/ContributionReward.json @@ -0,0 +1,7121 @@ +{ + "contractName": "ContributionReward", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "name": "orgNativeTokenFee", + "type": "uint256" + }, + { + "name": "voteApproveParams", + "type": "bytes32" + }, + { + "name": "schemeNativeTokenFee", + "type": "uint256" + }, + { + "name": "intVote", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "bytes32" + } + ], + "name": "organizationsProposals", + "outputs": [ + { + "name": "contributionDescriptionHash", + "type": "bytes32" + }, + { + "name": "nativeTokenReward", + "type": "uint256" + }, + { + "name": "reputationReward", + "type": "uint256" + }, + { + "name": "ethReward", + "type": "uint256" + }, + { + "name": "externalToken", + "type": "address" + }, + { + "name": "externalTokenReward", + "type": "uint256" + }, + { + "name": "beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_param", + "type": "int256" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizations", + "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": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_orgNativeTokenFee", + "type": "uint256" + }, + { + "name": "_schemeNativeTokenFee", + "type": "uint256" + }, + { + "name": "_voteApproveParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_orgNativeTokenFee", + "type": "uint256" + }, + { + "name": "_schemeNativeTokenFee", + "type": "uint256" + }, + { + "name": "_voteApproveParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_contributionDesciptionHash", + "type": "bytes32" + }, + { + "name": "_rewards", + "type": "uint256[4]" + }, + { + "name": "_externalToken", + "type": "address" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "name": "submitContribution", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "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" + }, + { + "constant": true, + "inputs": [], + "name": "hashedParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_contributionDesciption", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_nativeTokenReward", + "type": "uint256" + }, + { + "indexed": false, + "name": "_reputationReward", + "type": "uint256" + }, + { + "indexed": false, + "name": "_ethReward", + "type": "uint256" + }, + { + "indexed": false, + "name": "_externalTokenReward", + "type": "uint256" + }, + { + "indexed": false, + "name": "_externalToken", + "type": "address" + }, + { + "indexed": false, + "name": "_beneficiary", + "type": "address" + } + ], + "name": "LogNewContributionProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalDeleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6040516060806112a083398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617815590925061006b9150849084908490640100000000610073810261086b1704565b5050506100c6565b60005433600160a060020a0390811691161461008e57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b6111cb806100d56000396000f3006060604052600436106100cc5763ffffffff60e060020a6000350416630250680481146100d157806306e3a9781461011b578063310ce4e21461018957806338af3eed146101c25780634345a610146101f15780635a1f74061461021f5780638da5cb5b1461023e57806390be003c1461025157806399c0bef514610270578063b8961d32146102aa578063bd7a89fa146102d2578063c3c5a5471461032d578063ddca3f431461034c578063e1758bd81461035f578063f2fde38b14610372578063f98e87ba14610391575b600080fd5b34156100dc57600080fd5b6100e76004356103a4565b6040519384526020840192909252604080840191909152600160a060020a0390911660608301526080909101905180910390f35b341561012657600080fd5b61013d600160a060020a03600435166024356103d4565b60405196875260208701959095526040808701949094526060860192909252600160a060020a03908116608086015260a085019190915290911660c083015260e0909101905180910390f35b341561019457600080fd5b6101ae600435600160a060020a0360243516604435610426565b604051901515815260200160405180910390f35b34156101cd57600080fd5b6101d561085c565b604051600160a060020a03909116815260200160405180910390f35b34156101fc57600080fd5b61021d600160a060020a03600435811690602435906044351660643561086b565b005b341561022a57600080fd5b6101ae600160a060020a03600435166108be565b341561024957600080fd5b6101d56108d3565b341561025c57600080fd5b61021d600160a060020a03600435166108e2565b341561027b57600080fd5b610298600435602435604435600160a060020a0360643516610a0b565b60405190815260200160405180910390f35b34156102b557600080fd5b610298600435602435604435600160a060020a0360643516610a5d565b34156102dd57600080fd5b61029860048035600160a060020a0316906024359060c46044826080604051908101604052919082826080808284375093955050600160a060020a03843581169460200135169250610ab6915050565b341561033857600080fd5b6101ae600160a060020a0360043516610f98565b341561035757600080fd5b610298610fb6565b341561036a57600080fd5b6101d5610fbc565b341561037d57600080fd5b61021d600160a060020a0360043516610fcb565b341561039c57600080fd5b610298611059565b600760205260009081526040902080546001820154600283015460039093015491929091600160a060020a031684565b6006602081815260009384526040808520909152918352912080546001820154600283015460038401546004850154600586015495909601549395929491939092600160a060020a0390811692911687565b600061043061113c565b600033600160a060020a0316600760006104498861105f565b8152602081019190915260400160002060030154600160a060020a03161461047057600080fd5b83600114156107be57600160a060020a0385166000908152600660209081526040808320898452909152908190209060e0905190810160409081528254825260018301546020830152600283015481830152600383015460608301526004830154600160a060020a039081166080840152600584015460a0840152600690930154831660c083015290935090861690638da5cb5b9060009051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561053b57600080fd5b6102c65a03f1151561054c57600080fd5b5050506040518051915050600160a060020a0381166318e236e460408401518460c0015160006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b15156105bd57600080fd5b6102c65a03f115156105ce57600080fd5b5050506040518051905015156105e357600080fd5b80600160a060020a03166310c5b32883602001518460c0015160006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b151561064957600080fd5b6102c65a03f1151561065a57600080fd5b50505060405180519050151561066f57600080fd5b80600160a060020a031663cb16d4a283606001518460c0015160006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b15156106d557600080fd5b6102c65a03f115156106e657600080fd5b5050506040518051905015156106fb57600080fd5b60006080830151600160a060020a03161415801561071d575060008260a00151115b156107be5780600160a060020a031663dab0efff83608001518460c001518560a0015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561079857600080fd5b6102c65a03f115156107a957600080fd5b5050506040518051905015156107be57600080fd5b600160a060020a03851660008181526006602081815260408084208b8552909152808320838155600181018490556002810184905560038101849055600481018054600160a060020a0319908116909155600582019490945590910180549092169091558791907f1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9905160405180910390a350600195945050505050565b600354600160a060020a031681565b60005433600160a060020a0390811691161461088657600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b600054600160a060020a031681565b600060025411801561090d5750600160a060020a03811660009081526005602052604090205460ff16155b156109a657600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561098a57600080fd5b6102c65a03f1151561099b57600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b6000828585846040519384526020840192909252604080840191909152600160a060020a039091166c010000000000000000000000000260608301526074909101905180910390209050949350505050565b600080610a6c86868686610a0b565b600081815260076020526040902096875560028701959095555050600184019190915560039092018054600160a060020a031916600160a060020a03939093169290921790915590565b6000610ac0611178565b6000610aca61113c565b600160a060020a038916600090815260056020526040902054899060ff161515610af357600080fd5b60076000610b008c61105f565b815260208101919091526040908101600020906080905190810160409081528254825260018301546020830152600283015490820152600390910154600160a060020a031660608201529350600084511115610c3d5789600160a060020a031663e1758bd86000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b9c57600080fd5b6102c65a03f11515610bad57600080fd5b5050506040518051600160a060020a031690506323b872dd338c875160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610c2157600080fd5b6102c65a03f11515610c3257600080fd5b505050604051805150505b600084604001511115610cd657600154600160a060020a03166323b872dd338c604088015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610cba57600080fd5b6102c65a03f11515610ccb57600080fd5b505050604051805150505b8360600151600160a060020a03166388737b5e600286602001518d3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610d4f57600080fd5b6102c65a03f11515610d6057600080fd5b5050506040518051935050600160a060020a0386161515610d7f573395505b60e060405190810160405289815260208101895181526020018960016020020151815260200160408a01518152600160a060020a038916602082015260400160608a01518152600160a060020a038089166020928301528c166000908152600682526040808220878352909252209092508290815181556020820151816001015560408201518160020155606082015181600301556080820151600482018054600160a060020a031916600160a060020a039290921691909117905560a0820151816005015560c08201516006919091018054600160a060020a031916600160a060020a03909216919091179055506060840151600160a060020a039081169084908c167f5cc98899c5cc30cc7fb336d0e1f31f81039617b2e23ff5ed8cd43803208e75ac8c8c5160208e015160408f01518f600360200201518f8f604051968752602087019590955260408087019490945260608601929092526080850152600160a060020a0390811660a085015290911660c083015260e0909101905180910390a48360600151600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610f6f57600080fd5b6102c65a03f11515610f8057600080fd5b505050604051805150929a9950505050505050505050565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a03908116911614610fe657600080fd5b600160a060020a0381161515610ffb57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156110a857600080fd5b6102c65a03f115156110b957600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561111b57600080fd5b6102c65a03f1151561112c57600080fd5b5050506040518051949350505050565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b608060405190810160409081526000808352602083018190529082018190526060820152905600a165627a7a723058200b634ae8657cfd7510635b0701e134f93813bd4b97ca62845777d10f7cde985c0029", + "deployedBytecode": "0x6060604052600436106100cc5763ffffffff60e060020a6000350416630250680481146100d157806306e3a9781461011b578063310ce4e21461018957806338af3eed146101c25780634345a610146101f15780635a1f74061461021f5780638da5cb5b1461023e57806390be003c1461025157806399c0bef514610270578063b8961d32146102aa578063bd7a89fa146102d2578063c3c5a5471461032d578063ddca3f431461034c578063e1758bd81461035f578063f2fde38b14610372578063f98e87ba14610391575b600080fd5b34156100dc57600080fd5b6100e76004356103a4565b6040519384526020840192909252604080840191909152600160a060020a0390911660608301526080909101905180910390f35b341561012657600080fd5b61013d600160a060020a03600435166024356103d4565b60405196875260208701959095526040808701949094526060860192909252600160a060020a03908116608086015260a085019190915290911660c083015260e0909101905180910390f35b341561019457600080fd5b6101ae600435600160a060020a0360243516604435610426565b604051901515815260200160405180910390f35b34156101cd57600080fd5b6101d561085c565b604051600160a060020a03909116815260200160405180910390f35b34156101fc57600080fd5b61021d600160a060020a03600435811690602435906044351660643561086b565b005b341561022a57600080fd5b6101ae600160a060020a03600435166108be565b341561024957600080fd5b6101d56108d3565b341561025c57600080fd5b61021d600160a060020a03600435166108e2565b341561027b57600080fd5b610298600435602435604435600160a060020a0360643516610a0b565b60405190815260200160405180910390f35b34156102b557600080fd5b610298600435602435604435600160a060020a0360643516610a5d565b34156102dd57600080fd5b61029860048035600160a060020a0316906024359060c46044826080604051908101604052919082826080808284375093955050600160a060020a03843581169460200135169250610ab6915050565b341561033857600080fd5b6101ae600160a060020a0360043516610f98565b341561035757600080fd5b610298610fb6565b341561036a57600080fd5b6101d5610fbc565b341561037d57600080fd5b61021d600160a060020a0360043516610fcb565b341561039c57600080fd5b610298611059565b600760205260009081526040902080546001820154600283015460039093015491929091600160a060020a031684565b6006602081815260009384526040808520909152918352912080546001820154600283015460038401546004850154600586015495909601549395929491939092600160a060020a0390811692911687565b600061043061113c565b600033600160a060020a0316600760006104498861105f565b8152602081019190915260400160002060030154600160a060020a03161461047057600080fd5b83600114156107be57600160a060020a0385166000908152600660209081526040808320898452909152908190209060e0905190810160409081528254825260018301546020830152600283015481830152600383015460608301526004830154600160a060020a039081166080840152600584015460a0840152600690930154831660c083015290935090861690638da5cb5b9060009051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561053b57600080fd5b6102c65a03f1151561054c57600080fd5b5050506040518051915050600160a060020a0381166318e236e460408401518460c0015160006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b15156105bd57600080fd5b6102c65a03f115156105ce57600080fd5b5050506040518051905015156105e357600080fd5b80600160a060020a03166310c5b32883602001518460c0015160006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b151561064957600080fd5b6102c65a03f1151561065a57600080fd5b50505060405180519050151561066f57600080fd5b80600160a060020a031663cb16d4a283606001518460c0015160006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b15156106d557600080fd5b6102c65a03f115156106e657600080fd5b5050506040518051905015156106fb57600080fd5b60006080830151600160a060020a03161415801561071d575060008260a00151115b156107be5780600160a060020a031663dab0efff83608001518460c001518560a0015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561079857600080fd5b6102c65a03f115156107a957600080fd5b5050506040518051905015156107be57600080fd5b600160a060020a03851660008181526006602081815260408084208b8552909152808320838155600181018490556002810184905560038101849055600481018054600160a060020a0319908116909155600582019490945590910180549092169091558791907f1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9905160405180910390a350600195945050505050565b600354600160a060020a031681565b60005433600160a060020a0390811691161461088657600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b600054600160a060020a031681565b600060025411801561090d5750600160a060020a03811660009081526005602052604090205460ff16155b156109a657600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561098a57600080fd5b6102c65a03f1151561099b57600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b6000828585846040519384526020840192909252604080840191909152600160a060020a039091166c010000000000000000000000000260608301526074909101905180910390209050949350505050565b600080610a6c86868686610a0b565b600081815260076020526040902096875560028701959095555050600184019190915560039092018054600160a060020a031916600160a060020a03939093169290921790915590565b6000610ac0611178565b6000610aca61113c565b600160a060020a038916600090815260056020526040902054899060ff161515610af357600080fd5b60076000610b008c61105f565b815260208101919091526040908101600020906080905190810160409081528254825260018301546020830152600283015490820152600390910154600160a060020a031660608201529350600084511115610c3d5789600160a060020a031663e1758bd86000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610b9c57600080fd5b6102c65a03f11515610bad57600080fd5b5050506040518051600160a060020a031690506323b872dd338c875160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610c2157600080fd5b6102c65a03f11515610c3257600080fd5b505050604051805150505b600084604001511115610cd657600154600160a060020a03166323b872dd338c604088015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610cba57600080fd5b6102c65a03f11515610ccb57600080fd5b505050604051805150505b8360600151600160a060020a03166388737b5e600286602001518d3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610d4f57600080fd5b6102c65a03f11515610d6057600080fd5b5050506040518051935050600160a060020a0386161515610d7f573395505b60e060405190810160405289815260208101895181526020018960016020020151815260200160408a01518152600160a060020a038916602082015260400160608a01518152600160a060020a038089166020928301528c166000908152600682526040808220878352909252209092508290815181556020820151816001015560408201518160020155606082015181600301556080820151600482018054600160a060020a031916600160a060020a039290921691909117905560a0820151816005015560c08201516006919091018054600160a060020a031916600160a060020a03909216919091179055506060840151600160a060020a039081169084908c167f5cc98899c5cc30cc7fb336d0e1f31f81039617b2e23ff5ed8cd43803208e75ac8c8c5160208e015160408f01518f600360200201518f8f604051968752602087019590955260408087019490945260608601929092526080850152600160a060020a0390811660a085015290911660c083015260e0909101905180910390a48360600151600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610f6f57600080fd5b6102c65a03f11515610f8057600080fd5b505050604051805150929a9950505050505050505050565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a03908116911614610fe657600080fd5b600160a060020a0381161515610ffb57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156110a857600080fd5b6102c65a03f115156110b957600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561111b57600080fd5b6102c65a03f1151561112c57600080fd5b5050506040518051949350505050565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b608060405190810160409081526000808352602083018190529082018190526060820152905600a165627a7a723058200b634ae8657cfd7510635b0701e134f93813bd4b97ca62845777d10f7cde985c0029", + "sourceMap": "347:8558:15:-;;;2431:177;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;2431:177:15;;-1:-1:-1;2538:62:15;;-1:-1:-1;2555:12:15;;2569:4;;2431:177;;2538:16;;;;;;:62;:::i;:::-;2431:177;;;347:8558;;1314:347:22;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;347:8558:15:-;;;;;;;", + "deployedSourceMap": "347:8558:15:-;;;;;;;;;-1:-1:-1;;;347:8558:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2288:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2288:46:15;;;;;;;;;;;;;;;;;;1554:86;;;;;;;;;;-1:-1:-1;;;;;1554:86:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1554:86:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7471:1431;;;;;;;;;;;;-1:-1:-1;;;;;7471:1431:15;;;;;;;;;;;;;;;;;;;;;;;;407:26:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;407:26:22;;;;;;;;;;;;;;1314:347;;;;;;;;;;-1:-1:-1;;;;;1314:347:22;;;;;;;;;;;;;;;;;591:43;;;;;;;;;;-1:-1:-1;;;;;591:43:22;;;;;238:20:29;;;;;;;;;;;;866:315:22;;;;;;;;;;-1:-1:-1;;;;;866:315:22;;;;;4053:322:15;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4053:322:15;;;;;;;;;;;;;;;;;;;;2716:698;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2716:698:15;;;;;5031:2117;;;;;;;;;;;;;-1:-1:-1;;;;;5031:2117:15;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5031:2117:15;;-1:-1:-1;;;;;;;5031:2117:15;;;;;;;;;;-1:-1:-1;5031:2117:15;;-1:-1:-1;;5031:2117:15;1189:117:22;;;;;;;;;;-1:-1:-1;;;;;1189:117:22;;;;;385:15;;;;;;;;;;;;346:32;;;;;;;;;;;;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;440:31:22;;;;;;;;;;;;2288:46:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2288:46:15;;:::o;1554:86::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1554:86:15;;;;;;;:::o;7471:1431::-;7553:4;7851:36;;:::i;:::-;7978:21;7705:10;-1:-1:-1;;;;;7637:78:15;:10;:56;7648:44;7683:7;7648:27;:44::i;:::-;7637:56;;;;;;;;;;;;;:64;;;-1:-1:-1;;;;;7637:64:15;:78;7629:87;;;;;;7773:6;7783:1;7773:11;7769:990;;;-1:-1:-1;;;;;7890:31:15;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;;;7851:83;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7851:83:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8013:21:15;;;;;;7851:83;;8013:23;;;;;;;;;-1:-1:-1;;;8013:23:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;8057:25:15;;;8087;;;;8115:8;:20;;;8057:79;;;;;;;;-1:-1:-1;;;8057:79:15;;;;;;;;;;;;;-1:-1:-1;;;;;8057:79:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8056:80;8052:131;;;8157:8;;;8052:131;8202:10;-1:-1:-1;;;;;8202:21:15;;8224:8;:26;;;8252:8;:20;;;8202:71;;;;;;;;-1:-1:-1;;;8202:71:15;;;;;;;;;;;;;-1:-1:-1;;;;;8202:71:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8201:72;8197:123;;;8294:8;;;8197:123;8339:10;-1:-1:-1;;;;;8339:20:15;;8360:8;:18;;;8380:8;:20;;;8339:62;;;;;;;;-1:-1:-1;;;8339:62:15;;;;;;;;;;;;;-1:-1:-1;;;;;8339:62:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8338:63;8334:114;;;8422:8;;;8334:114;8500:1;8466:22;;;;-1:-1:-1;;;;;8466:36:15;;;:72;;;;;8537:1;8506:8;:28;;;:32;8466:72;8462:284;;;8564:10;-1:-1:-1;;;;;8564:32:15;;8597:8;:22;;;8621:8;:20;;;8643:8;:28;;;8564:108;;;;;;;;-1:-1:-1;;;8564:108:15;;;;;;-1:-1:-1;;;;;8564:108:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8563:109;8559:168;;;8697:8;;;8559:168;-1:-1:-1;;;;;8776:31:15;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;8769:51;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8769:51:15;;;;;;;;;;;;;;;;;;;;;;;;8808:11;;8776:31;8831:41;;;;;;;;;;-1:-1:-1;8890:4:15;;7471:1431;-1:-1:-1;;;;;7471:1431:15:o;407:26:22:-;;;-1:-1:-1;;;;;407:26:22;;:::o;1314:347::-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;591:43::-;;;;;;;;;;;;;;;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;866:315:22:-;980:1;974:3;;:7;973:39;;;;-1:-1:-1;;;;;;989:22:22;;;;;;:13;:22;;;;;;;;987:24;973:39;969:123;;;1029:11;;1063;;1076:3;;-1:-1:-1;;;;;1029:11:22;;;;:24;;1054:7;;1063:11;;;1029;:51;;;;;;;-1:-1:-1;;;1029:51:22;;;;;;-1:-1:-1;;;;;1029:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;969:123:22;-1:-1:-1;;;;;1102:22:22;;;;;;:13;:22;;;;;;;:29;;-1:-1:-1;;1102:29:22;1127:4;1102:29;;;1142:31;;1116:7;;1142:31;-1:-1:-1;;;;;1142:31:22;;;;;;;;;;;;;;866:315;:::o;4053:322:15:-;4251:7;4294:18;4314;4334:21;4357:8;4284:82;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4284:82:15;;;;;;;;;;;;;;;;;;;;4276:91;;4053:322;;;;;;:::o;2716:698::-;2905:7;2930:18;2951:153;2983:18;3016:21;3052:18;3085:8;2951:17;:153::i;:::-;3115:22;;;;:10;:22;;;;;:61;;;3187:43;;;:67;;;;-1:-1:-1;;3265:40:15;;;:61;;;;3337:30;;;;:41;;-1:-1:-1;;;;;;3337:41:15;-1:-1:-1;;;;;3337:41:15;;;;;;;;;;;3115:22;2716:698::o;5031:2117::-;5299:7;5324:34;;:::i;:::-;5816:22;6128:36;;:::i;:::-;-1:-1:-1;;;;;816:21:22;;;;;;:13;:21;;;;;;5275:7:15;;816:21:22;;808:30;;;;;;;;5361:10:15;:48;5372:36;5400:7;5372:27;:36::i;:::-;5361:48;;;;;;;;;;;;;;;;5324:85;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5324:85:15;;;;;;-1:-1:-1;5324:85:15;;5478:34;:38;5474:162;;;5533:7;-1:-1:-1;;;;;5533:19:15;;:21;;;;;;;;;;;-1:-1:-1;;;5533:21:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5533:34:15;;-1:-1:-1;5533:34:15;5568:10;5580:7;5589:16;:34;5533:91;;;;;;;;-1:-1:-1;;;5533:91:15;;;;;;-1:-1:-1;;;;;5533:91:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5474:162:15;5690:1;5650:16;:37;;;:41;5646:158;;;5708:11;;-1:-1:-1;;;;;5708:11:15;:24;5733:10;5745:7;5754:37;;;;5708:84;;;;;;;;-1:-1:-1;;;5708:84:15;;;;;;-1:-1:-1;;;;;5708:84:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5646:158:15;5841:16;:24;;;-1:-1:-1;;;;;5841:32:15;;5874:1;5877:16;:34;;;5913:7;5942:4;5841:107;;;;;;;;-1:-1:-1;;;5841:107:15;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5841:107:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;6008:26:15;;;6004:84;;;6066:10;6051:25;;6004:84;6167:361;;;;;;;;;;;;;;6293:8;:11;6167:361;;;;6337:8;6346:1;6337:11;;;;6167:361;;;;6374:11;;;;6167:361;;-1:-1:-1;;;;;6167:361:15;;;;;;;;6465:11;;;;6167:361;;-1:-1:-1;;;;;6167:361:15;;;;;;;;6539:31;;-1:-1:-1;6539:31:15;;;:22;:31;;;;;;:47;;;;;;;6128:400;;-1:-1:-1;6128:400:15;;;6539:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6539:58:15;-1:-1:-1;;;;;6539:58:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6539:58:15;-1:-1:-1;;;;;6539:58:15;;;;;;;;;-1:-1:-1;6702:24:15;;;;-1:-1:-1;;;;;6610:329:15;;;;6673:14;;6610:329;;;6741:27;6783:8;:11;6809;;;;6835;;;;6861:8;6870:1;6861:11;;;;6887:14;6916:12;6610:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6610:329:15;;;;;;;;;;;;;;;;;;;;;;;;;6987:16;:24;;;-1:-1:-1;;;;;6987:34:15;;7022:14;7038:1;7041:10;6987:65;;;;;;;;-1:-1:-1;;;6987:65:15;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6987:65:15;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7126:14:15;;5031:2117;-1:-1:-1;;;;;;;;;;5031:2117:15:o;1189:117:22:-;-1:-1:-1;;;;;1276:22:22;1252:4;1276:22;;;:13;:22;;;;;;;;;1189:117::o;385:15::-;;;;:::o;346:32::-;;;-1:-1:-1;;;;;346:32:22;;:::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;;;;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;440:31:22:-;;;;:::o;1761:212::-;1840:7;1860:21;1895:7;-1:-1:-1;;;;;1895:13:22;;:15;;;;;;;;;;;-1:-1:-1;;;1895:15:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1929:30:22;;;1960:4;1929:36;;;;;;;;-1:-1:-1;;;1929:36:22;;;;;;-1:-1:-1;;;;;1929:36:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1761:212;-1:-1:-1;;;;1761:212:22:o;347:8558:15:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../VotingMachines/IntVoteInterface.sol\";\r\nimport \"./UniversalScheme.sol\";\r\n\r\n\r\n/**\r\n * @title A scheme for proposing and rewarding contributions to an organization\r\n * @dev An agent can ask an organization to recognize a contribution and reward\r\n * him with token, reputation, ether or any combination.\r\n */\r\n\r\ncontract ContributionReward is UniversalScheme {\r\n event LogNewContributionProposal(\r\n address indexed _avatar,\r\n bytes32 indexed _proposalId,\r\n address indexed _intVoteInterface,\r\n bytes32 _contributionDesciption,\r\n uint _nativeTokenReward,\r\n uint _reputationReward,\r\n uint _ethReward,\r\n uint _externalTokenReward,\r\n StandardToken _externalToken,\r\n address _beneficiary\r\n );\r\n event LogProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\r\n event LogProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\r\n\r\n // A struct holding the data for a contribution proposal\r\n struct ContributionProposal {\r\n bytes32 contributionDescriptionHash; // Hash of contribution document.\r\n uint nativeTokenReward; // Reward asked in the native token of the organization.\r\n uint reputationReward; // Organization reputation reward requested.\r\n uint ethReward;\r\n StandardToken externalToken;\r\n uint externalTokenReward;\r\n address beneficiary;\r\n }\r\n\r\n // A mapping from the organization (Avatar) address to the saved data of the organization:\r\n mapping(address=>mapping(bytes32=>ContributionProposal)) public organizationsProposals;\r\n\r\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\r\n // A contibution fee can be in the organization token or the scheme token or a combination\r\n struct Parameters {\r\n uint orgNativeTokenFee; // a fee (in the organization's token) that is to be paid for submitting a contribution\r\n bytes32 voteApproveParams;\r\n uint schemeNativeTokenFee; // a fee (in the present schemes token) that is to be paid for submission\r\n IntVoteInterface intVote;\r\n }\r\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\r\n mapping(bytes32=>Parameters) public parameters;\r\n\r\n /**\r\n * @dev the constructor takes a token address, fee and beneficiary\r\n */\r\n function ContributionReward(StandardToken _nativeToken, uint _fee, address _beneficiary) public {\r\n updateParameters(_nativeToken, _fee, _beneficiary, bytes32(0));\r\n }\r\n\r\n /**\r\n * @dev hash the parameters, save them if necessary, and return the hash value\r\n */\r\n function setParameters(\r\n uint _orgNativeTokenFee,\r\n uint _schemeNativeTokenFee,\r\n bytes32 _voteApproveParams,\r\n IntVoteInterface _intVote\r\n ) public returns(bytes32)\r\n {\r\n bytes32 paramsHash = getParametersHash(\r\n _orgNativeTokenFee,\r\n _schemeNativeTokenFee,\r\n _voteApproveParams,\r\n _intVote\r\n );\r\n parameters[paramsHash].orgNativeTokenFee = _orgNativeTokenFee;\r\n parameters[paramsHash].schemeNativeTokenFee = _schemeNativeTokenFee;\r\n parameters[paramsHash].voteApproveParams = _voteApproveParams;\r\n parameters[paramsHash].intVote = _intVote;\r\n return paramsHash;\r\n }\r\n\r\n /**\r\n * @dev return a hash of the given parameters\r\n * @param _orgNativeTokenFee the fee for submitting a contribution in organizations native token\r\n * @param _schemeNativeTokenFee the fee for submitting a contribution if paied in schemes native token\r\n * @param _voteApproveParams parameters for the voting machine used to approve a contribution\r\n * @param _intVote the voting machine used to approve a contribution\r\n * @return a hash of the parameters\r\n */\r\n // TODO: These fees are messy. Better to have a _fee and _feeToken pair, just as in some other contract (which one?) with some sane default\r\n function getParametersHash(\r\n uint _orgNativeTokenFee,\r\n uint _schemeNativeTokenFee,\r\n bytes32 _voteApproveParams,\r\n IntVoteInterface _intVote\r\n ) public pure returns(bytes32)\r\n {\r\n return (keccak256(_voteApproveParams, _orgNativeTokenFee, _schemeNativeTokenFee, _intVote));\r\n }\r\n\r\n /**\r\n * @dev Submit a proposal for a reward for a contribution:\r\n * @param _avatar Avatar of the organization that the contribution was made for\r\n * @param _contributionDesciptionHash A hash of the contribution's description\r\n * @param _rewards rewards array:\r\n * rewards[0] - Amount of tokens requested\r\n * rewards[1] - Amount of reputation requested\r\n * rewards[2] - Amount of ETH requested\r\n * rewards[3] - Amount of extenral tokens requested\r\n * @param _externalToken Address of external token, if reward is requested there\r\n * @param _beneficiary Who gets the rewards\r\n */\r\n function submitContribution(\r\n Avatar _avatar,\r\n bytes32 _contributionDesciptionHash,\r\n uint[4] _rewards,\r\n StandardToken _externalToken,\r\n address _beneficiary\r\n ) public\r\n onlyRegisteredOrganization(_avatar)\r\n returns(bytes32)\r\n {\r\n Parameters memory controllerParams = parameters[getParametersFromController(_avatar)];\r\n // Pay fees for submitting the contribution:\r\n if (controllerParams.orgNativeTokenFee > 0) {\r\n _avatar.nativeToken().transferFrom(msg.sender, _avatar, controllerParams.orgNativeTokenFee);\r\n }\r\n if (controllerParams.schemeNativeTokenFee > 0) {\r\n nativeToken.transferFrom(msg.sender, _avatar, controllerParams.schemeNativeTokenFee);\r\n }\r\n\r\n bytes32 contributionId = controllerParams.intVote.propose(2, controllerParams.voteApproveParams, _avatar, ExecutableInterface(this));\r\n\r\n // Check beneficiary is not null:\r\n if (_beneficiary == address(0)) {\r\n _beneficiary = msg.sender;\r\n }\r\n\r\n // Set the struct:\r\n ContributionProposal memory proposal = ContributionProposal({\r\n contributionDescriptionHash: _contributionDesciptionHash,\r\n nativeTokenReward: _rewards[0],\r\n reputationReward: _rewards[1],\r\n ethReward: _rewards[2],\r\n externalToken: _externalToken,\r\n externalTokenReward: _rewards[3],\r\n beneficiary: _beneficiary\r\n });\r\n organizationsProposals[_avatar][contributionId] = proposal;\r\n\r\n LogNewContributionProposal(\r\n _avatar,\r\n contributionId,\r\n controllerParams.intVote,\r\n _contributionDesciptionHash,\r\n _rewards[0],\r\n _rewards[1],\r\n _rewards[2],\r\n _rewards[3],\r\n _externalToken,\r\n _beneficiary\r\n );\r\n\r\n // vote for this proposal\r\n controllerParams.intVote.ownerVote(contributionId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\r\n return contributionId;\r\n }\r\n\r\n /**\r\n * @dev execution of proposals, can only be called by the voting machine in which the vote is held.\r\n * @param _proposalId the ID of the voting in the voting machine\r\n * @param _avatar address of the controller\r\n * @param _param a parameter of the voting result, 0 is no and 1 is yes.\r\n */\r\n function execute(bytes32 _proposalId, address _avatar, int _param) public returns(bool) {\r\n // Check the caller is indeed the voting machine:\r\n require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\r\n // Check if vote was successful:\r\n if (_param == 1) {\r\n // Define controller and get the parmas:\r\n ContributionProposal memory proposal = organizationsProposals[_avatar][_proposalId];\r\n\r\n // pay the funds:\r\n Controller controller = Controller(Avatar(_avatar).owner());\r\n if (!controller.mintReputation(int(proposal.reputationReward), proposal.beneficiary)) {\r\n revert();\r\n }\r\n if (!controller.mintTokens(proposal.nativeTokenReward, proposal.beneficiary)) {\r\n revert();\r\n }\r\n if (!controller.sendEther(proposal.ethReward, proposal.beneficiary)) {\r\n revert();\r\n }\r\n if (proposal.externalToken != address(0) && proposal.externalTokenReward > 0) {\r\n if (!controller.externalTokenTransfer(proposal.externalToken, proposal.beneficiary, proposal.externalTokenReward)) {\r\n revert();\r\n }\r\n }\r\n }\r\n delete organizationsProposals[_avatar][_proposalId];\r\n LogProposalExecuted(_avatar, _proposalId);\r\n return true;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\ContributionReward.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/ContributionReward.sol", + "exportedSymbols": { + "ContributionReward": [ + 5140 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 4689, + "name": "PragmaDirective", + "src": "0:24:15" + }, + { + "attributes": { + "SourceUnit": 2659, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/IntVoteInterface.sol", + "file": "../VotingMachines/IntVoteInterface.sol", + "scope": 5141, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4690, + "name": "ImportDirective", + "src": "28:48:15" + }, + { + "attributes": { + "SourceUnit": 7230, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "file": "./UniversalScheme.sol", + "scope": 5141, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4691, + "name": "ImportDirective", + "src": "78:31:15" + }, + { + "attributes": { + "contractDependencies": [ + 7229, + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": "@title A scheme for proposing and rewarding contributions to an organization\r\n@dev An agent can ask an organization to recognize a contribution and reward\r\nhim with token, reputation, ether or any combination.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 5140, + 7229, + 7259, + 9140 + ], + "name": "ContributionReward", + "scope": 5141 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalScheme", + "referencedDeclaration": 7229, + "type": "contract UniversalScheme" + }, + "id": 4692, + "name": "UserDefinedTypeName", + "src": "378:15:15" + } + ], + "id": 4693, + "name": "InheritanceSpecifier", + "src": "378:15:15" + }, + { + "attributes": { + "anonymous": false, + "name": "LogNewContributionProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 4715, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4694, + "name": "ElementaryTypeName", + "src": "444:7:15" + } + ], + "id": 4695, + "name": "VariableDeclaration", + "src": "444:23:15" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 4715, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4696, + "name": "ElementaryTypeName", + "src": "478:7:15" + } + ], + "id": 4697, + "name": "VariableDeclaration", + "src": "478:27:15" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_intVoteInterface", + "scope": 4715, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4698, + "name": "ElementaryTypeName", + "src": "516:7:15" + } + ], + "id": 4699, + "name": "VariableDeclaration", + "src": "516:33:15" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_contributionDesciption", + "scope": 4715, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4700, + "name": "ElementaryTypeName", + "src": "560:7:15" + } + ], + "id": 4701, + "name": "VariableDeclaration", + "src": "560:31:15" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_nativeTokenReward", + "scope": 4715, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4702, + "name": "ElementaryTypeName", + "src": "602:4:15" + } + ], + "id": 4703, + "name": "VariableDeclaration", + "src": "602:23:15" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_reputationReward", + "scope": 4715, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4704, + "name": "ElementaryTypeName", + "src": "636:4:15" + } + ], + "id": 4705, + "name": "VariableDeclaration", + "src": "636:22:15" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_ethReward", + "scope": 4715, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4706, + "name": "ElementaryTypeName", + "src": "669:4:15" + } + ], + "id": 4707, + "name": "VariableDeclaration", + "src": "669:15:15" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_externalTokenReward", + "scope": 4715, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4708, + "name": "ElementaryTypeName", + "src": "695:4:15" + } + ], + "id": 4709, + "name": "VariableDeclaration", + "src": "695:25:15" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_externalToken", + "scope": 4715, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4710, + "name": "UserDefinedTypeName", + "src": "731:13:15" + } + ], + "id": 4711, + "name": "VariableDeclaration", + "src": "731:28:15" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_beneficiary", + "scope": 4715, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4712, + "name": "ElementaryTypeName", + "src": "770:7:15" + } + ], + "id": 4713, + "name": "VariableDeclaration", + "src": "770:20:15" + } + ], + "id": 4714, + "name": "ParameterList", + "src": "433:364:15" + } + ], + "id": 4715, + "name": "EventDefinition", + "src": "401:397:15" + }, + { + "attributes": { + "anonymous": false, + "name": "LogProposalExecuted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 4721, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4716, + "name": "ElementaryTypeName", + "src": "830:7:15" + } + ], + "id": 4717, + "name": "VariableDeclaration", + "src": "830:23:15" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 4721, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4718, + "name": "ElementaryTypeName", + "src": "855:7:15" + } + ], + "id": 4719, + "name": "VariableDeclaration", + "src": "855:27:15" + } + ], + "id": 4720, + "name": "ParameterList", + "src": "829:54:15" + } + ], + "id": 4721, + "name": "EventDefinition", + "src": "804:80:15" + }, + { + "attributes": { + "anonymous": false, + "name": "LogProposalDeleted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 4727, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4722, + "name": "ElementaryTypeName", + "src": "915:7:15" + } + ], + "id": 4723, + "name": "VariableDeclaration", + "src": "915:23:15" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 4727, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4724, + "name": "ElementaryTypeName", + "src": "940:7:15" + } + ], + "id": 4725, + "name": "VariableDeclaration", + "src": "940:27:15" + } + ], + "id": 4726, + "name": "ParameterList", + "src": "914:54:15" + } + ], + "id": 4727, + "name": "EventDefinition", + "src": "890:79:15" + }, + { + "attributes": { + "canonicalName": "ContributionReward.ContributionProposal", + "name": "ContributionProposal", + "scope": 5140, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "contributionDescriptionHash", + "scope": 4742, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4728, + "name": "ElementaryTypeName", + "src": "1078:7:15" + } + ], + "id": 4729, + "name": "VariableDeclaration", + "src": "1078:35:15" + }, + { + "attributes": { + "constant": false, + "name": "nativeTokenReward", + "scope": 4742, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4730, + "name": "ElementaryTypeName", + "src": "1158:4:15" + } + ], + "id": 4731, + "name": "VariableDeclaration", + "src": "1158:22:15" + }, + { + "attributes": { + "constant": false, + "name": "reputationReward", + "scope": 4742, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4732, + "name": "ElementaryTypeName", + "src": "1248:4:15" + } + ], + "id": 4733, + "name": "VariableDeclaration", + "src": "1248:21:15" + }, + { + "attributes": { + "constant": false, + "name": "ethReward", + "scope": 4742, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4734, + "name": "ElementaryTypeName", + "src": "1325:4:15" + } + ], + "id": 4735, + "name": "VariableDeclaration", + "src": "1325:14:15" + }, + { + "attributes": { + "constant": false, + "name": "externalToken", + "scope": 4742, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4736, + "name": "UserDefinedTypeName", + "src": "1350:13:15" + } + ], + "id": 4737, + "name": "VariableDeclaration", + "src": "1350:27:15" + }, + { + "attributes": { + "constant": false, + "name": "externalTokenReward", + "scope": 4742, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4738, + "name": "ElementaryTypeName", + "src": "1388:4:15" + } + ], + "id": 4739, + "name": "VariableDeclaration", + "src": "1388:24:15" + }, + { + "attributes": { + "constant": false, + "name": "beneficiary", + "scope": 4742, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4740, + "name": "ElementaryTypeName", + "src": "1423:7:15" + } + ], + "id": 4741, + "name": "VariableDeclaration", + "src": "1423:19:15" + } + ], + "id": 4742, + "name": "StructDefinition", + "src": "1039:411:15" + }, + { + "attributes": { + "constant": false, + "name": "organizationsProposals", + "scope": 5140, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4743, + "name": "ElementaryTypeName", + "src": "1562:7:15" + }, + { + "attributes": { + "type": "mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4744, + "name": "ElementaryTypeName", + "src": "1579:7:15" + }, + { + "attributes": { + "contractScope": null, + "name": "ContributionProposal", + "referencedDeclaration": 4742, + "type": "struct ContributionReward.ContributionProposal storage pointer" + }, + "id": 4745, + "name": "UserDefinedTypeName", + "src": "1588:20:15" + } + ], + "id": 4746, + "name": "Mapping", + "src": "1571:38:15" + } + ], + "id": 4747, + "name": "Mapping", + "src": "1554:56:15" + } + ], + "id": 4748, + "name": "VariableDeclaration", + "src": "1554:86:15" + }, + { + "attributes": { + "canonicalName": "ContributionReward.Parameters", + "name": "Parameters", + "scope": 5140, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "orgNativeTokenFee", + "scope": 4757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4749, + "name": "ElementaryTypeName", + "src": "1878:4:15" + } + ], + "id": 4750, + "name": "VariableDeclaration", + "src": "1878:22:15" + }, + { + "attributes": { + "constant": false, + "name": "voteApproveParams", + "scope": 4757, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4751, + "name": "ElementaryTypeName", + "src": "1999:7:15" + } + ], + "id": 4752, + "name": "VariableDeclaration", + "src": "1999:25:15" + }, + { + "attributes": { + "constant": false, + "name": "schemeNativeTokenFee", + "scope": 4757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4753, + "name": "ElementaryTypeName", + "src": "2035:4:15" + } + ], + "id": 4754, + "name": "VariableDeclaration", + "src": "2035:25:15" + }, + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 4757, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 4755, + "name": "UserDefinedTypeName", + "src": "2146:16:15" + } + ], + "id": 4756, + "name": "VariableDeclaration", + "src": "2146:24:15" + } + ], + "id": 4757, + "name": "StructDefinition", + "src": "1849:329:15" + }, + { + "attributes": { + "constant": false, + "name": "parameters", + "scope": 5140, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4758, + "name": "ElementaryTypeName", + "src": "2296:7:15" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 4757, + "type": "struct ContributionReward.Parameters storage pointer" + }, + "id": 4759, + "name": "UserDefinedTypeName", + "src": "2305:10:15" + } + ], + "id": 4760, + "name": "Mapping", + "src": "2288:28:15" + } + ], + "id": 4761, + "name": "VariableDeclaration", + "src": "2288:46:15" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "ContributionReward", + "payable": false, + "scope": 5140, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 4780, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4762, + "name": "UserDefinedTypeName", + "src": "2459:13:15" + } + ], + "id": 4763, + "name": "VariableDeclaration", + "src": "2459:26:15" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 4780, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4764, + "name": "ElementaryTypeName", + "src": "2487:4:15" + } + ], + "id": 4765, + "name": "VariableDeclaration", + "src": "2487:9:15" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 4780, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4766, + "name": "ElementaryTypeName", + "src": "2498:7:15" + } + ], + "id": 4767, + "name": "VariableDeclaration", + "src": "2498:20:15" + } + ], + "id": 4768, + "name": "ParameterList", + "src": "2458:61:15" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 4769, + "name": "ParameterList", + "src": "2527:0:15" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 7207 + ], + "referencedDeclaration": 7207, + "type": "function (contract StandardToken,uint256,address,bytes32)", + "value": "updateParameters" + }, + "id": 4770, + "name": "Identifier", + "src": "2538:16:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4763, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 4771, + "name": "Identifier", + "src": "2555:12:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4765, + "type": "uint256", + "value": "_fee" + }, + "id": 4772, + "name": "Identifier", + "src": "2569:4:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4767, + "type": "address", + "value": "_beneficiary" + }, + "id": 4773, + "name": "Identifier", + "src": "2575:12:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 4774, + "name": "ElementaryTypeNameExpression", + "src": "2589:7:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4775, + "name": "Literal", + "src": "2597:1:15" + } + ], + "id": 4776, + "name": "FunctionCall", + "src": "2589:10:15" + } + ], + "id": 4777, + "name": "FunctionCall", + "src": "2538:62:15" + } + ], + "id": 4778, + "name": "ExpressionStatement", + "src": "2538:62:15" + } + ], + "id": 4779, + "name": "Block", + "src": "2527:81:15" + } + ], + "id": 4780, + "name": "FunctionDefinition", + "src": "2431:177:15" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 5140, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_orgNativeTokenFee", + "scope": 4833, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4781, + "name": "ElementaryTypeName", + "src": "2749:4:15" + } + ], + "id": 4782, + "name": "VariableDeclaration", + "src": "2749:23:15" + }, + { + "attributes": { + "constant": false, + "name": "_schemeNativeTokenFee", + "scope": 4833, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4783, + "name": "ElementaryTypeName", + "src": "2783:4:15" + } + ], + "id": 4784, + "name": "VariableDeclaration", + "src": "2783:26:15" + }, + { + "attributes": { + "constant": false, + "name": "_voteApproveParams", + "scope": 4833, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4785, + "name": "ElementaryTypeName", + "src": "2820:7:15" + } + ], + "id": 4786, + "name": "VariableDeclaration", + "src": "2820:26:15" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 4833, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 4787, + "name": "UserDefinedTypeName", + "src": "2857:16:15" + } + ], + "id": 4788, + "name": "VariableDeclaration", + "src": "2857:25:15" + } + ], + "id": 4789, + "name": "ParameterList", + "src": "2738:151:15" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4833, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4790, + "name": "ElementaryTypeName", + "src": "2905:7:15" + } + ], + "id": 4791, + "name": "VariableDeclaration", + "src": "2905:7:15" + } + ], + "id": 4792, + "name": "ParameterList", + "src": "2904:9:15" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 4794 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 4833, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4793, + "name": "ElementaryTypeName", + "src": "2930:7:15" + } + ], + "id": 4794, + "name": "VariableDeclaration", + "src": "2930:18:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4855, + "type": "function (uint256,uint256,bytes32,contract IntVoteInterface) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 4795, + "name": "Identifier", + "src": "2951:17:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4782, + "type": "uint256", + "value": "_orgNativeTokenFee" + }, + "id": 4796, + "name": "Identifier", + "src": "2983:18:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4784, + "type": "uint256", + "value": "_schemeNativeTokenFee" + }, + "id": 4797, + "name": "Identifier", + "src": "3016:21:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4786, + "type": "bytes32", + "value": "_voteApproveParams" + }, + "id": 4798, + "name": "Identifier", + "src": "3052:18:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4788, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 4799, + "name": "Identifier", + "src": "3085:8:15" + } + ], + "id": 4800, + "name": "FunctionCall", + "src": "2951:153:15" + } + ], + "id": 4801, + "name": "VariableDeclarationStatement", + "src": "2930:174:15" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "orgNativeTokenFee", + "referencedDeclaration": 4750, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct ContributionReward.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4761, + "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)", + "value": "parameters" + }, + "id": 4802, + "name": "Identifier", + "src": "3115:10:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4794, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 4803, + "name": "Identifier", + "src": "3126:10:15" + } + ], + "id": 4804, + "name": "IndexAccess", + "src": "3115:22:15" + } + ], + "id": 4805, + "name": "MemberAccess", + "src": "3115:40:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4782, + "type": "uint256", + "value": "_orgNativeTokenFee" + }, + "id": 4806, + "name": "Identifier", + "src": "3158:18:15" + } + ], + "id": 4807, + "name": "Assignment", + "src": "3115:61:15" + } + ], + "id": 4808, + "name": "ExpressionStatement", + "src": "3115:61:15" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "schemeNativeTokenFee", + "referencedDeclaration": 4754, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct ContributionReward.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4761, + "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)", + "value": "parameters" + }, + "id": 4809, + "name": "Identifier", + "src": "3187:10:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4794, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 4810, + "name": "Identifier", + "src": "3198:10:15" + } + ], + "id": 4811, + "name": "IndexAccess", + "src": "3187:22:15" + } + ], + "id": 4812, + "name": "MemberAccess", + "src": "3187:43:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4784, + "type": "uint256", + "value": "_schemeNativeTokenFee" + }, + "id": 4813, + "name": "Identifier", + "src": "3233:21:15" + } + ], + "id": 4814, + "name": "Assignment", + "src": "3187:67:15" + } + ], + "id": 4815, + "name": "ExpressionStatement", + "src": "3187:67:15" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "voteApproveParams", + "referencedDeclaration": 4752, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct ContributionReward.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4761, + "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)", + "value": "parameters" + }, + "id": 4816, + "name": "Identifier", + "src": "3265:10:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4794, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 4817, + "name": "Identifier", + "src": "3276:10:15" + } + ], + "id": 4818, + "name": "IndexAccess", + "src": "3265:22:15" + } + ], + "id": 4819, + "name": "MemberAccess", + "src": "3265:40:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4786, + "type": "bytes32", + "value": "_voteApproveParams" + }, + "id": 4820, + "name": "Identifier", + "src": "3308:18:15" + } + ], + "id": 4821, + "name": "Assignment", + "src": "3265:61:15" + } + ], + "id": 4822, + "name": "ExpressionStatement", + "src": "3265:61:15" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "intVote", + "referencedDeclaration": 4756, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct ContributionReward.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4761, + "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)", + "value": "parameters" + }, + "id": 4823, + "name": "Identifier", + "src": "3337:10:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4794, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 4824, + "name": "Identifier", + "src": "3348:10:15" + } + ], + "id": 4825, + "name": "IndexAccess", + "src": "3337:22:15" + } + ], + "id": 4826, + "name": "MemberAccess", + "src": "3337:30:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4788, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 4827, + "name": "Identifier", + "src": "3370:8:15" + } + ], + "id": 4828, + "name": "Assignment", + "src": "3337:41:15" + } + ], + "id": 4829, + "name": "ExpressionStatement", + "src": "3337:41:15" + }, + { + "attributes": { + "functionReturnParameters": 4792 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4794, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 4830, + "name": "Identifier", + "src": "3396:10:15" + } + ], + "id": 4831, + "name": "Return", + "src": "3389:17:15" + } + ], + "id": 4832, + "name": "Block", + "src": "2919:495:15" + } + ], + "id": 4833, + "name": "FunctionDefinition", + "src": "2716:698:15" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 5140, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_orgNativeTokenFee", + "scope": 4855, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4834, + "name": "ElementaryTypeName", + "src": "4090:4:15" + } + ], + "id": 4835, + "name": "VariableDeclaration", + "src": "4090:23:15" + }, + { + "attributes": { + "constant": false, + "name": "_schemeNativeTokenFee", + "scope": 4855, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4836, + "name": "ElementaryTypeName", + "src": "4124:4:15" + } + ], + "id": 4837, + "name": "VariableDeclaration", + "src": "4124:26:15" + }, + { + "attributes": { + "constant": false, + "name": "_voteApproveParams", + "scope": 4855, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4838, + "name": "ElementaryTypeName", + "src": "4161:7:15" + } + ], + "id": 4839, + "name": "VariableDeclaration", + "src": "4161:26:15" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 4855, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 4840, + "name": "UserDefinedTypeName", + "src": "4198:16:15" + } + ], + "id": 4841, + "name": "VariableDeclaration", + "src": "4198:25:15" + } + ], + "id": 4842, + "name": "ParameterList", + "src": "4079:151:15" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4855, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4843, + "name": "ElementaryTypeName", + "src": "4251:7:15" + } + ], + "id": 4844, + "name": "VariableDeclaration", + "src": "4251:7:15" + } + ], + "id": 4845, + "name": "ParameterList", + "src": "4250:9:15" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 4845 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 4846, + "name": "Identifier", + "src": "4284:9:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4839, + "type": "bytes32", + "value": "_voteApproveParams" + }, + "id": 4847, + "name": "Identifier", + "src": "4294:18:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4835, + "type": "uint256", + "value": "_orgNativeTokenFee" + }, + "id": 4848, + "name": "Identifier", + "src": "4314:18:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4837, + "type": "uint256", + "value": "_schemeNativeTokenFee" + }, + "id": 4849, + "name": "Identifier", + "src": "4334:21:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4841, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 4850, + "name": "Identifier", + "src": "4357:8:15" + } + ], + "id": 4851, + "name": "FunctionCall", + "src": "4284:82:15" + } + ], + "id": 4852, + "name": "TupleExpression", + "src": "4283:84:15" + } + ], + "id": 4853, + "name": "Return", + "src": "4276:91:15" + } + ], + "id": 4854, + "name": "Block", + "src": "4265:110:15" + } + ], + "id": 4855, + "name": "FunctionDefinition", + "src": "4053:322:15" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "submitContribution", + "payable": false, + "scope": 5140, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 5007, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 4856, + "name": "UserDefinedTypeName", + "src": "5069:6:15" + } + ], + "id": 4857, + "name": "VariableDeclaration", + "src": "5069:14:15" + }, + { + "attributes": { + "constant": false, + "name": "_contributionDesciptionHash", + "scope": 5007, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4858, + "name": "ElementaryTypeName", + "src": "5094:7:15" + } + ], + "id": 4859, + "name": "VariableDeclaration", + "src": "5094:35:15" + }, + { + "attributes": { + "constant": false, + "name": "_rewards", + "scope": 5007, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256[4] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "uint256[4] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4860, + "name": "ElementaryTypeName", + "src": "5140:4:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "34", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 4", + "value": "4" + }, + "id": 4861, + "name": "Literal", + "src": "5145:1:15" + } + ], + "id": 4862, + "name": "ArrayTypeName", + "src": "5140:7:15" + } + ], + "id": 4863, + "name": "VariableDeclaration", + "src": "5140:16:15" + }, + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 5007, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4864, + "name": "UserDefinedTypeName", + "src": "5167:13:15" + } + ], + "id": 4865, + "name": "VariableDeclaration", + "src": "5167:28:15" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 5007, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4866, + "name": "ElementaryTypeName", + "src": "5206:7:15" + } + ], + "id": 4867, + "name": "VariableDeclaration", + "src": "5206:20:15" + } + ], + "id": 4868, + "name": "ParameterList", + "src": "5058:175:15" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 5007, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4872, + "name": "ElementaryTypeName", + "src": "5299:7:15" + } + ], + "id": 4873, + "name": "VariableDeclaration", + "src": "5299:7:15" + } + ], + "id": 4874, + "name": "ParameterList", + "src": "5298:9:15" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7129, + "type": "modifier (address)", + "value": "onlyRegisteredOrganization" + }, + "id": 4869, + "name": "Identifier", + "src": "5248:26:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4857, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 4870, + "name": "Identifier", + "src": "5275:7:15" + } + ], + "id": 4871, + "name": "ModifierInvocation", + "src": "5248:35:15" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 4876 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controllerParams", + "scope": 5007, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct ContributionReward.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 4757, + "type": "struct ContributionReward.Parameters storage pointer" + }, + "id": 4875, + "name": "UserDefinedTypeName", + "src": "5324:10:15" + } + ], + "id": 4876, + "name": "VariableDeclaration", + "src": "5324:34:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct ContributionReward.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4761, + "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)", + "value": "parameters" + }, + "id": 4877, + "name": "Identifier", + "src": "5361:10:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 4878, + "name": "Identifier", + "src": "5372:27:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4857, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 4879, + "name": "Identifier", + "src": "5400:7:15" + } + ], + "id": 4880, + "name": "FunctionCall", + "src": "5372:36:15" + } + ], + "id": 4881, + "name": "IndexAccess", + "src": "5361:48:15" + } + ], + "id": 4882, + "name": "VariableDeclarationStatement", + "src": "5324:85:15" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "orgNativeTokenFee", + "referencedDeclaration": 4750, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4876, + "type": "struct ContributionReward.Parameters memory", + "value": "controllerParams" + }, + "id": 4883, + "name": "Identifier", + "src": "5478:16:15" + } + ], + "id": 4884, + "name": "MemberAccess", + "src": "5478:34:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4885, + "name": "Literal", + "src": "5515:1:15" + } + ], + "id": 4886, + "name": "BinaryOperation", + "src": "5478:38:15" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferFrom", + "referencedDeclaration": 9554, + "type": "function (address,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract DAOToken", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "nativeToken", + "referencedDeclaration": 2803, + "type": "function () view external returns (contract DAOToken)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4857, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 4887, + "name": "Identifier", + "src": "5533:7:15" + } + ], + "id": 4889, + "name": "MemberAccess", + "src": "5533:19:15" + } + ], + "id": 4890, + "name": "FunctionCall", + "src": "5533:21:15" + } + ], + "id": 4891, + "name": "MemberAccess", + "src": "5533:34:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 4892, + "name": "Identifier", + "src": "5568:3:15" + } + ], + "id": 4893, + "name": "MemberAccess", + "src": "5568:10:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4857, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 4894, + "name": "Identifier", + "src": "5580:7:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "orgNativeTokenFee", + "referencedDeclaration": 4750, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4876, + "type": "struct ContributionReward.Parameters memory", + "value": "controllerParams" + }, + "id": 4895, + "name": "Identifier", + "src": "5589:16:15" + } + ], + "id": 4896, + "name": "MemberAccess", + "src": "5589:34:15" + } + ], + "id": 4897, + "name": "FunctionCall", + "src": "5533:91:15" + } + ], + "id": 4898, + "name": "ExpressionStatement", + "src": "5533:91:15" + } + ], + "id": 4899, + "name": "Block", + "src": "5518:118:15" + } + ], + "id": 4900, + "name": "IfStatement", + "src": "5474:162:15" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "schemeNativeTokenFee", + "referencedDeclaration": 4754, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4876, + "type": "struct ContributionReward.Parameters memory", + "value": "controllerParams" + }, + "id": 4901, + "name": "Identifier", + "src": "5650:16:15" + } + ], + "id": 4902, + "name": "MemberAccess", + "src": "5650:37:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4903, + "name": "Literal", + "src": "5690:1:15" + } + ], + "id": 4904, + "name": "BinaryOperation", + "src": "5650:41:15" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferFrom", + "referencedDeclaration": 9554, + "type": "function (address,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7099, + "type": "contract StandardToken", + "value": "nativeToken" + }, + "id": 4905, + "name": "Identifier", + "src": "5708:11:15" + } + ], + "id": 4907, + "name": "MemberAccess", + "src": "5708:24:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 4908, + "name": "Identifier", + "src": "5733:3:15" + } + ], + "id": 4909, + "name": "MemberAccess", + "src": "5733:10:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4857, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 4910, + "name": "Identifier", + "src": "5745:7:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "schemeNativeTokenFee", + "referencedDeclaration": 4754, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4876, + "type": "struct ContributionReward.Parameters memory", + "value": "controllerParams" + }, + "id": 4911, + "name": "Identifier", + "src": "5754:16:15" + } + ], + "id": 4912, + "name": "MemberAccess", + "src": "5754:37:15" + } + ], + "id": 4913, + "name": "FunctionCall", + "src": "5708:84:15" + } + ], + "id": 4914, + "name": "ExpressionStatement", + "src": "5708:84:15" + } + ], + "id": 4915, + "name": "Block", + "src": "5693:111:15" + } + ], + "id": 4916, + "name": "IfStatement", + "src": "5646:158:15" + }, + { + "attributes": { + "assignments": [ + 4918 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "contributionId", + "scope": 5007, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4917, + "name": "ElementaryTypeName", + "src": "5816:7:15" + } + ], + "id": 4918, + "name": "VariableDeclaration", + "src": "5816:22:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_ExecutableInterface_$5155", + "typeString": "contract ExecutableInterface" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "propose", + "referencedDeclaration": 2570, + "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 4756, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4876, + "type": "struct ContributionReward.Parameters memory", + "value": "controllerParams" + }, + "id": 4919, + "name": "Identifier", + "src": "5841:16:15" + } + ], + "id": 4920, + "name": "MemberAccess", + "src": "5841:24:15" + } + ], + "id": 4921, + "name": "MemberAccess", + "src": "5841:32:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 4922, + "name": "Literal", + "src": "5874:1:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteApproveParams", + "referencedDeclaration": 4752, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4876, + "type": "struct ContributionReward.Parameters memory", + "value": "controllerParams" + }, + "id": 4923, + "name": "Identifier", + "src": "5877:16:15" + } + ], + "id": 4924, + "name": "MemberAccess", + "src": "5877:34:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4857, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 4925, + "name": "Identifier", + "src": "5913:7:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ExecutableInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_ContributionReward_$5140", + "typeString": "contract ContributionReward" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5155, + "type": "type(contract ExecutableInterface)", + "value": "ExecutableInterface" + }, + "id": 4926, + "name": "Identifier", + "src": "5922:19:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9805, + "type": "contract ContributionReward", + "value": "this" + }, + "id": 4927, + "name": "Identifier", + "src": "5942:4:15" + } + ], + "id": 4928, + "name": "FunctionCall", + "src": "5922:25:15" + } + ], + "id": 4929, + "name": "FunctionCall", + "src": "5841:107:15" + } + ], + "id": 4930, + "name": "VariableDeclarationStatement", + "src": "5816:132:15" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4867, + "type": "address", + "value": "_beneficiary" + }, + "id": 4931, + "name": "Identifier", + "src": "6008:12:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 4932, + "name": "ElementaryTypeNameExpression", + "src": "6024:7:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4933, + "name": "Literal", + "src": "6032:1:15" + } + ], + "id": 4934, + "name": "FunctionCall", + "src": "6024:10:15" + } + ], + "id": 4935, + "name": "BinaryOperation", + "src": "6008:26:15" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4867, + "type": "address", + "value": "_beneficiary" + }, + "id": 4936, + "name": "Identifier", + "src": "6051:12:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 4937, + "name": "Identifier", + "src": "6066:3:15" + } + ], + "id": 4938, + "name": "MemberAccess", + "src": "6066:10:15" + } + ], + "id": 4939, + "name": "Assignment", + "src": "6051:25:15" + } + ], + "id": 4940, + "name": "ExpressionStatement", + "src": "6051:25:15" + } + ], + "id": 4941, + "name": "Block", + "src": "6036:52:15" + } + ], + "id": 4942, + "name": "IfStatement", + "src": "6004:84:15" + }, + { + "attributes": { + "assignments": [ + 4944 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 5007, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct ContributionReward.ContributionProposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ContributionProposal", + "referencedDeclaration": 4742, + "type": "struct ContributionReward.ContributionProposal storage pointer" + }, + "id": 4943, + "name": "UserDefinedTypeName", + "src": "6128:20:15" + } + ], + "id": 4944, + "name": "VariableDeclaration", + "src": "6128:36:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "contributionDescriptionHash", + "nativeTokenReward", + "reputationReward", + "ethReward", + "externalToken", + "externalTokenReward", + "beneficiary" + ], + "type": "struct ContributionReward.ContributionProposal memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4742, + "type": "type(struct ContributionReward.ContributionProposal storage pointer)", + "value": "ContributionProposal" + }, + "id": 4945, + "name": "Identifier", + "src": "6167:20:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4859, + "type": "bytes32", + "value": "_contributionDesciptionHash" + }, + "id": 4946, + "name": "Identifier", + "src": "6232:27:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4863, + "type": "uint256[4] memory", + "value": "_rewards" + }, + "id": 4947, + "name": "Identifier", + "src": "6293:8:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4948, + "name": "Literal", + "src": "6302:1:15" + } + ], + "id": 4949, + "name": "IndexAccess", + "src": "6293:11:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4863, + "type": "uint256[4] memory", + "value": "_rewards" + }, + "id": 4950, + "name": "Identifier", + "src": "6337:8:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 4951, + "name": "Literal", + "src": "6346:1:15" + } + ], + "id": 4952, + "name": "IndexAccess", + "src": "6337:11:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4863, + "type": "uint256[4] memory", + "value": "_rewards" + }, + "id": 4953, + "name": "Identifier", + "src": "6374:8:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 4954, + "name": "Literal", + "src": "6383:1:15" + } + ], + "id": 4955, + "name": "IndexAccess", + "src": "6374:11:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4865, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 4956, + "name": "Identifier", + "src": "6415:14:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4863, + "type": "uint256[4] memory", + "value": "_rewards" + }, + "id": 4957, + "name": "Identifier", + "src": "6465:8:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "33", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 3", + "value": "3" + }, + "id": 4958, + "name": "Literal", + "src": "6474:1:15" + } + ], + "id": 4959, + "name": "IndexAccess", + "src": "6465:11:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4867, + "type": "address", + "value": "_beneficiary" + }, + "id": 4960, + "name": "Identifier", + "src": "6504:12:15" + } + ], + "id": 4961, + "name": "FunctionCall", + "src": "6167:361:15" + } + ], + "id": 4962, + "name": "VariableDeclarationStatement", + "src": "6128:400:15" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct ContributionReward.ContributionProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct ContributionReward.ContributionProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4748, + "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 4963, + "name": "Identifier", + "src": "6539:22:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4857, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 4964, + "name": "Identifier", + "src": "6562:7:15" + } + ], + "id": 4966, + "name": "IndexAccess", + "src": "6539:31:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4918, + "type": "bytes32", + "value": "contributionId" + }, + "id": 4965, + "name": "Identifier", + "src": "6571:14:15" + } + ], + "id": 4967, + "name": "IndexAccess", + "src": "6539:47:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4944, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 4968, + "name": "Identifier", + "src": "6589:8:15" + } + ], + "id": 4969, + "name": "Assignment", + "src": "6539:58:15" + } + ], + "id": 4970, + "name": "ExpressionStatement", + "src": "6539:58:15" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4715, + "type": "function (address,bytes32,address,bytes32,uint256,uint256,uint256,uint256,contract StandardToken,address)", + "value": "LogNewContributionProposal" + }, + "id": 4971, + "name": "Identifier", + "src": "6610:26:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4857, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 4972, + "name": "Identifier", + "src": "6651:7:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4918, + "type": "bytes32", + "value": "contributionId" + }, + "id": 4973, + "name": "Identifier", + "src": "6673:14:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 4756, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4876, + "type": "struct ContributionReward.Parameters memory", + "value": "controllerParams" + }, + "id": 4974, + "name": "Identifier", + "src": "6702:16:15" + } + ], + "id": 4975, + "name": "MemberAccess", + "src": "6702:24:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4859, + "type": "bytes32", + "value": "_contributionDesciptionHash" + }, + "id": 4976, + "name": "Identifier", + "src": "6741:27:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4863, + "type": "uint256[4] memory", + "value": "_rewards" + }, + "id": 4977, + "name": "Identifier", + "src": "6783:8:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4978, + "name": "Literal", + "src": "6792:1:15" + } + ], + "id": 4979, + "name": "IndexAccess", + "src": "6783:11:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4863, + "type": "uint256[4] memory", + "value": "_rewards" + }, + "id": 4980, + "name": "Identifier", + "src": "6809:8:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 4981, + "name": "Literal", + "src": "6818:1:15" + } + ], + "id": 4982, + "name": "IndexAccess", + "src": "6809:11:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4863, + "type": "uint256[4] memory", + "value": "_rewards" + }, + "id": 4983, + "name": "Identifier", + "src": "6835:8:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 4984, + "name": "Literal", + "src": "6844:1:15" + } + ], + "id": 4985, + "name": "IndexAccess", + "src": "6835:11:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4863, + "type": "uint256[4] memory", + "value": "_rewards" + }, + "id": 4986, + "name": "Identifier", + "src": "6861:8:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "33", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 3", + "value": "3" + }, + "id": 4987, + "name": "Literal", + "src": "6870:1:15" + } + ], + "id": 4988, + "name": "IndexAccess", + "src": "6861:11:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4865, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 4989, + "name": "Identifier", + "src": "6887:14:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4867, + "type": "address", + "value": "_beneficiary" + }, + "id": 4990, + "name": "Identifier", + "src": "6916:12:15" + } + ], + "id": 4991, + "name": "FunctionCall", + "src": "6610:329:15" + } + ], + "id": 4992, + "name": "ExpressionStatement", + "src": "6610:329:15" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "ownerVote", + "referencedDeclaration": 2597, + "type": "function (bytes32,uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 4756, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4876, + "type": "struct ContributionReward.Parameters memory", + "value": "controllerParams" + }, + "id": 4993, + "name": "Identifier", + "src": "6987:16:15" + } + ], + "id": 4996, + "name": "MemberAccess", + "src": "6987:24:15" + } + ], + "id": 4997, + "name": "MemberAccess", + "src": "6987:34:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4918, + "type": "bytes32", + "value": "contributionId" + }, + "id": 4998, + "name": "Identifier", + "src": "7022:14:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 4999, + "name": "Literal", + "src": "7038:1:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 5000, + "name": "Identifier", + "src": "7041:3:15" + } + ], + "id": 5001, + "name": "MemberAccess", + "src": "7041:10:15" + } + ], + "id": 5002, + "name": "FunctionCall", + "src": "6987:65:15" + } + ], + "id": 5003, + "name": "ExpressionStatement", + "src": "6987:65:15" + }, + { + "attributes": { + "functionReturnParameters": 4874 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4918, + "type": "bytes32", + "value": "contributionId" + }, + "id": 5004, + "name": "Identifier", + "src": "7126:14:15" + } + ], + "id": 5005, + "name": "Return", + "src": "7119:21:15" + } + ], + "id": 5006, + "name": "Block", + "src": "5313:1835:15" + } + ], + "id": 5007, + "name": "FunctionDefinition", + "src": "5031:2117:15" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "execute", + "payable": false, + "scope": 5140, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 5139, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5008, + "name": "ElementaryTypeName", + "src": "7488:7:15" + } + ], + "id": 5009, + "name": "VariableDeclaration", + "src": "7488:19:15" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 5139, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5010, + "name": "ElementaryTypeName", + "src": "7509:7:15" + } + ], + "id": 5011, + "name": "VariableDeclaration", + "src": "7509:15:15" + }, + { + "attributes": { + "constant": false, + "name": "_param", + "scope": 5139, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 5012, + "name": "ElementaryTypeName", + "src": "7526:3:15" + } + ], + "id": 5013, + "name": "VariableDeclaration", + "src": "7526:10:15" + } + ], + "id": 5014, + "name": "ParameterList", + "src": "7487:50:15" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 5139, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 5015, + "name": "ElementaryTypeName", + "src": "7553:4:15" + } + ], + "id": 5016, + "name": "VariableDeclaration", + "src": "7553:4:15" + } + ], + "id": 5017, + "name": "ParameterList", + "src": "7552:6:15" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 5018, + "name": "Identifier", + "src": "7629:7:15" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 4756, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct ContributionReward.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4761, + "type": "mapping(bytes32 => struct ContributionReward.Parameters storage ref)", + "value": "parameters" + }, + "id": 5019, + "name": "Identifier", + "src": "7637:10:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 5020, + "name": "Identifier", + "src": "7648:27:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 5021, + "name": "Identifier", + "src": "7676:6:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5011, + "type": "address", + "value": "_avatar" + }, + "id": 5022, + "name": "Identifier", + "src": "7683:7:15" + } + ], + "id": 5023, + "name": "FunctionCall", + "src": "7676:15:15" + } + ], + "id": 5024, + "name": "FunctionCall", + "src": "7648:44:15" + } + ], + "id": 5025, + "name": "IndexAccess", + "src": "7637:56:15" + } + ], + "id": 5026, + "name": "MemberAccess", + "src": "7637:64:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 5027, + "name": "Identifier", + "src": "7705:3:15" + } + ], + "id": 5028, + "name": "MemberAccess", + "src": "7705:10:15" + } + ], + "id": 5029, + "name": "BinaryOperation", + "src": "7637:78:15" + } + ], + "id": 5030, + "name": "FunctionCall", + "src": "7629:87:15" + } + ], + "id": 5031, + "name": "ExpressionStatement", + "src": "7629:87:15" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5013, + "type": "int256", + "value": "_param" + }, + "id": 5032, + "name": "Identifier", + "src": "7773:6:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 5033, + "name": "Literal", + "src": "7783:1:15" + } + ], + "id": 5034, + "name": "BinaryOperation", + "src": "7773:11:15" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 5036 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 5139, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct ContributionReward.ContributionProposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ContributionProposal", + "referencedDeclaration": 4742, + "type": "struct ContributionReward.ContributionProposal storage pointer" + }, + "id": 5035, + "name": "UserDefinedTypeName", + "src": "7851:20:15" + } + ], + "id": 5036, + "name": "VariableDeclaration", + "src": "7851:36:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct ContributionReward.ContributionProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4748, + "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 5037, + "name": "Identifier", + "src": "7890:22:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5011, + "type": "address", + "value": "_avatar" + }, + "id": 5038, + "name": "Identifier", + "src": "7913:7:15" + } + ], + "id": 5039, + "name": "IndexAccess", + "src": "7890:31:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5009, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 5040, + "name": "Identifier", + "src": "7922:11:15" + } + ], + "id": 5041, + "name": "IndexAccess", + "src": "7890:44:15" + } + ], + "id": 5042, + "name": "VariableDeclarationStatement", + "src": "7851:83:15" + }, + { + "attributes": { + "assignments": [ + 5044 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 5139, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 5043, + "name": "UserDefinedTypeName", + "src": "7978:10:15" + } + ], + "id": 5044, + "name": "VariableDeclaration", + "src": "7978:21:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 5045, + "name": "Identifier", + "src": "8002:10:15" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 5046, + "name": "Identifier", + "src": "8013:6:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5011, + "type": "address", + "value": "_avatar" + }, + "id": 5047, + "name": "Identifier", + "src": "8020:7:15" + } + ], + "id": 5048, + "name": "FunctionCall", + "src": "8013:15:15" + } + ], + "id": 5049, + "name": "MemberAccess", + "src": "8013:21:15" + } + ], + "id": 5050, + "name": "FunctionCall", + "src": "8013:23:15" + } + ], + "id": 5051, + "name": "FunctionCall", + "src": "8002:35:15" + } + ], + "id": 5052, + "name": "VariableDeclarationStatement", + "src": "7978:59:15" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mintReputation", + "referencedDeclaration": 3474, + "type": "function (int256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5044, + "type": "contract Controller", + "value": "controller" + }, + "id": 5053, + "name": "Identifier", + "src": "8057:10:15" + } + ], + "id": 5054, + "name": "MemberAccess", + "src": "8057:25:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "int256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(int256)", + "value": "int" + }, + "id": 5055, + "name": "ElementaryTypeNameExpression", + "src": "8083:3:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputationReward", + "referencedDeclaration": 4733, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5056, + "name": "Identifier", + "src": "8087:8:15" + } + ], + "id": 5057, + "name": "MemberAccess", + "src": "8087:25:15" + } + ], + "id": 5058, + "name": "FunctionCall", + "src": "8083:30:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 4741, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5059, + "name": "Identifier", + "src": "8115:8:15" + } + ], + "id": 5060, + "name": "MemberAccess", + "src": "8115:20:15" + } + ], + "id": 5061, + "name": "FunctionCall", + "src": "8057:79:15" + } + ], + "id": 5062, + "name": "UnaryOperation", + "src": "8056:80:15" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 5063, + "name": "Identifier", + "src": "8157:6:15" + } + ], + "id": 5064, + "name": "FunctionCall", + "src": "8157:8:15" + } + ], + "id": 5065, + "name": "ExpressionStatement", + "src": "8157:8:15" + } + ], + "id": 5066, + "name": "Block", + "src": "8138:45:15" + } + ], + "id": 5067, + "name": "IfStatement", + "src": "8052:131:15" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mintTokens", + "referencedDeclaration": 3502, + "type": "function (uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5044, + "type": "contract Controller", + "value": "controller" + }, + "id": 5068, + "name": "Identifier", + "src": "8202:10:15" + } + ], + "id": 5069, + "name": "MemberAccess", + "src": "8202:21:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "nativeTokenReward", + "referencedDeclaration": 4731, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5070, + "name": "Identifier", + "src": "8224:8:15" + } + ], + "id": 5071, + "name": "MemberAccess", + "src": "8224:26:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 4741, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5072, + "name": "Identifier", + "src": "8252:8:15" + } + ], + "id": 5073, + "name": "MemberAccess", + "src": "8252:20:15" + } + ], + "id": 5074, + "name": "FunctionCall", + "src": "8202:71:15" + } + ], + "id": 5075, + "name": "UnaryOperation", + "src": "8201:72:15" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 5076, + "name": "Identifier", + "src": "8294:6:15" + } + ], + "id": 5077, + "name": "FunctionCall", + "src": "8294:8:15" + } + ], + "id": 5078, + "name": "ExpressionStatement", + "src": "8294:8:15" + } + ], + "id": 5079, + "name": "Block", + "src": "8275:45:15" + } + ], + "id": 5080, + "name": "IfStatement", + "src": "8197:123:15" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sendEther", + "referencedDeclaration": 4024, + "type": "function (uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5044, + "type": "contract Controller", + "value": "controller" + }, + "id": 5081, + "name": "Identifier", + "src": "8339:10:15" + } + ], + "id": 5082, + "name": "MemberAccess", + "src": "8339:20:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "ethReward", + "referencedDeclaration": 4735, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5083, + "name": "Identifier", + "src": "8360:8:15" + } + ], + "id": 5084, + "name": "MemberAccess", + "src": "8360:18:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 4741, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5085, + "name": "Identifier", + "src": "8380:8:15" + } + ], + "id": 5086, + "name": "MemberAccess", + "src": "8380:20:15" + } + ], + "id": 5087, + "name": "FunctionCall", + "src": "8339:62:15" + } + ], + "id": 5088, + "name": "UnaryOperation", + "src": "8338:63:15" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 5089, + "name": "Identifier", + "src": "8422:6:15" + } + ], + "id": 5090, + "name": "FunctionCall", + "src": "8422:8:15" + } + ], + "id": 5091, + "name": "ExpressionStatement", + "src": "8422:8:15" + } + ], + "id": 5092, + "name": "Block", + "src": "8403:45:15" + } + ], + "id": 5093, + "name": "IfStatement", + "src": "8334:114:15" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "externalToken", + "referencedDeclaration": 4737, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5094, + "name": "Identifier", + "src": "8466:8:15" + } + ], + "id": 5095, + "name": "MemberAccess", + "src": "8466:22:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 5096, + "name": "ElementaryTypeNameExpression", + "src": "8492:7:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5097, + "name": "Literal", + "src": "8500:1:15" + } + ], + "id": 5098, + "name": "FunctionCall", + "src": "8492:10:15" + } + ], + "id": 5099, + "name": "BinaryOperation", + "src": "8466:36:15" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "externalTokenReward", + "referencedDeclaration": 4739, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5100, + "name": "Identifier", + "src": "8506:8:15" + } + ], + "id": 5101, + "name": "MemberAccess", + "src": "8506:28:15" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5102, + "name": "Literal", + "src": "8537:1:15" + } + ], + "id": 5103, + "name": "BinaryOperation", + "src": "8506:32:15" + } + ], + "id": 5104, + "name": "BinaryOperation", + "src": "8466:72:15" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "externalTokenTransfer", + "referencedDeclaration": 4056, + "type": "function (contract StandardToken,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5044, + "type": "contract Controller", + "value": "controller" + }, + "id": 5105, + "name": "Identifier", + "src": "8564:10:15" + } + ], + "id": 5106, + "name": "MemberAccess", + "src": "8564:32:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "externalToken", + "referencedDeclaration": 4737, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5107, + "name": "Identifier", + "src": "8597:8:15" + } + ], + "id": 5108, + "name": "MemberAccess", + "src": "8597:22:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 4741, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5109, + "name": "Identifier", + "src": "8621:8:15" + } + ], + "id": 5110, + "name": "MemberAccess", + "src": "8621:20:15" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "externalTokenReward", + "referencedDeclaration": 4739, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5036, + "type": "struct ContributionReward.ContributionProposal memory", + "value": "proposal" + }, + "id": 5111, + "name": "Identifier", + "src": "8643:8:15" + } + ], + "id": 5112, + "name": "MemberAccess", + "src": "8643:28:15" + } + ], + "id": 5113, + "name": "FunctionCall", + "src": "8564:108:15" + } + ], + "id": 5114, + "name": "UnaryOperation", + "src": "8563:109:15" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 5115, + "name": "Identifier", + "src": "8697:6:15" + } + ], + "id": 5116, + "name": "FunctionCall", + "src": "8697:8:15" + } + ], + "id": 5117, + "name": "ExpressionStatement", + "src": "8697:8:15" + } + ], + "id": 5118, + "name": "Block", + "src": "8674:53:15" + } + ], + "id": 5119, + "name": "IfStatement", + "src": "8559:168:15" + } + ], + "id": 5120, + "name": "Block", + "src": "8540:206:15" + } + ], + "id": 5121, + "name": "IfStatement", + "src": "8462:284:15" + } + ], + "id": 5122, + "name": "Block", + "src": "7786:973:15" + } + ], + "id": 5123, + "name": "IfStatement", + "src": "7769:990:15" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct ContributionReward.ContributionProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4748, + "type": "mapping(address => mapping(bytes32 => struct ContributionReward.ContributionProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 5124, + "name": "Identifier", + "src": "8776:22:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5011, + "type": "address", + "value": "_avatar" + }, + "id": 5125, + "name": "Identifier", + "src": "8799:7:15" + } + ], + "id": 5126, + "name": "IndexAccess", + "src": "8776:31:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5009, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 5127, + "name": "Identifier", + "src": "8808:11:15" + } + ], + "id": 5128, + "name": "IndexAccess", + "src": "8776:44:15" + } + ], + "id": 5129, + "name": "UnaryOperation", + "src": "8769:51:15" + } + ], + "id": 5130, + "name": "ExpressionStatement", + "src": "8769:51:15" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4721, + "type": "function (address,bytes32)", + "value": "LogProposalExecuted" + }, + "id": 5131, + "name": "Identifier", + "src": "8831:19:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5011, + "type": "address", + "value": "_avatar" + }, + "id": 5132, + "name": "Identifier", + "src": "8851:7:15" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5009, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 5133, + "name": "Identifier", + "src": "8860:11:15" + } + ], + "id": 5134, + "name": "FunctionCall", + "src": "8831:41:15" + } + ], + "id": 5135, + "name": "ExpressionStatement", + "src": "8831:41:15" + }, + { + "attributes": { + "functionReturnParameters": 5017 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 5136, + "name": "Literal", + "src": "8890:4:15" + } + ], + "id": 5137, + "name": "Return", + "src": "8883:11:15" + } + ], + "id": 5138, + "name": "Block", + "src": "7559:1343:15" + } + ], + "id": 5139, + "name": "FunctionDefinition", + "src": "7471:1431:15" + } + ], + "id": 5140, + "name": "ContractDefinition", + "src": "347:8558:15" + } + ], + "id": 5141, + "name": "SourceUnit", + "src": "0:8907:15" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "42": { + "events": {}, + "links": {}, + "address": "0x09791b3e3919b29e78f1d25dc8c6842dbfef1c33" + }, + "1512051714758": { + "events": {}, + "links": {}, + "address": "0xdea629b906cd6bb529ed87f0bc559cac3d5383cf" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.919Z" +} \ No newline at end of file diff --git a/contracts/Controller.json b/contracts/Controller.json new file mode 100644 index 000000000..df161094a --- /dev/null +++ b/contracts/Controller.json @@ -0,0 +1,16294 @@ +{ + "contractName": "Controller", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "_globalConstraint", + "type": "address" + } + ], + "name": "isGlobalConstraintRegister", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "name": "mintTokens", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amount", + "type": "int256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "name": "mintReputation", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_params", + "type": "bytes32[]" + } + ], + "name": "genericAction", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "newController", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_globalConstraint", + "type": "address" + }, + { + "name": "_params", + "type": "bytes32" + } + ], + "name": "addGlobalConstraint", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_scheme", + "type": "address" + } + ], + "name": "getSchemeParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_globalConstraint", + "type": "address" + } + ], + "name": "removeGlobalConstraint", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "avatar", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "globalConstraintsRegister", + "outputs": [ + { + "name": "register", + "type": "bool" + }, + { + "name": "index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_scheme", + "type": "address" + } + ], + "name": "unregisterScheme", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "globalConstraints", + "outputs": [ + { + "name": "gcAddress", + "type": "address" + }, + { + "name": "params", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "unregisterSelf", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_scheme", + "type": "address" + } + ], + "name": "isSchemeRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeReputation", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_externalToken", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "externalTokenIncreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_scheme", + "type": "address" + } + ], + "name": "getSchemePermissions", + "outputs": [ + { + "name": "", + "type": "bytes4" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_scheme", + "type": "address" + }, + { + "name": "_paramsHash", + "type": "bytes32" + }, + { + "name": "_permissions", + "type": "bytes4" + } + ], + "name": "registerScheme", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_externalToken", + "type": "address" + }, + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "externalTokenTransferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newController", + "type": "address" + } + ], + "name": "upgradeController", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_amountInWei", + "type": "uint256" + }, + { + "name": "_to", + "type": "address" + } + ], + "name": "sendEther", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_externalToken", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "externalTokenDecreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "globalConstraintsCount", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_externalToken", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "externalTokenTransfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "schemes", + "outputs": [ + { + "name": "paramsHash", + "type": "bytes32" + }, + { + "name": "permissions", + "type": "bytes4" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_schemes", + "type": "address[]" + }, + { + "name": "_params", + "type": "bytes32[]" + }, + { + "name": "_permissions", + "type": "bytes4[]" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": false, + "stateMutability": "nonpayable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "name": "_beneficiary", + "type": "address" + }, + { + "indexed": false, + "name": "_amount", + "type": "int256" + } + ], + "name": "MintReputation", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "name": "_beneficiary", + "type": "address" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + } + ], + "name": "MintTokens", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "name": "_scheme", + "type": "address" + } + ], + "name": "RegisterScheme", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "name": "_scheme", + "type": "address" + } + ], + "name": "UnregisterScheme", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": false, + "name": "_params", + "type": "bytes32[]" + } + ], + "name": "GenericAction", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": false, + "name": "_amountInWei", + "type": "uint256" + }, + { + "indexed": true, + "name": "_to", + "type": "address" + } + ], + "name": "SendEther", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "name": "_externalToken", + "type": "address" + }, + { + "indexed": true, + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "name": "_value", + "type": "uint256" + } + ], + "name": "ExternalTokenTransfer", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "name": "_externalToken", + "type": "address" + }, + { + "indexed": false, + "name": "_from", + "type": "address" + }, + { + "indexed": false, + "name": "_to", + "type": "address" + }, + { + "indexed": false, + "name": "_value", + "type": "uint256" + } + ], + "name": "ExternalTokenTransferFrom", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "name": "_externalToken", + "type": "address" + }, + { + "indexed": false, + "name": "_spender", + "type": "address" + }, + { + "indexed": false, + "name": "_value", + "type": "uint256" + } + ], + "name": "ExternalTokenIncreaseApproval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_sender", + "type": "address" + }, + { + "indexed": true, + "name": "_externalToken", + "type": "address" + }, + { + "indexed": false, + "name": "_spender", + "type": "address" + }, + { + "indexed": false, + "name": "_value", + "type": "uint256" + } + ], + "name": "ExternalTokenDecreaseApproval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_globalconstraint", + "type": "address" + }, + { + "indexed": false, + "name": "_params", + "type": "bytes32" + } + ], + "name": "AddGlobalConstraint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_globalConstraint", + "type": "address" + }, + { + "indexed": false, + "name": "_index", + "type": "uint256" + } + ], + "name": "RemoveGlobalConstraint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_oldController", + "type": "address" + }, + { + "indexed": false, + "name": "_newController", + "type": "address" + } + ], + "name": "UpgradeController", + "type": "event" + } + ], + "bytecode": "0x606060405234156200001057600080fd5b6040516200307938038062003079833981016040528080519190602001805182019190602001805182019190602001805160018054600160a060020a031916600160a060020a0388811691909117918290559390910192600092501663e1758bd882604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515620000c157600080fd5b6102c65a03f11515620000d357600080fd5b505050604051805160028054600160a060020a031916600160a060020a039283161790556001541690506389ae1c906000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156200015357600080fd5b6102c65a03f115156200016557600080fd5b505050604051805160038054600160a060020a031916600160a060020a039290921691909117905550600090505b8351811015620002f0576040805190810160405280848381518110620001b557fe5b9060200190602002015181526020017c0100000000000000000000000000000000000000000000000000000000848481518110620001ef57fe5b90602001906020020151177fffffffff000000000000000000000000000000000000000000000000000000001690526000808684815181106200022e57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020815181556020820151600191909101805463ffffffff19167c0100000000000000000000000000000000000000000000000000000000909204919091179055508381815181106200029e57fe5b90602001906020020151600160a060020a031633600160a060020a03167f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc60405160405180910390a360010162000193565b5050505050612d7480620003056000396000f30060606040526004361061013a5763ffffffff60e060020a600035041663043cc6ee811461014a57806310c5b3281461017d57806318e236e41461019f578063277d811e146101c15780633a02263c1461021057806346a4869c1461023f57806346e361b714610261578063488b3814146102925780635aef7de6146102b157806364f47ace146102c4578063653915e5146102fd57806365ab1ae81461031c5780636bafaa591461035457806381d064c41461036757806389ae1c90146103865780638cf1355c146103995780639fe02726146103c1578063a34abaa8146103fd578063b756d5a21461042c578063b9c2ee821461045a578063cb16d4a214610479578063d29ab9c41461049b578063d5210f60146104c3578063dab0efff146104d6578063db6149ce146104fe578063e1758bd81461053f575b341561014557600080fd5b600080fd5b341561015557600080fd5b610169600160a060020a0360043516610552565b604051901515815260200160405180910390f35b341561018857600080fd5b610169600435600160a060020a0360243516610570565b34156101aa57600080fd5b610169600435600160a060020a0360243516610852565b34156101cc57600080fd5b6101696004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610b2c95505050505050565b341561021b57600080fd5b610223610e90565b604051600160a060020a03909116815260200160405180910390f35b341561024a57600080fd5b610169600160a060020a0360043516602435610e9f565b341561026c57600080fd5b610280600160a060020a0360043516611069565b60405190815260200160405180910390f35b341561029d57600080fd5b610169600160a060020a0360043516611084565b34156102bc57600080fd5b610223611298565b34156102cf57600080fd5b6102e3600160a060020a03600435166112a7565b604051911515825260208201526040908101905180910390f35b341561030857600080fd5b610169600160a060020a03600435166112c6565b341561032757600080fd5b6103326004356115fc565b604051600160a060020a03909216825260208201526040908101905180910390f35b341561035f57600080fd5b610169611632565b341561037257600080fd5b610169600160a060020a03600435166116ab565b341561039157600080fd5b6102236116d4565b34156103a457600080fd5b610169600160a060020a03600435811690602435166044356116e3565b34156103cc57600080fd5b6103e0600160a060020a03600435166119e4565b604051600160e060020a0319909116815260200160405180910390f35b341561040857600080fd5b610169600160a060020a0360043516602435600160e060020a031960443516611a08565b341561043757600080fd5b610169600160a060020a0360043581169060243581169060443516606435611da5565b341561046557600080fd5b610169600160a060020a03600435166120ba565b341561048457600080fd5b610169600435600160a060020a03602435166123cc565b34156104a657600080fd5b610169600160a060020a03600435811690602435166044356126a7565b34156104ce57600080fd5b61028061299f565b34156104e157600080fd5b610169600160a060020a03600435811690602435166044356129a5565b341561050957600080fd5b61051d600160a060020a0360043516612c96565b604051918252600160e060020a03191660208201526040908101905180910390f35b341561054a57600080fd5b610223612cb5565b600160a060020a031660009081526006602052604090205460ff1690565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146105a057600080fd5b7f6d696e74546f6b656e730000000000000000000000000000000000000000000060005b6005548110156106a45760058054829081106105dc57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061060f57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561067657600080fd5b6102c65a03f1151561068757600080fd5b50505060405180519050151561069c57600080fd5b6001016105c4565b83600160a060020a031633600160a060020a03167f21f9c9a1a1f9a311a50f15fec5c1faa9e21fc9edf964f0fdecba5bd490484c5e8760405190815260200160405180910390a3600254600160a060020a03166340c10f19858760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561074a57600080fd5b6102c65a03f1151561075b57600080fd5b50505060405180519350505060005b60055481101561084a57600580548290811061078257fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d913391859081106107b557fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561081c57600080fd5b6102c65a03f1151561082d57600080fd5b50505060405180519050151561084257600080fd5b60010161076a565b505092915050565b600160a060020a03331660009081526020819052604081206001015460e060020a90810281161461088257600080fd5b7f6d696e7452657075746174696f6e00000000000000000000000000000000000060005b6005548110156109865760058054829081106108be57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab2913391859081106108f157fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561095857600080fd5b6102c65a03f1151561096957600080fd5b50505060405180519050151561097e57600080fd5b6001016108a6565b83600160a060020a031633600160a060020a03167fb6ced7e295ffd06d19f45bd872b3bd3fd172b1ba53b17ce0543c276d06f5a4228760405190815260200160405180910390a3600354600160a060020a031663fd9bf3aa858760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a2c57600080fd5b6102c65a03f11515610a3d57600080fd5b50505060405180519350505060005b60055481101561084a576005805482908110610a6457fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110610a9757fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610afe57600080fd5b6102c65a03f11515610b0f57600080fd5b505050604051805190501515610b2457600080fd5b600101610a4c565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614610b5c57600080fd5b7f67656e65726963416374696f6e0000000000000000000000000000000000000060005b600554811015610c60576005805482908110610b9857fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110610bcb57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610c3257600080fd5b6102c65a03f11515610c4357600080fd5b505050604051805190501515610c5857600080fd5b600101610b80565b33600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8560405160208082528190810183818151815260200191508051906020019060200280838360005b83811015610ccb578082015183820152602001610cb3565b505050509050019250505060405180910390a2600154600160a060020a0316636ce15a5433866000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610d64578082015183820152602001610d4c565b505050509050019350505050602060405180830381600087803b1515610d8957600080fd5b6102c65a03f11515610d9a57600080fd5b50505060405180519350505060005b600554811015610e89576005805482908110610dc157fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110610df457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610e5b57600080fd5b6102c65a03f11515610e6c57600080fd5b505050604051805190501515610e8157600080fd5b600101610da9565b5050919050565b600454600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a027c040000000000000000000000000000000000000000000000000000000090811614610eec57600080fd5b600160a060020a03831660009081526006602052604090205460ff161515610fdc576005805460018101610f208382612cc4565b9160005260206000209060020201600060408051908101604052600160a060020a0387168152602081018690529190508151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001909101555060409050805190810160409081526001825260055460001901602080840191909152600160a060020a03861660009081526006909152208151815460ff191690151517815560208201516001909101555061101c565b600160a060020a03831660009081526006602052604090206001015460058054849290811061100757fe5b60009182526020909120600160029092020101555b7f6f3ac186000a779fe66d0a5188f51993a6593d93c4ff052ec0453aa84f09dbcb8383604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600160a060020a031660009081526020819052604090205490565b600061108e612cf5565b611096612cf5565b600160a060020a03331660009081526020819052604090206001015460e060020a027c0400000000000000000000000000000000000000000000000000000000908116146110e357600080fd5b600160a060020a03841660009081526006602052604090819020908051908101604052815460ff16151581526001909101546020820152915081511561128e5760055460001901602083015110156112005760058054600019810190811061114757fe5b9060005260206000209060020201604080519081016040528154600160a060020a0316815260019091015460208083019190915290915081906005908401518154811061119057fe5b90600052602060002090600202016000820151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600190910155506020820151600660008351600160a060020a031681526020810191909152604001600020600101555b6005805490611213906000198301612cc4565b50600160a060020a03841660009081526006602090815260408220805460ff19168155600101919091557f6ceab662049113d466f7e28b69edbec7cf641bc175522623536b09785887982a908590840151604051600160a060020a03909216825260208201526040908101905180910390a160019250610e89565b5060009392505050565b600154600160a060020a031681565b6006602052600090815260409020805460019091015460ff9091169082565b600160a060020a03331660009081526020819052604081206001015460e060020a027c02000000000000000000000000000000000000000000000000000000009081161461131357600080fd5b7f756e7265676973746572536368656d650000000000000000000000000000000060005b60055481101561141757600580548290811061134f57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061138257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156113e957600080fd5b6102c65a03f115156113fa57600080fd5b50505060405180519050151561140f57600080fd5b600101611337565b600160a060020a03841660009081526020819052604090206001015460e060020a90810216151561144b5760009250611518565b33600160a060020a0390811660009081526020819052604080822060019081015493881683529120015460e060020a918202199102167c0f0000000000000000000000000000000000000000000000000000000016156114aa57600080fd5b83600160a060020a031633600160a060020a03167f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf60405160405180910390a3600160a060020a03841660009081526020819052604081209081556001908101805463ffffffff1916905592505b5060005b600554811015610e8957600580548290811061153457fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061156757fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156115ce57600080fd5b6102c65a03f115156115df57600080fd5b5050506040518051905015156115f457600080fd5b60010161151c565b600580548290811061160a57fe5b600091825260209091206002909102018054600190910154600160a060020a03909116915082565b600061163d336116ab565b151561164b575060006116a8565b600160a060020a0333166000818152602081905260408082209182556001909101805463ffffffff1916905581907f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf905160405180910390a35060015b90565b600160a060020a031660009081526020819052604090206001015460e060020a90810216151590565b600354600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a90810281161461171357600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000060005b60055481101561181757600580548290811061174f57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061178257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156117e957600080fd5b6102c65a03f115156117fa57600080fd5b50505060405180519050151561180f57600080fd5b600101611737565b85600160a060020a031633600160a060020a03167f2cee0640e7c161518a78fa901d8c0e4b2f51d42612532184a4f017a45b01ba288787604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a0316638cf1355c87878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156118db57600080fd5b6102c65a03f115156118ec57600080fd5b50505060405180519350505060005b6005548110156119db57600580548290811061191357fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061194657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156119ad57600080fd5b6102c65a03f115156119be57600080fd5b5050506040518051905015156119d357600080fd5b6001016118fb565b50509392505050565b600160a060020a031660009081526020819052604090206001015460e060020a0290565b6000611a12612cf5565b600160a060020a03331660009081526020819052604090206001015460e060020a027c020000000000000000000000000000000000000000000000000000000090811614611a5f57600080fd5b7f7265676973746572536368656d6500000000000000000000000000000000000060005b600554811015611b63576005805482908110611a9b57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611ace57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611b3557600080fd5b6102c65a03f11515611b4657600080fd5b505050604051805190501515611b5b57600080fd5b600101611a83565b600160a060020a03871660009081526020819052604090819020908051908101604090815282548252600192830154600160e060020a031960e060020a918202166020808501918252600160a060020a03331660009081529081905292832090940154929650909291021990518718167c0f000000000000000000000000000000000000000000000000000000001614611bfc57600080fd5b600160a060020a03331660009081526020818152604082206001015460e060020a021990850151167c0f000000000000000000000000000000000000000000000000000000001614611c4d57600080fd5b600160a060020a0387811660008181526020819052604090819020898155600101805463ffffffff191660e060020a8a81170417905590913316907f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc905160405180910390a3600193505060005b600554811015611d9b576005805482908110611cd357fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110611d0657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611d6d57600080fd5b6102c65a03f11515611d7e57600080fd5b505050604051805190501515611d9357600080fd5b600101611cbb565b5050509392505050565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614611dd557600080fd5b7f65787465726e616c546f6b656e5472616e7366657246726f6d0000000000000060005b600554811015611ed9576005805482908110611e1157fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611e4457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611eab57600080fd5b6102c65a03f11515611ebc57600080fd5b505050604051805190501515611ed157600080fd5b600101611df9565b86600160a060020a031633600160a060020a03167f283faba4b8dcfe263728666be500623fdf5ae89ac78e40952fe2493f918ed62c888888604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a3600154600160a060020a031663b756d5a28888888860006040516020015260405160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381600087803b1515611fb057600080fd5b6102c65a03f11515611fc157600080fd5b50505060405180519350505060005b6005548110156120b0576005805482908110611fe857fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061201b57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561208257600080fd5b6102c65a03f1151561209357600080fd5b5050506040518051905015156120a857600080fd5b600101611fd0565b5050949350505050565b600160a060020a03331660009081526020819052604081206001015460e060020a027c08000000000000000000000000000000000000000000000000000000009081161461210757600080fd5b600454600160a060020a03161561211d57600080fd5b600160a060020a038216151561213257600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03848116919091179091556001541663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156121a757600080fd5b6102c65a03f115156121b857600080fd5b5050600254600160a060020a03308116925016638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561220757600080fd5b6102c65a03f1151561221857600080fd5b50505060405180519050600160a060020a0316141561229657600254600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561228157600080fd5b6102c65a03f1151561229257600080fd5b5050505b600354600160a060020a033081169116638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156122e257600080fd5b6102c65a03f115156122f357600080fd5b50505060405180519050600160a060020a0316141561237157600354600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561235c57600080fd5b6102c65a03f1151561236d57600080fd5b5050505b6004547fdb7cbacf8df312d794506c0cc9af07f64d29ca075796ea2e950a3832cc9a63dd903090600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a1506001919050565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146123fc57600080fd5b7f73656e644574686572000000000000000000000000000000000000000000000060005b60055481101561250057600580548290811061243857fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061246b57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156124d257600080fd5b6102c65a03f115156124e357600080fd5b5050506040518051905015156124f857600080fd5b600101612420565b83600160a060020a031633600160a060020a03167fda35e091786fbaaace32084910404a0e3a14f22a7645a4c3d0fec2c6731e3c348760405190815260200160405180910390a3600154600160a060020a031663cb16d4a2868660006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b15156125a757600080fd5b6102c65a03f115156125b857600080fd5b50505060405180519350505060005b60055481101561084a5760058054829081106125df57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061261257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561267957600080fd5b6102c65a03f1151561268a57600080fd5b50505060405180519050151561269f57600080fd5b6001016125c7565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146126d757600080fd5b7f65787465726e616c546f6b656e4465637265617365417070726f76616c00000060005b6005548110156127db57600580548290811061271357fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061274657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156127ad57600080fd5b6102c65a03f115156127be57600080fd5b5050506040518051905015156127d357600080fd5b6001016126fb565b85600160a060020a031633600160a060020a03167f56fc1f50d44108d3b715d77eb371d388bf2998c65b4eb5cf0ccd6c055be46d498787604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a031663d29ab9c487878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561289f57600080fd5b6102c65a03f115156128b057600080fd5b50505060405180519350505060005b6005548110156119db5760058054829081106128d757fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061290a57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561297157600080fd5b6102c65a03f1151561298257600080fd5b50505060405180519050151561299757600080fd5b6001016128bf565b60055490565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146129d557600080fd5b7f65787465726e616c546f6b656e5472616e73666572000000000000000000000060005b600554811015612ad9576005805482908110612a1157fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110612a4457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612aab57600080fd5b6102c65a03f11515612abc57600080fd5b505050604051805190501515612ad157600080fd5b6001016129f9565b84600160a060020a031686600160a060020a031633600160a060020a03167fd4c08afec48fd2cbe49032dc89d3b388b7a4e4f0563a1fdccd73339beb025aa18760405190815260200160405180910390a4600154600160a060020a031663dab0efff87878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612b9657600080fd5b6102c65a03f11515612ba757600080fd5b50505060405180519350505060005b6005548110156119db576005805482908110612bce57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110612c0157fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612c6857600080fd5b6102c65a03f11515612c7957600080fd5b505050604051805190501515612c8e57600080fd5b600101612bb6565b6000602081905290815260409020805460019091015460e060020a0282565b600254600160a060020a031681565b815481835581811511612cf057600202816002028360005260206000209182019101612cf09190612d0c565b505050565b604080519081016040526000808252602082015290565b6116a891905b80821115612d4457805473ffffffffffffffffffffffffffffffffffffffff1916815560006001820155600201612d12565b50905600a165627a7a72305820dd116b5e90268296fdc2bc988612d105652e5b1711df18c0cebc2a012ff6d7680029", + "deployedBytecode": "0x60606040526004361061013a5763ffffffff60e060020a600035041663043cc6ee811461014a57806310c5b3281461017d57806318e236e41461019f578063277d811e146101c15780633a02263c1461021057806346a4869c1461023f57806346e361b714610261578063488b3814146102925780635aef7de6146102b157806364f47ace146102c4578063653915e5146102fd57806365ab1ae81461031c5780636bafaa591461035457806381d064c41461036757806389ae1c90146103865780638cf1355c146103995780639fe02726146103c1578063a34abaa8146103fd578063b756d5a21461042c578063b9c2ee821461045a578063cb16d4a214610479578063d29ab9c41461049b578063d5210f60146104c3578063dab0efff146104d6578063db6149ce146104fe578063e1758bd81461053f575b341561014557600080fd5b600080fd5b341561015557600080fd5b610169600160a060020a0360043516610552565b604051901515815260200160405180910390f35b341561018857600080fd5b610169600435600160a060020a0360243516610570565b34156101aa57600080fd5b610169600435600160a060020a0360243516610852565b34156101cc57600080fd5b6101696004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610b2c95505050505050565b341561021b57600080fd5b610223610e90565b604051600160a060020a03909116815260200160405180910390f35b341561024a57600080fd5b610169600160a060020a0360043516602435610e9f565b341561026c57600080fd5b610280600160a060020a0360043516611069565b60405190815260200160405180910390f35b341561029d57600080fd5b610169600160a060020a0360043516611084565b34156102bc57600080fd5b610223611298565b34156102cf57600080fd5b6102e3600160a060020a03600435166112a7565b604051911515825260208201526040908101905180910390f35b341561030857600080fd5b610169600160a060020a03600435166112c6565b341561032757600080fd5b6103326004356115fc565b604051600160a060020a03909216825260208201526040908101905180910390f35b341561035f57600080fd5b610169611632565b341561037257600080fd5b610169600160a060020a03600435166116ab565b341561039157600080fd5b6102236116d4565b34156103a457600080fd5b610169600160a060020a03600435811690602435166044356116e3565b34156103cc57600080fd5b6103e0600160a060020a03600435166119e4565b604051600160e060020a0319909116815260200160405180910390f35b341561040857600080fd5b610169600160a060020a0360043516602435600160e060020a031960443516611a08565b341561043757600080fd5b610169600160a060020a0360043581169060243581169060443516606435611da5565b341561046557600080fd5b610169600160a060020a03600435166120ba565b341561048457600080fd5b610169600435600160a060020a03602435166123cc565b34156104a657600080fd5b610169600160a060020a03600435811690602435166044356126a7565b34156104ce57600080fd5b61028061299f565b34156104e157600080fd5b610169600160a060020a03600435811690602435166044356129a5565b341561050957600080fd5b61051d600160a060020a0360043516612c96565b604051918252600160e060020a03191660208201526040908101905180910390f35b341561054a57600080fd5b610223612cb5565b600160a060020a031660009081526006602052604090205460ff1690565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146105a057600080fd5b7f6d696e74546f6b656e730000000000000000000000000000000000000000000060005b6005548110156106a45760058054829081106105dc57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061060f57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561067657600080fd5b6102c65a03f1151561068757600080fd5b50505060405180519050151561069c57600080fd5b6001016105c4565b83600160a060020a031633600160a060020a03167f21f9c9a1a1f9a311a50f15fec5c1faa9e21fc9edf964f0fdecba5bd490484c5e8760405190815260200160405180910390a3600254600160a060020a03166340c10f19858760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561074a57600080fd5b6102c65a03f1151561075b57600080fd5b50505060405180519350505060005b60055481101561084a57600580548290811061078257fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d913391859081106107b557fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561081c57600080fd5b6102c65a03f1151561082d57600080fd5b50505060405180519050151561084257600080fd5b60010161076a565b505092915050565b600160a060020a03331660009081526020819052604081206001015460e060020a90810281161461088257600080fd5b7f6d696e7452657075746174696f6e00000000000000000000000000000000000060005b6005548110156109865760058054829081106108be57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab2913391859081106108f157fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561095857600080fd5b6102c65a03f1151561096957600080fd5b50505060405180519050151561097e57600080fd5b6001016108a6565b83600160a060020a031633600160a060020a03167fb6ced7e295ffd06d19f45bd872b3bd3fd172b1ba53b17ce0543c276d06f5a4228760405190815260200160405180910390a3600354600160a060020a031663fd9bf3aa858760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a2c57600080fd5b6102c65a03f11515610a3d57600080fd5b50505060405180519350505060005b60055481101561084a576005805482908110610a6457fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110610a9757fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610afe57600080fd5b6102c65a03f11515610b0f57600080fd5b505050604051805190501515610b2457600080fd5b600101610a4c565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614610b5c57600080fd5b7f67656e65726963416374696f6e0000000000000000000000000000000000000060005b600554811015610c60576005805482908110610b9857fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110610bcb57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610c3257600080fd5b6102c65a03f11515610c4357600080fd5b505050604051805190501515610c5857600080fd5b600101610b80565b33600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8560405160208082528190810183818151815260200191508051906020019060200280838360005b83811015610ccb578082015183820152602001610cb3565b505050509050019250505060405180910390a2600154600160a060020a0316636ce15a5433866000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610d64578082015183820152602001610d4c565b505050509050019350505050602060405180830381600087803b1515610d8957600080fd5b6102c65a03f11515610d9a57600080fd5b50505060405180519350505060005b600554811015610e89576005805482908110610dc157fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110610df457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610e5b57600080fd5b6102c65a03f11515610e6c57600080fd5b505050604051805190501515610e8157600080fd5b600101610da9565b5050919050565b600454600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a027c040000000000000000000000000000000000000000000000000000000090811614610eec57600080fd5b600160a060020a03831660009081526006602052604090205460ff161515610fdc576005805460018101610f208382612cc4565b9160005260206000209060020201600060408051908101604052600160a060020a0387168152602081018690529190508151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001909101555060409050805190810160409081526001825260055460001901602080840191909152600160a060020a03861660009081526006909152208151815460ff191690151517815560208201516001909101555061101c565b600160a060020a03831660009081526006602052604090206001015460058054849290811061100757fe5b60009182526020909120600160029092020101555b7f6f3ac186000a779fe66d0a5188f51993a6593d93c4ff052ec0453aa84f09dbcb8383604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600160a060020a031660009081526020819052604090205490565b600061108e612cf5565b611096612cf5565b600160a060020a03331660009081526020819052604090206001015460e060020a027c0400000000000000000000000000000000000000000000000000000000908116146110e357600080fd5b600160a060020a03841660009081526006602052604090819020908051908101604052815460ff16151581526001909101546020820152915081511561128e5760055460001901602083015110156112005760058054600019810190811061114757fe5b9060005260206000209060020201604080519081016040528154600160a060020a0316815260019091015460208083019190915290915081906005908401518154811061119057fe5b90600052602060002090600202016000820151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600190910155506020820151600660008351600160a060020a031681526020810191909152604001600020600101555b6005805490611213906000198301612cc4565b50600160a060020a03841660009081526006602090815260408220805460ff19168155600101919091557f6ceab662049113d466f7e28b69edbec7cf641bc175522623536b09785887982a908590840151604051600160a060020a03909216825260208201526040908101905180910390a160019250610e89565b5060009392505050565b600154600160a060020a031681565b6006602052600090815260409020805460019091015460ff9091169082565b600160a060020a03331660009081526020819052604081206001015460e060020a027c02000000000000000000000000000000000000000000000000000000009081161461131357600080fd5b7f756e7265676973746572536368656d650000000000000000000000000000000060005b60055481101561141757600580548290811061134f57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061138257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156113e957600080fd5b6102c65a03f115156113fa57600080fd5b50505060405180519050151561140f57600080fd5b600101611337565b600160a060020a03841660009081526020819052604090206001015460e060020a90810216151561144b5760009250611518565b33600160a060020a0390811660009081526020819052604080822060019081015493881683529120015460e060020a918202199102167c0f0000000000000000000000000000000000000000000000000000000016156114aa57600080fd5b83600160a060020a031633600160a060020a03167f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf60405160405180910390a3600160a060020a03841660009081526020819052604081209081556001908101805463ffffffff1916905592505b5060005b600554811015610e8957600580548290811061153457fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061156757fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156115ce57600080fd5b6102c65a03f115156115df57600080fd5b5050506040518051905015156115f457600080fd5b60010161151c565b600580548290811061160a57fe5b600091825260209091206002909102018054600190910154600160a060020a03909116915082565b600061163d336116ab565b151561164b575060006116a8565b600160a060020a0333166000818152602081905260408082209182556001909101805463ffffffff1916905581907f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf905160405180910390a35060015b90565b600160a060020a031660009081526020819052604090206001015460e060020a90810216151590565b600354600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a90810281161461171357600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000060005b60055481101561181757600580548290811061174f57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061178257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156117e957600080fd5b6102c65a03f115156117fa57600080fd5b50505060405180519050151561180f57600080fd5b600101611737565b85600160a060020a031633600160a060020a03167f2cee0640e7c161518a78fa901d8c0e4b2f51d42612532184a4f017a45b01ba288787604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a0316638cf1355c87878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156118db57600080fd5b6102c65a03f115156118ec57600080fd5b50505060405180519350505060005b6005548110156119db57600580548290811061191357fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061194657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156119ad57600080fd5b6102c65a03f115156119be57600080fd5b5050506040518051905015156119d357600080fd5b6001016118fb565b50509392505050565b600160a060020a031660009081526020819052604090206001015460e060020a0290565b6000611a12612cf5565b600160a060020a03331660009081526020819052604090206001015460e060020a027c020000000000000000000000000000000000000000000000000000000090811614611a5f57600080fd5b7f7265676973746572536368656d6500000000000000000000000000000000000060005b600554811015611b63576005805482908110611a9b57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611ace57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611b3557600080fd5b6102c65a03f11515611b4657600080fd5b505050604051805190501515611b5b57600080fd5b600101611a83565b600160a060020a03871660009081526020819052604090819020908051908101604090815282548252600192830154600160e060020a031960e060020a918202166020808501918252600160a060020a03331660009081529081905292832090940154929650909291021990518718167c0f000000000000000000000000000000000000000000000000000000001614611bfc57600080fd5b600160a060020a03331660009081526020818152604082206001015460e060020a021990850151167c0f000000000000000000000000000000000000000000000000000000001614611c4d57600080fd5b600160a060020a0387811660008181526020819052604090819020898155600101805463ffffffff191660e060020a8a81170417905590913316907f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc905160405180910390a3600193505060005b600554811015611d9b576005805482908110611cd357fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110611d0657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611d6d57600080fd5b6102c65a03f11515611d7e57600080fd5b505050604051805190501515611d9357600080fd5b600101611cbb565b5050509392505050565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614611dd557600080fd5b7f65787465726e616c546f6b656e5472616e7366657246726f6d0000000000000060005b600554811015611ed9576005805482908110611e1157fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611e4457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611eab57600080fd5b6102c65a03f11515611ebc57600080fd5b505050604051805190501515611ed157600080fd5b600101611df9565b86600160a060020a031633600160a060020a03167f283faba4b8dcfe263728666be500623fdf5ae89ac78e40952fe2493f918ed62c888888604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a3600154600160a060020a031663b756d5a28888888860006040516020015260405160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381600087803b1515611fb057600080fd5b6102c65a03f11515611fc157600080fd5b50505060405180519350505060005b6005548110156120b0576005805482908110611fe857fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061201b57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561208257600080fd5b6102c65a03f1151561209357600080fd5b5050506040518051905015156120a857600080fd5b600101611fd0565b5050949350505050565b600160a060020a03331660009081526020819052604081206001015460e060020a027c08000000000000000000000000000000000000000000000000000000009081161461210757600080fd5b600454600160a060020a03161561211d57600080fd5b600160a060020a038216151561213257600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03848116919091179091556001541663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156121a757600080fd5b6102c65a03f115156121b857600080fd5b5050600254600160a060020a03308116925016638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561220757600080fd5b6102c65a03f1151561221857600080fd5b50505060405180519050600160a060020a0316141561229657600254600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561228157600080fd5b6102c65a03f1151561229257600080fd5b5050505b600354600160a060020a033081169116638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156122e257600080fd5b6102c65a03f115156122f357600080fd5b50505060405180519050600160a060020a0316141561237157600354600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561235c57600080fd5b6102c65a03f1151561236d57600080fd5b5050505b6004547fdb7cbacf8df312d794506c0cc9af07f64d29ca075796ea2e950a3832cc9a63dd903090600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a1506001919050565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146123fc57600080fd5b7f73656e644574686572000000000000000000000000000000000000000000000060005b60055481101561250057600580548290811061243857fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061246b57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156124d257600080fd5b6102c65a03f115156124e357600080fd5b5050506040518051905015156124f857600080fd5b600101612420565b83600160a060020a031633600160a060020a03167fda35e091786fbaaace32084910404a0e3a14f22a7645a4c3d0fec2c6731e3c348760405190815260200160405180910390a3600154600160a060020a031663cb16d4a2868660006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b15156125a757600080fd5b6102c65a03f115156125b857600080fd5b50505060405180519350505060005b60055481101561084a5760058054829081106125df57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061261257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561267957600080fd5b6102c65a03f1151561268a57600080fd5b50505060405180519050151561269f57600080fd5b6001016125c7565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146126d757600080fd5b7f65787465726e616c546f6b656e4465637265617365417070726f76616c00000060005b6005548110156127db57600580548290811061271357fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061274657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156127ad57600080fd5b6102c65a03f115156127be57600080fd5b5050506040518051905015156127d357600080fd5b6001016126fb565b85600160a060020a031633600160a060020a03167f56fc1f50d44108d3b715d77eb371d388bf2998c65b4eb5cf0ccd6c055be46d498787604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a031663d29ab9c487878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561289f57600080fd5b6102c65a03f115156128b057600080fd5b50505060405180519350505060005b6005548110156119db5760058054829081106128d757fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061290a57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561297157600080fd5b6102c65a03f1151561298257600080fd5b50505060405180519050151561299757600080fd5b6001016128bf565b60055490565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146129d557600080fd5b7f65787465726e616c546f6b656e5472616e73666572000000000000000000000060005b600554811015612ad9576005805482908110612a1157fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110612a4457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612aab57600080fd5b6102c65a03f11515612abc57600080fd5b505050604051805190501515612ad157600080fd5b6001016129f9565b84600160a060020a031686600160a060020a031633600160a060020a03167fd4c08afec48fd2cbe49032dc89d3b388b7a4e4f0563a1fdccd73339beb025aa18760405190815260200160405180910390a4600154600160a060020a031663dab0efff87878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612b9657600080fd5b6102c65a03f11515612ba757600080fd5b50505060405180519350505060005b6005548110156119db576005805482908110612bce57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110612c0157fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612c6857600080fd5b6102c65a03f11515612c7957600080fd5b505050604051805190501515612c8e57600080fd5b600101612bb6565b6000602081905290815260409020805460019091015460e060020a0282565b600254600160a060020a031681565b815481835581811511612cf057600202816002028360005260206000209182019101612cf09190612d0c565b505050565b604080519081016040526000808252602082015290565b6116a891905b80821115612d4457805473ffffffffffffffffffffffffffffffffffffffff1916815560006001820155600201612d12565b50905600a165627a7a72305820dd116b5e90268296fdc2bc988612d105652e5b1711df18c0cebc2a012ff6d7680029", + "sourceMap": "440:15857:6:-;;;3113:548;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3277:6;:16;;-1:-1:-1;;;;;;3277:16:6;-1:-1:-1;;;;;3277:16:6;;;;;;;;;;;3113:548;;;;;-1:-1:-1;;;3318:6:6;:18;-1:-1:-1;3318:20:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3304:11;:34;;-1:-1:-1;;;;;;3304:34:6;-1:-1:-1;;;;;3304:34:6;;;;;;-1:-1:-1;3368:6:6;;;-1:-1:-1;3368:23:6;-1:-1:-1;3368:25:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3349:16;:44;;-1:-1:-1;;;;;;3349:44:6;-1:-1:-1;;;;;3349:44:6;;;;;;;;;;-1:-1:-1;;;;3436:218:6;3457:8;:15;3453:1;:19;3436:218;;;3517:71;;;;;;;;;3537:7;3545:1;3537:10;;;;;;;;;;;;;;;;3517:71;;;;3577:9;3561:12;3574:1;3561:12;:15;;;;;;;;;;;;;;;:25;3517:71;;;;3494:7;;3502:8;3511:1;3502:8;:11;;;;;;;;;;;;;;;-1:-1:-1;;;;;3494:20:6;;;;;;;;;;;;-1:-1:-1;3494:20:6;:94;;;;;;;;;;;;;;;-1:-1:-1;;3494:94:6;;;;;;;;;;;-1:-1:-1;3630:8:6;3639:1;3630:8;:11;;;;;;;;;;;;;;;-1:-1:-1;;;;;3603:39:6;3618:10;-1:-1:-1;;;;;3603:39:6;;;;;;;;;;;3474:3;;3436:218;;;3113:548;;;;;440:15857;;;;;;", + "deployedSourceMap": "440:15857:6:-;;;;;;;;-1:-1:-1;;;440:15857:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3733:8;;;8920:172;;;;;;;;;;;;-1:-1:-1;;;;;8920:172:6;;;;;;;;;;;;;;;;;;;;5549:285;;;;;;;;;;;;;;-1:-1:-1;;;;;5549:285:6;;;5051:301;;;;;;;;;;;;;;-1:-1:-1;;;;;5051:301:6;;;12380:262;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12380:262:6;;-1:-1:-1;12380:262:6;;-1:-1:-1;;;;;;12380:262:6;1477:28;;;;;;;;;;;;;;;-1:-1:-1;;;;;1477:28:6;;;;;;;;;;;;;;;9349:621;;;;;;;;;;;;-1:-1:-1;;;;;9349:621:6;;;;;8492:132;;;;;;;;;;;;-1:-1:-1;;;;;8492:132:6;;;;;;;;;;;;;;;;;;10166:947;;;;;;;;;;;;-1:-1:-1;;;;;10166:947:6;;;1281:20;;;;;;;;;;;;1743:75;;;;;;;;;;;;-1:-1:-1;;;;;1743:75:6;;;;;;;;;;;;;;;;;;;;;;;;;;7334:611;;;;;;;;;;;;-1:-1:-1;;;;;7334:611:6;;;1610:43;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1610:43:6;;;;;;;;;;;;;;;;;;;;;8063:259;;;;;;;;;;;;8330:154;;;;;;;;;;;;-1:-1:-1;;;;;8330:154:6;;;1342:34;;;;;;;;;;;;15051:418;;;;;;;;;;-1:-1:-1;;;;;15051:418:6;;;;;;;;;;;;8632:133;;;;;;;;;;;;-1:-1:-1;;;;;8632:133:6;;;;;;-1:-1:-1;;;;;;8632:133:6;;;;;;;;;;;;;;;6120:1058;;;;;;;;;;;;-1:-1:-1;;;;;6120:1058:6;;;;;-1:-1:-1;;;;;;6120:1058:6;;;14262:404;;;;;;;;;;-1:-1:-1;;;;;14262:404:6;;;;;;;;;;;;;;;;;11351:680;;;;;;;;;;;;-1:-1:-1;;;;;11351:680:6;;;12843:267;;;;;;;;;;;;;;-1:-1:-1;;;;;12843:267:6;;;15859:433;;;;;;;;;;-1:-1:-1;;;;;15859:433:6;;;;;;;;;;;;8798:114;;;;;;;;;;;;13402:359;;;;;;;;;;-1:-1:-1;;;;;13402:359:6;;;;;;;;;;;;1233:39;;;;;;;;;;;;-1:-1:-1;;;;;1233:39:6;;;;;;;;;-1:-1:-1;;;;;;1233:39:6;;;;;;;;;;;;;;;;1308:27;;;;;;;;;;;;8920:172;-1:-1:-1;;;;;9031:44:6;9007:4;9031:44;;;:25;:44;;;;;:53;;;;8920:172::o;5549:285::-;3833:10;-1:-1:-1;;;;;3825:19:6;5702:4;3825:19;;;;;;;;;;-1:-1:-1;3825:31:6;;-1:-1:-1;;;3825:31:6;;;:41;;:54;3817:63;;;;;;4318:527;4376:10;4397:209;4418:17;:24;4412:30;;4397:209;;;4502:17;:24;;4520:5;;4502:24;;;;;;;;;;;;;;;;;;;:34;4555:17;:24;;-1:-1:-1;;;;;4502:34:6;;;;4475:67;;4543:10;;4573:5;;4555:24;;;;;;;;;;;;;;;;:31;;;4588:4;4475:118;;;;;;;;;;;-1:-1:-1;;;4475:118:6;;;-1:-1:-1;;;;;4475:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4467:127;;;;;;;;4443:7;;4397:209;;;-1:-1:-1;;;;;5724:45:6;;;;5735:10;5724:45;;5761:7;5724:45;;;;;;;;;;;;;;5787:11;;-1:-1:-1;;;;;5787:11:6;:16;5804:12;5818:7;5787:11;:39;;;;;;;;;;-1:-1:-1;;;5787:39:6;;;-1:-1:-1;;;;;5787:39:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4641:1:6;4628:210;4649:17;:24;4643:30;;4628:210;;;4733:17;:24;;4751:5;;4733:24;;;;;;;;;;;;;;;;;;;:34;4787:17;:24;;-1:-1:-1;;;;;4733:34:6;;;;4706:68;;4775:10;;4805:5;;4787:24;;;;;;;;;;;;;;;;:31;;;4820:4;4706:119;;;;;;;;;;;-1:-1:-1;;;4706:119:6;;;-1:-1:-1;;;;;4706:119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4698:128;;;;;;;;4674:7;;4628:210;;;3891:1;;5549:285;;;;:::o;5051:301::-;3833:10;-1:-1:-1;;;;;3825:19:6;5211:4;3825:19;;;;;;;;;;-1:-1:-1;3825:31:6;;-1:-1:-1;;;3825:31:6;;;:41;;:54;3817:63;;;;;;4318:527;4376:10;4397:209;4418:17;:24;4412:30;;4397:209;;;4502:17;:24;;4520:5;;4502:24;;;;;;;;;;;;;;;;;;;:34;4555:17;:24;;-1:-1:-1;;;;;4502:34:6;;;;4475:67;;4543:10;;4573:5;;4555:24;;;;;;;;;;;;;;;;:31;;;4588:4;4475:118;;;;;;;;;;;-1:-1:-1;;;4475:118:6;;;-1:-1:-1;;;;;4475:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4467:127;;;;;;;;4443:7;;4397:209;;;-1:-1:-1;;;;;5233:49:6;;;;5248:10;5233:49;;5274:7;5233:49;;;;;;;;;;;;;;5300:16;;-1:-1:-1;;;;;5300:16:6;:21;5322:12;5336:7;5300:16;:44;;;;;;;;;;-1:-1:-1;;;5300:44:6;;;-1:-1:-1;;;;;5300:44:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4641:1:6;4628:210;4649:17;:24;4643:30;;4628:210;;;4733:17;:24;;4751:5;;4733:24;;;;;;;;;;;;;;;;;;;:34;4787:17;:24;;-1:-1:-1;;;;;4733:34:6;;;;4706:68;;4775:10;;4805:5;;4787:24;;;;;;;;;;;;;;;;:31;;;4820:4;4706:119;;;;;;;;;;;-1:-1:-1;;;4706:119:6;;;-1:-1:-1;;;;;4706:119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4698:128;;;;;;;;4674:7;;4628:210;;12380:262;3833:10;-1:-1:-1;;;;;3825:19:6;12519:4;3825:19;;;;;;;;;;-1:-1:-1;3825:31:6;;-1:-1:-1;;;3825:31:6;;;:41;;:54;3817:63;;;;;;4318:527;4376:10;4397:209;4418:17;:24;4412:30;;4397:209;;;4502:17;:24;;4520:5;;4502:24;;;;;;;;;;;;;;;;;;;:34;4555:17;:24;;-1:-1:-1;;;;;4502:34:6;;;;4475:67;;4543:10;;4573:5;;4555:24;;;;;;;;;;;;;;;;:31;;;4588:4;4475:118;;;;;;;;;;;-1:-1:-1;;;4475:118:6;;;-1:-1:-1;;;;;4475:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4467:127;;;;;;;;4443:7;;4397:209;;;-1:-1:-1;;;;;12555:10:6;12541:34;;12567:7;12541:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;12593:6:6;;-1:-1:-1;;;;;12593:6:6;:20;12614:10;12626:7;12593:6;:41;;;;;;;-1:-1:-1;;;12593:41:6;;;;;;-1:-1:-1;;;;;12593:41:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1;;;4641:1:6;4628:210;4649:17;:24;4643:30;;4628:210;;;4733:17;:24;;4751:5;;4733:24;;;;;;;;;;;;;;;;;;;:34;4787:17;:24;;-1:-1:-1;;;;;4733:34:6;;;;4706:68;;4775:10;;4805:5;;4787:24;;;;;;;;;;;;;;;;:31;;;4820:4;4706:119;;;;;;;;;;;-1:-1:-1;;;4706:119:6;;;-1:-1:-1;;;;;4706:119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4698:128;;;;;;;;4674:7;;4628:210;;;3891:1;;12380:262;;;:::o;1477:28::-;;;-1:-1:-1;;;;;1477:28:6;;:::o;9349:621::-;-1:-1:-1;;;;;4110:10:6;4102:19;9470:4;4102:19;;;;;;;;;;-1:-1:-1;4102:31:6;;-1:-1:-1;;;4102:31:6;4147:9;4102:41;;;:54;4094:63;;;;;;-1:-1:-1;;;;;9497:44:6;;;;;;:25;:44;;;;;:53;;;9496:54;9492:391;;;9567:17;:67;;;;;;:17;:67;;:::i;:::-;;;;;;;;;;;;9590:43;;;;;;;;-1:-1:-1;;;;;9590:43:6;;;;;;;;;;;;-1:-1:-1;9590:43:6;9567:67;;;-1:-1:-1;;9567:67:6;-1:-1:-1;;;;;9567:67:6;;;;;;;;;;;;;;;;-1:-1:-1;9696:57:6;;-1:-1:-1;9696:57:6;;;;;;;;;9721:4;9696:57;;9726:17;:24;-1:-1:-1;;9726:26:6;9696:57;;;;;;;;-1:-1:-1;;;;;9649:44:6;;-1:-1:-1;9649:44:6;;;:25;:44;;;;9696:57;9649:104;;;-1:-1:-1;;9649:104:6;;;;;;;;;;;;;;;;-1:-1:-1;9492:391:6;;;-1:-1:-1;;;;;9803:44:6;;;;;;:25;:44;;;;;-1:-1:-1;9803:50:6;;9785:17;:69;;9864:7;;9803:50;9785:69;;;;;;;;;;;;;;:76;:69;;;;;:76;:86;9492:391;9893:47;9913:17;9932:7;9893:47;;-1:-1:-1;;;;;9893:47:6;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9958:4:6;9349:621;;;;:::o;8492:132::-;-1:-1:-1;;;;;8589:16:6;8562:7;8589:16;;;;;;;;;;:27;;8492:132::o;10166:947::-;10274:4;10296:56;;:::i;:::-;10550:40;;:::i;:::-;-1:-1:-1;;;;;4110:10:6;4102:19;:7;:19;;;;;;;;;;-1:-1:-1;4102:31:6;;-1:-1:-1;;;4102:31:6;4147:9;4102:41;;;:54;4094:63;;;;;;-1:-1:-1;;;;;10355:44:6;;;;;;:25;:44;;;;;;;;;10296:103;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10296:103:6;10416:33;10412:671;;;10503:17;:24;-1:-1:-1;;10503:26:6;10470:30;;;;:59;10466:386;;;10593:17;10611:24;;-1:-1:-1;;10611:26:6;;;10593:45;;;;;;;;;;;;;;;;10550:88;;;;;;;;;;-1:-1:-1;;;;;10550:88:6;;;-1:-1:-1;10550:88:6;;;;;;;;;;;;;;-1:-1:-1;10550:88:6;;10657:17;;10675:30;;;10657:49;;;;;;;;;;;;;;;;;;:68;;;;;;-1:-1:-1;;10657:68:6;-1:-1:-1;;;;;10657:68:6;;;;;;;;;;;;;;;;-1:-1:-1;10806:30:6;;;;10744:25;:53;10770:16;:26;-1:-1:-1;;;;;10744:53:6;;;;;;;;;;;;-1:-1:-1;10744:53:6;-1:-1:-1;10744:59:6;:92;10466:386;10866:17;:26;;;;;-1:-1:-1;;10866:26:6;;;:::i;:::-;-1:-1:-1;;;;;;10914:44:6;;;;;;:25;:44;;;;;;;10907:51;;-1:-1:-1;;10907:51:6;;;-1:-1:-1;10907:51:6;;;;;10973:72;;10914:44;;11014:30;;;10973:72;;-1:-1:-1;;;;;10973:72:6;;;;;;;;;;;;;;;;;;;;;11067:4;11060:11;;;;10412:671;-1:-1:-1;11100:5:6;;10166:947;-1:-1:-1;;;10166:947:6:o;1281:20::-;;;-1:-1:-1;;;;;1281:20:6;;:::o;1743:75::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;7334:611::-;-1:-1:-1;;;;;3969:10:6;3961:19;7481:4;3961:19;;;;;;;;;;-1:-1:-1;3961:31:6;;-1:-1:-1;;;3961:31:6;4006:9;3961:41;;;:54;3953:63;;;;;;4318:527;4376:10;4397:209;4418:17;:24;4412:30;;4397:209;;;4502:17;:24;;4520:5;;4502:24;;;;;;;;;;;;;;;;;;;:34;4555:17;:24;;-1:-1:-1;;;;;4502:34:6;;;;4475:67;;4543:10;;4573:5;;4555:24;;;;;;;;;;;;;;;;:31;;;4588:4;4475:118;;;;;;;;;;;-1:-1:-1;;;4475:118:6;;;-1:-1:-1;;;;;4475:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4467:127;;;;;;;;4443:7;;4397:209;;;-1:-1:-1;;;;;7546:16:6;;7595:1;7546:16;;;;;;;;;;-1:-1:-1;7546:28:6;;-1:-1:-1;;;7546:28:6;;;:38;:51;7542:98;;;7621:5;7614:12;;;;7542:98;7772:10;-1:-1:-1;;;;;7764:19:6;;;7808:1;7764:19;;;;;;;;;;;-1:-1:-1;7764:31:6;;;;7733:16;;;;;;;:28;;-1:-1:-1;;;7764:31:6;;;7763:32;7733:28;;:63;7721:10;:76;:89;7713:98;;;;;;-1:-1:-1;;;;;7844:37:6;;;;7861:10;7844:37;;;;;;;;;;;-1:-1:-1;;;;;7899:16:6;;:7;:16;;;;;;;;;;7892:23;;;-1:-1:-1;7892:23:6;;;;;-1:-1:-1;;7892:23:6;;;-1:-1:-1;;4616:1:6;-1:-1:-1;4641:1:6;4628:210;4649:17;:24;4643:30;;4628:210;;;4733:17;:24;;4751:5;;4733:24;;;;;;;;;;;;;;;;;;;:34;4787:17;:24;;-1:-1:-1;;;;;4733:34:6;;;;4706:68;;4775:10;;4805:5;;4787:24;;;;;;;;;;;;;;;;:31;;;4820:4;4706:119;;;;;;;;;;;-1:-1:-1;;;4706:119:6;;;-1:-1:-1;;;;;4706:119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4698:128;;;;;;;;4674:7;;4628:210;;1610:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1610:43:6;;;;-1:-1:-1;1610:43:6;:::o;8063:259::-;8104:4;8125:30;8144:10;8125:18;:30::i;:::-;:39;;8121:84;;-1:-1:-1;8188:5:6;8181:12;;8121:84;-1:-1:-1;;;;;8230:10:6;8222:19;:7;:19;;;;;;;;;;;8215:26;;;-1:-1:-1;8215:26:6;;;;;-1:-1:-1;;8215:26:6;;;8222:19;;8252:40;;;;;;;;;;-1:-1:-1;8310:4:6;8063:259;;:::o;8330:154::-;-1:-1:-1;;;;;8424:16:6;8399:4;8424:16;;;;;;;;;;-1:-1:-1;8424:28:6;;-1:-1:-1;;;8424:28:6;;;:38;:51;;;8330:154::o;1342:34::-;;;-1:-1:-1;;;;;1342:34:6;;:::o;15051:418::-;3833:10;-1:-1:-1;;;;;3825:19:6;15269:4;3825:19;;;;;;;;;;-1:-1:-1;3825:31:6;;-1:-1:-1;;;3825:31:6;;;:41;;:54;3817:63;;;;;;4318:527;4376:10;4397:209;4418:17;:24;4412:30;;4397:209;;;4502:17;:24;;4520:5;;4502:24;;;;;;;;;;;;;;;;;;;:34;4555:17;:24;;-1:-1:-1;;;;;4502:34:6;;;;4475:67;;4543:10;;4573:5;;4555:24;;;;;;;;;;;;;;;;:31;;;4588:4;4475:118;;;;;;;;;;;-1:-1:-1;;;4475:118:6;;;-1:-1:-1;;;;;4475:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4467:127;;;;;;;;4443:7;;4397:209;;;-1:-1:-1;;;;;15291:77:6;;;;15321:10;15291:77;;15347:8;15356:11;15291:77;;-1:-1:-1;;;;;15291:77:6;;;;;;;;;;;;;;;;;;;;;15386:6;;-1:-1:-1;;;;;15386:6:6;:36;15423:14;15439:8;15449:11;15386:6;:75;;;;;;;;;;-1:-1:-1;;;15386:75:6;;;-1:-1:-1;;;;;15386:75:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4641:1:6;4628:210;4649:17;:24;4643:30;;4628:210;;;4733:17;:24;;4751:5;;4733:24;;;;;;;;;;;;;;;;;;;:34;4787:17;:24;;-1:-1:-1;;;;;4733:34:6;;;;4706:68;;4775:10;;4805:5;;4787:24;;;;;;;;;;;;;;;;:31;;;4820:4;4706:119;;;;;;;;;;;-1:-1:-1;;;4706:119:6;;;-1:-1:-1;;;;;4706:119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4698:128;;;;;;;;4674:7;;4628:210;;;3891:1;;15051:418;;;;;:::o;8632:133::-;-1:-1:-1;;;;;8729:16:6;8703:6;8729:16;;;;;;;;;;-1:-1:-1;8729:28:6;;-1:-1:-1;;;8729:28:6;;8632:133::o;6120:1058::-;6303:4;6327:20;;:::i;:::-;-1:-1:-1;;;;;3969:10:6;3961:19;:7;:19;;;;;;;;;;-1:-1:-1;3961:31:6;;-1:-1:-1;;;3961:31:6;4006:9;3961:41;;;:54;3953:63;;;;;;4318:527;4376:10;4397:209;4418:17;:24;4412:30;;4397:209;;;4502:17;:24;;4520:5;;4502:24;;;;;;;;;;;;;;;;;;;:34;4555:17;:24;;-1:-1:-1;;;;;4502:34:6;;;;4475:67;;4543:10;;4573:5;;4555:24;;;;;;;;;;;;;;;;:31;;;4588:4;4475:118;;;;;;;;;;;-1:-1:-1;;;4475:118:6;;;-1:-1:-1;;;;;4475:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4467:127;;;;;;;;4443:7;;4397:209;;;-1:-1:-1;;;;;6350:16:6;;:7;:16;;;;;;;;;;;;;;6327:39;;;;;;;;;;;;;;;;;-1:-1:-1;;;6327:39:6;;;-1:-1:-1;;;;;;6327:39:6;;;;;;;;6726:10;-1:-1:-1;;;;;6718:19:6;-1:-1:-1;6718:19:6;;;;;;;;;;:31;;;;6327:39;;-1:-1:-1;;;6718:31:6;;6717:32;;6696:18;6683:31;;6671:79;:10;:79;:92;6663:101;;;;;;6911:10;-1:-1:-1;;;;;6903:19:6;6947:1;6903:19;;;;;;;;;;-1:-1:-1;6903:31:6;;-1:-1:-1;;;6903:31:6;6902:32;;6882:18;;;:53;6870:10;:66;:79;6862:88;;;;;;-1:-1:-1;;;;;6997:16:6;;;:7;:16;;;;;;;;;;;;:41;;;-1:-1:-1;7049:28:6;:53;;-1:-1:-1;;7049:53:6;-1:-1:-1;;;7080:22:6;;;7049:53;;;;6997:16;;7128:10;7113:35;;;;;;;;;;;;7166:4;7159:11;;-1:-1:-1;4641:1:6;4628:210;4649:17;:24;4643:30;;4628:210;;;4733:17;:24;;4751:5;;4733:24;;;;;;;;;;;;;;;;;;;:34;4787:17;:24;;-1:-1:-1;;;;;4733:34:6;;;;4706:68;;4775:10;;4805:5;;4787:24;;;;;;;;;;;;;;;;:31;;;4820:4;4706:119;;;;;;;;;;;-1:-1:-1;;;4706:119:6;;;-1:-1:-1;;;;;4706:119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4698:128;;;;;;;;4674:7;;4628:210;;;4027:1;;6120:1058;;;;;;:::o;14262:404::-;3833:10;-1:-1:-1;;;;;3825:19:6;14477:4;3825:19;;;;;;;;;;-1:-1:-1;3825:31:6;;-1:-1:-1;;;3825:31:6;;;:41;;:54;3817:63;;;;;;4318:527;4376:10;4397:209;4418:17;:24;4412:30;;4397:209;;;4502:17;:24;;4520:5;;4502:24;;;;;;;;;;;;;;;;;;;:34;4555:17;:24;;-1:-1:-1;;;;;4502:34:6;;;;4475:67;;4543:10;;4573:5;;4555:24;;;;;;;;;;;;;;;;:31;;;4588:4;4475:118;;;;;;;;;;;-1:-1:-1;;;4475:118:6;;;-1:-1:-1;;;;;4475:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4467:127;;;;;;;;4443:7;;4397:209;;;-1:-1:-1;;;;;14499:73:6;;;;14525:10;14499:73;;14553:5;14560:3;14565:6;14499:73;;-1:-1:-1;;;;;14499:73:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14590:6;;-1:-1:-1;;;;;14590:6:6;:32;14623:14;14639:5;14646:3;14651:6;14590;:68;;;;;;;;;;-1:-1:-1;;;14590:68:6;;;-1:-1:-1;;;;;14590:68:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4641:1:6;4628:210;4649:17;:24;4643:30;;4628:210;;;4733:17;:24;;4751:5;;4733:24;;;;;;;;;;;;;;;;;;;:34;4787:17;:24;;-1:-1:-1;;;;;4733:34:6;;;;4706:68;;4775:10;;4805:5;;4787:24;;;;;;;;;;;;;;;;:31;;;4820:4;4706:119;;;;;;;;;;;-1:-1:-1;;;4706:119:6;;;-1:-1:-1;;;;;4706:119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4698:128;;;;;;;;4674:7;;4628:210;;;3891:1;;14262:404;;;;;;:::o;11351:680::-;-1:-1:-1;;;;;4243:10:6;4235:19;11442:4;4235:19;;;;;;;;;;-1:-1:-1;4235:31:6;;-1:-1:-1;;;4235:31:6;4280:9;4235:41;;;:54;4227:63;;;;;;11472:13;;-1:-1:-1;;;;;11472:13:6;:27;11464:36;;;;;;-1:-1:-1;;;;;11574:28:6;;;;11566:37;;;;;;11614:13;:30;;-1:-1:-1;;11614:30:6;-1:-1:-1;;;;;11614:30:6;;;;;;;;;;-1:-1:-1;11655:6:6;;:24;11614:30;11655:40;;;;;-1:-1:-1;;;11655:40:6;;;-1:-1:-1;;;;;11655:40:6;;;;;;;;;;-1:-1:-1;11655:40:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11710:11:6;;-1:-1:-1;;;;;11741:4:6;11710:36;;;-1:-1:-1;11710:11:6;:17;:11;:19;;;;;;;-1:-1:-1;;;11710:19:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11710:36:6;;;;;11706:114;;-1:-1:-1;11706:114:6;;11763:11;;-1:-1:-1;;;;;11763:11:6;:29;11793:14;11763:45;;;;;-1:-1:-1;;;11763:45:6;;;-1:-1:-1;;;;;11763:45:6;;;;;;;;;;-1:-1:-1;11763:45:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11706:114;11834:16;;-1:-1:-1;;;;;11870:4:6;11834:41;;;:16;:22;:16;:24;;;;;;;-1:-1:-1;;;11834:24:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11834:41:6;;;;;11830:124;;-1:-1:-1;11830:124:6;;11892:16;;-1:-1:-1;;;;;11892:16:6;:34;11927:14;11892:50;;;;;-1:-1:-1;;;11892:50:6;;;-1:-1:-1;;;;;11892:50:6;;;;;;;;;;-1:-1:-1;11892:50:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11830:124;11987:13;;11964:37;;11982:4;;-1:-1:-1;;;;;11987:13:6;11964:37;;-1:-1:-1;;;;;11964:37:6;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12019:4:6;11351:680;;;:::o;12843:267::-;3833:10;-1:-1:-1;;;;;3825:19:6;12987:4;3825:19;;;;;;;;;;-1:-1:-1;3825:31:6;;-1:-1:-1;;;3825:31:6;;;:41;;:54;3817:63;;;;;;4318:527;4376:10;4397:209;4418:17;:24;4412:30;;4397:209;;;4502:17;:24;;4520:5;;4502:24;;;;;;;;;;;;;;;;;;;:34;4555:17;:24;;-1:-1:-1;;;;;4502:34:6;;;;4475:67;;4543:10;;4573:5;;4555:24;;;;;;;;;;;;;;;;:31;;;4588:4;4475:118;;;;;;;;;;;-1:-1:-1;;;4475:118:6;;;-1:-1:-1;;;;;4475:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4467:127;;;;;;;;4443:7;;4397:209;;;-1:-1:-1;;;;;13009:40:6;;;;13019:10;13009:40;;13031:12;13009:40;;;;;;;;;;;;;;13067:6;;-1:-1:-1;;;;;13067:6:6;:16;13084:12;13098:3;13067:6;:35;;;;;;;;;;-1:-1:-1;;;13067:35:6;;;;;;;;;;-1:-1:-1;;;;;13067:35:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4641:1:6;4628:210;4649:17;:24;4643:30;;4628:210;;;4733:17;:24;;4751:5;;4733:24;;;;;;;;;;;;;;;;;;;:34;4787:17;:24;;-1:-1:-1;;;;;4733:34:6;;;;4706:68;;4775:10;;4805:5;;4787:24;;;;;;;;;;;;;;;;:31;;;4820:4;4706:119;;;;;;;;;;;-1:-1:-1;;;4706:119:6;;;-1:-1:-1;;;;;4706:119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4698:128;;;;;;;;4674:7;;4628:210;;15859:433;3833:10;-1:-1:-1;;;;;3825:19:6;16082:4;3825:19;;;;;;;;;;-1:-1:-1;3825:31:6;;-1:-1:-1;;;3825:31:6;;;:41;;:54;3817:63;;;;;;4318:527;4376:10;4397:209;4418:17;:24;4412:30;;4397:209;;;4502:17;:24;;4520:5;;4502:24;;;;;;;;;;;;;;;;;;;:34;4555:17;:24;;-1:-1:-1;;;;;4502:34:6;;;;4475:67;;4543:10;;4573:5;;4555:24;;;;;;;;;;;;;;;;:31;;;4588:4;4475:118;;;;;;;;;;;-1:-1:-1;;;4475:118:6;;;-1:-1:-1;;;;;4475:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4467:127;;;;;;;;4443:7;;4397:209;;;-1:-1:-1;;;;;16104:82:6;;;;16134:10;16104:82;;16160:8;16169:16;16104:82;;-1:-1:-1;;;;;16104:82:6;;;;;;;;;;;;;;;;;;;;;16204:6;;-1:-1:-1;;;;;16204:6:6;:36;16241:14;16257:8;16267:16;16204:6;:80;;;;;;;;;;-1:-1:-1;;;16204:80:6;;;-1:-1:-1;;;;;16204:80:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4641:1:6;4628:210;4649:17;:24;4643:30;;4628:210;;;4733:17;:24;;4751:5;;4733:24;;;;;;;;;;;;;;;;;;;:34;4787:17;:24;;-1:-1:-1;;;;;4733:34:6;;;;4706:68;;4775:10;;4805:5;;4787:24;;;;;;;;;;;;;;;;:31;;;4820:4;4706:119;;;;;;;;;;;-1:-1:-1;;;4706:119:6;;;-1:-1:-1;;;;;4706:119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4698:128;;;;;;;;4674:7;;4628:210;;8798:114;8880:17;:24;8798:114;:::o;13402:359::-;3833:10;-1:-1:-1;;;;;3825:19:6;13594:4;3825:19;;;;;;;;;;-1:-1:-1;3825:31:6;;-1:-1:-1;;;3825:31:6;;;:41;;:54;3817:63;;;;;;4318:527;4376:10;4397:209;4418:17;:24;4412:30;;4397:209;;;4502:17;:24;;4520:5;;4502:24;;;;;;;;;;;;;;;;;;;:34;4555:17;:24;;-1:-1:-1;;;;;4502:34:6;;;;4475:67;;4543:10;;4573:5;;4555:24;;;;;;;;;;;;;;;;:31;;;4588:4;4475:118;;;;;;;;;;;-1:-1:-1;;;4475:118:6;;;-1:-1:-1;;;;;4475:118:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4467:127;;;;;;;;4443:7;;4397:209;;;-1:-1:-1;;;;;13616:62:6;;;;;;;;13638:10;13616:62;;13671:6;13616:62;;;;;;;;;;;;;;13696:6;;-1:-1:-1;;;;;13696:6:6;:28;13725:14;13741:3;13746:6;13696;:57;;;;;;;;;;-1:-1:-1;;;13696:57:6;;;-1:-1:-1;;;;;13696:57:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4641:1:6;4628:210;4649:17;:24;4643:30;;4628:210;;;4733:17;:24;;4751:5;;4733:24;;;;;;;;;;;;;;;;;;;:34;4787:17;:24;;-1:-1:-1;;;;;4733:34:6;;;;4706:68;;4775:10;;4805:5;;4787:24;;;;;;;;;;;;;;;;:31;;;4820:4;4706:119;;;;;;;;;;;-1:-1:-1;;;4706:119:6;;;-1:-1:-1;;;;;4706:119:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4698:128;;;;;;;;4674:7;;4628:210;;1233:39;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1233:39:6;;:::o;1308:27::-;;;-1:-1:-1;;;;;1308:27:6;;:::o;440:15857::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;-1:-1:-1;;440:15857:6;;;-1:-1:-1;;440:15857:6;;;;;;;;;;", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"./Avatar.sol\";\r\nimport \"./Reputation.sol\";\r\nimport \"./DAOToken.sol\";\r\nimport \"../globalConstraints/GlobalConstraintInterface.sol\";\r\n\r\n\r\n/**\r\n * @title Controller contract\r\n * @dev A controller controls the organizations tokens,reputation and avatar.\r\n * It is subject to a set of schemes and constraints that determine its behavior.\r\n * Each scheme has it own parameters and operation permmisions.\r\n */\r\ncontract Controller {\r\n\r\n struct Scheme {\r\n bytes32 paramsHash; // a hash \"configuration\" of the scheme\r\n bytes4 permissions; // A bitwise flags of permissions,\r\n // All 0: Not registered,\r\n // 1st bit: Flag if the scheme is registered,\r\n // 2nd bit: Scheme can register other schemes\r\n // 3th bit: Scheme can add/remove global constraints\r\n // 4rd bit: Scheme can upgrade the controller\r\n }\r\n\r\n struct GlobalConstraint {\r\n address gcAddress;\r\n bytes32 params;\r\n }\r\n\r\n struct GlobalConstraintRegister {\r\n bool register; //is register\r\n uint index; //index at globalConstraints\r\n }\r\n\r\n mapping(address=>Scheme) public schemes;\r\n\r\n Avatar public avatar;\r\n DAOToken public nativeToken;\r\n Reputation public nativeReputation;\r\n // newController will point to the new controller after the present controller is upgraded\r\n address public newController;\r\n // globalConstraints that determine pre- and post-conditions for all actions on the controller\r\n GlobalConstraint[] public globalConstraints;\r\n // globalConstraintsRegister indicate is a globalConstraints is register or not\r\n mapping(address=>GlobalConstraintRegister) public globalConstraintsRegister;\r\n\r\n\r\n\r\n event MintReputation (address indexed _sender, address indexed _beneficiary, int256 _amount);\r\n event MintTokens (address indexed _sender, address indexed _beneficiary, uint256 _amount);\r\n event RegisterScheme (address indexed _sender, address indexed _scheme);\r\n event UnregisterScheme (address indexed _sender, address indexed _scheme);\r\n event GenericAction (address indexed _sender, bytes32[] _params);\r\n event SendEther (address indexed _sender, uint _amountInWei, address indexed _to);\r\n event ExternalTokenTransfer (address indexed _sender, address indexed _externalToken, address indexed _to, uint _value);\r\n event ExternalTokenTransferFrom (address indexed _sender, address indexed _externalToken, address _from, address _to, uint _value);\r\n event ExternalTokenIncreaseApproval (address indexed _sender, StandardToken indexed _externalToken, address _spender, uint _value);\r\n event ExternalTokenDecreaseApproval (address indexed _sender, StandardToken indexed _externalToken, address _spender, uint _value);\r\n event AddGlobalConstraint(address _globalconstraint, bytes32 _params);\r\n event RemoveGlobalConstraint(address _globalConstraint ,uint256 _index);\r\n event UpgradeController(address _oldController,address _newController);\r\n\r\n function Controller(\r\n Avatar _avatar,\r\n address[] _schemes,\r\n bytes32[] _params,\r\n bytes4[] _permissions\r\n ) public\r\n {\r\n avatar = _avatar;\r\n nativeToken = avatar.nativeToken();\r\n nativeReputation = avatar.nativeReputation();\r\n\r\n // Register the schemes:\r\n for (uint i = 0; i < _schemes.length; i++) {\r\n schemes[_schemes[i]] = Scheme({paramsHash: _params[i],permissions: _permissions[i]|bytes4(1)});\r\n RegisterScheme(msg.sender, _schemes[i]);\r\n }\r\n }\r\n\r\n // Do not allow mistaken calls:\r\n function() public {\r\n revert();\r\n }\r\n\r\n // Modifiers:\r\n modifier onlyRegisteredScheme() {\r\n require(schemes[msg.sender].permissions&bytes4(1) == bytes4(1));\r\n _;\r\n }\r\n\r\n modifier onlyRegisteringSchemes() {\r\n require(schemes[msg.sender].permissions&bytes4(2) == bytes4(2));\r\n _;\r\n }\r\n\r\n modifier onlyGlobalConstraintsScheme() {\r\n require(schemes[msg.sender].permissions&bytes4(4) == bytes4(4));\r\n _;\r\n }\r\n\r\n modifier onlyUpgradingScheme() {\r\n require(schemes[msg.sender].permissions&bytes4(8) == bytes4(8));\r\n _;\r\n }\r\n\r\n modifier onlySubjectToConstraint(bytes32 func) {\r\n uint index;\r\n for (index = 0;index struct Controller.Scheme storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => struct Controller.Scheme storage ref)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3094, + "name": "ElementaryTypeName", + "src": "1241:7:6" + }, + { + "attributes": { + "contractScope": null, + "name": "Scheme", + "referencedDeclaration": 3083, + "type": "struct Controller.Scheme storage pointer" + }, + "id": 3095, + "name": "UserDefinedTypeName", + "src": "1250:6:6" + } + ], + "id": 3096, + "name": "Mapping", + "src": "1233:24:6" + } + ], + "id": 3097, + "name": "VariableDeclaration", + "src": "1233:39:6" + }, + { + "attributes": { + "constant": false, + "name": "avatar", + "scope": 4157, + "stateVariable": true, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 3098, + "name": "UserDefinedTypeName", + "src": "1281:6:6" + } + ], + "id": 3099, + "name": "VariableDeclaration", + "src": "1281:20:6" + }, + { + "attributes": { + "constant": false, + "name": "nativeToken", + "scope": 4157, + "stateVariable": true, + "storageLocation": "default", + "type": "contract DAOToken", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "DAOToken", + "referencedDeclaration": 4192, + "type": "contract DAOToken" + }, + "id": 3100, + "name": "UserDefinedTypeName", + "src": "1308:8:6" + } + ], + "id": 3101, + "name": "VariableDeclaration", + "src": "1308:27:6" + }, + { + "attributes": { + "constant": false, + "name": "nativeReputation", + "scope": 4157, + "stateVariable": true, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 3102, + "name": "UserDefinedTypeName", + "src": "1342:10:6" + } + ], + "id": 3103, + "name": "VariableDeclaration", + "src": "1342:34:6" + }, + { + "attributes": { + "constant": false, + "name": "newController", + "scope": 4157, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3104, + "name": "ElementaryTypeName", + "src": "1477:7:6" + } + ], + "id": 3105, + "name": "VariableDeclaration", + "src": "1477:28:6" + }, + { + "attributes": { + "constant": false, + "name": "globalConstraints", + "scope": 4157, + "stateVariable": true, + "storageLocation": "default", + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "struct Controller.GlobalConstraint storage ref[] storage pointer" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "GlobalConstraint", + "referencedDeclaration": 3088, + "type": "struct Controller.GlobalConstraint storage pointer" + }, + "id": 3106, + "name": "UserDefinedTypeName", + "src": "1610:16:6" + } + ], + "id": 3107, + "name": "ArrayTypeName", + "src": "1610:18:6" + } + ], + "id": 3108, + "name": "VariableDeclaration", + "src": "1610:43:6" + }, + { + "attributes": { + "constant": false, + "name": "globalConstraintsRegister", + "scope": 4157, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => struct Controller.GlobalConstraintRegister storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => struct Controller.GlobalConstraintRegister storage ref)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3109, + "name": "ElementaryTypeName", + "src": "1751:7:6" + }, + { + "attributes": { + "contractScope": null, + "name": "GlobalConstraintRegister", + "referencedDeclaration": 3093, + "type": "struct Controller.GlobalConstraintRegister storage pointer" + }, + "id": 3110, + "name": "UserDefinedTypeName", + "src": "1760:24:6" + } + ], + "id": 3111, + "name": "Mapping", + "src": "1743:42:6" + } + ], + "id": 3112, + "name": "VariableDeclaration", + "src": "1743:75:6" + }, + { + "attributes": { + "anonymous": false, + "name": "MintReputation" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 3120, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3113, + "name": "ElementaryTypeName", + "src": "1853:7:6" + } + ], + "id": 3114, + "name": "VariableDeclaration", + "src": "1853:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_beneficiary", + "scope": 3120, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3115, + "name": "ElementaryTypeName", + "src": "1878:7:6" + } + ], + "id": 3116, + "name": "VariableDeclaration", + "src": "1878:28:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_amount", + "scope": 3120, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int256", + "type": "int256" + }, + "id": 3117, + "name": "ElementaryTypeName", + "src": "1908:6:6" + } + ], + "id": 3118, + "name": "VariableDeclaration", + "src": "1908:14:6" + } + ], + "id": 3119, + "name": "ParameterList", + "src": "1852:71:6" + } + ], + "id": 3120, + "name": "EventDefinition", + "src": "1831:93:6" + }, + { + "attributes": { + "anonymous": false, + "name": "MintTokens" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 3128, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3121, + "name": "ElementaryTypeName", + "src": "1948:7:6" + } + ], + "id": 3122, + "name": "VariableDeclaration", + "src": "1948:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_beneficiary", + "scope": 3128, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3123, + "name": "ElementaryTypeName", + "src": "1973:7:6" + } + ], + "id": 3124, + "name": "VariableDeclaration", + "src": "1973:28:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_amount", + "scope": 3128, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 3125, + "name": "ElementaryTypeName", + "src": "2003:7:6" + } + ], + "id": 3126, + "name": "VariableDeclaration", + "src": "2003:15:6" + } + ], + "id": 3127, + "name": "ParameterList", + "src": "1947:72:6" + } + ], + "id": 3128, + "name": "EventDefinition", + "src": "1930:90:6" + }, + { + "attributes": { + "anonymous": false, + "name": "RegisterScheme" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 3134, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3129, + "name": "ElementaryTypeName", + "src": "2048:7:6" + } + ], + "id": 3130, + "name": "VariableDeclaration", + "src": "2048:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_scheme", + "scope": 3134, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3131, + "name": "ElementaryTypeName", + "src": "2073:7:6" + } + ], + "id": 3132, + "name": "VariableDeclaration", + "src": "2073:23:6" + } + ], + "id": 3133, + "name": "ParameterList", + "src": "2047:50:6" + } + ], + "id": 3134, + "name": "EventDefinition", + "src": "2026:72:6" + }, + { + "attributes": { + "anonymous": false, + "name": "UnregisterScheme" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 3140, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3135, + "name": "ElementaryTypeName", + "src": "2128:7:6" + } + ], + "id": 3136, + "name": "VariableDeclaration", + "src": "2128:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_scheme", + "scope": 3140, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3137, + "name": "ElementaryTypeName", + "src": "2153:7:6" + } + ], + "id": 3138, + "name": "VariableDeclaration", + "src": "2153:23:6" + } + ], + "id": 3139, + "name": "ParameterList", + "src": "2127:50:6" + } + ], + "id": 3140, + "name": "EventDefinition", + "src": "2104:74:6" + }, + { + "attributes": { + "anonymous": false, + "name": "GenericAction" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 3147, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3141, + "name": "ElementaryTypeName", + "src": "2205:7:6" + } + ], + "id": 3142, + "name": "VariableDeclaration", + "src": "2205:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_params", + "scope": 3147, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 3143, + "name": "ElementaryTypeName", + "src": "2230:7:6" + } + ], + "id": 3144, + "name": "ArrayTypeName", + "src": "2230:9:6" + } + ], + "id": 3145, + "name": "VariableDeclaration", + "src": "2230:17:6" + } + ], + "id": 3146, + "name": "ParameterList", + "src": "2204:44:6" + } + ], + "id": 3147, + "name": "EventDefinition", + "src": "2184:65:6" + }, + { + "attributes": { + "anonymous": false, + "name": "SendEther" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 3155, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3148, + "name": "ElementaryTypeName", + "src": "2272:7:6" + } + ], + "id": 3149, + "name": "VariableDeclaration", + "src": "2272:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_amountInWei", + "scope": 3155, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3150, + "name": "ElementaryTypeName", + "src": "2297:4:6" + } + ], + "id": 3151, + "name": "VariableDeclaration", + "src": "2297:17:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_to", + "scope": 3155, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3152, + "name": "ElementaryTypeName", + "src": "2316:7:6" + } + ], + "id": 3153, + "name": "VariableDeclaration", + "src": "2316:19:6" + } + ], + "id": 3154, + "name": "ParameterList", + "src": "2271:65:6" + } + ], + "id": 3155, + "name": "EventDefinition", + "src": "2255:82:6" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenTransfer" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 3165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3156, + "name": "ElementaryTypeName", + "src": "2372:7:6" + } + ], + "id": 3157, + "name": "VariableDeclaration", + "src": "2372:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 3165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3158, + "name": "ElementaryTypeName", + "src": "2397:7:6" + } + ], + "id": 3159, + "name": "VariableDeclaration", + "src": "2397:30:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_to", + "scope": 3165, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3160, + "name": "ElementaryTypeName", + "src": "2429:7:6" + } + ], + "id": 3161, + "name": "VariableDeclaration", + "src": "2429:19:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_value", + "scope": 3165, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3162, + "name": "ElementaryTypeName", + "src": "2450:4:6" + } + ], + "id": 3163, + "name": "VariableDeclaration", + "src": "2450:11:6" + } + ], + "id": 3164, + "name": "ParameterList", + "src": "2371:91:6" + } + ], + "id": 3165, + "name": "EventDefinition", + "src": "2343:120:6" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenTransferFrom" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 3177, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3166, + "name": "ElementaryTypeName", + "src": "2502:7:6" + } + ], + "id": 3167, + "name": "VariableDeclaration", + "src": "2502:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 3177, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3168, + "name": "ElementaryTypeName", + "src": "2527:7:6" + } + ], + "id": 3169, + "name": "VariableDeclaration", + "src": "2527:30:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_from", + "scope": 3177, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3170, + "name": "ElementaryTypeName", + "src": "2559:7:6" + } + ], + "id": 3171, + "name": "VariableDeclaration", + "src": "2559:13:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_to", + "scope": 3177, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3172, + "name": "ElementaryTypeName", + "src": "2574:7:6" + } + ], + "id": 3173, + "name": "VariableDeclaration", + "src": "2574:11:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_value", + "scope": 3177, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3174, + "name": "ElementaryTypeName", + "src": "2587:4:6" + } + ], + "id": 3175, + "name": "VariableDeclaration", + "src": "2587:11:6" + } + ], + "id": 3176, + "name": "ParameterList", + "src": "2501:98:6" + } + ], + "id": 3177, + "name": "EventDefinition", + "src": "2469:131:6" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenIncreaseApproval" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 3187, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3178, + "name": "ElementaryTypeName", + "src": "2643:7:6" + } + ], + "id": 3179, + "name": "VariableDeclaration", + "src": "2643:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 3187, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 3180, + "name": "UserDefinedTypeName", + "src": "2668:13:6" + } + ], + "id": 3181, + "name": "VariableDeclaration", + "src": "2668:36:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_spender", + "scope": 3187, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3182, + "name": "ElementaryTypeName", + "src": "2706:7:6" + } + ], + "id": 3183, + "name": "VariableDeclaration", + "src": "2706:16:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_value", + "scope": 3187, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3184, + "name": "ElementaryTypeName", + "src": "2724:4:6" + } + ], + "id": 3185, + "name": "VariableDeclaration", + "src": "2724:11:6" + } + ], + "id": 3186, + "name": "ParameterList", + "src": "2642:94:6" + } + ], + "id": 3187, + "name": "EventDefinition", + "src": "2606:131:6" + }, + { + "attributes": { + "anonymous": false, + "name": "ExternalTokenDecreaseApproval" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_sender", + "scope": 3197, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3188, + "name": "ElementaryTypeName", + "src": "2780:7:6" + } + ], + "id": 3189, + "name": "VariableDeclaration", + "src": "2780:23:6" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_externalToken", + "scope": 3197, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 3190, + "name": "UserDefinedTypeName", + "src": "2805:13:6" + } + ], + "id": 3191, + "name": "VariableDeclaration", + "src": "2805:36:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_spender", + "scope": 3197, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3192, + "name": "ElementaryTypeName", + "src": "2843:7:6" + } + ], + "id": 3193, + "name": "VariableDeclaration", + "src": "2843:16:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_value", + "scope": 3197, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3194, + "name": "ElementaryTypeName", + "src": "2861:4:6" + } + ], + "id": 3195, + "name": "VariableDeclaration", + "src": "2861:11:6" + } + ], + "id": 3196, + "name": "ParameterList", + "src": "2779:94:6" + } + ], + "id": 3197, + "name": "EventDefinition", + "src": "2743:131:6" + }, + { + "attributes": { + "anonymous": false, + "name": "AddGlobalConstraint" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_globalconstraint", + "scope": 3203, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3198, + "name": "ElementaryTypeName", + "src": "2906:7:6" + } + ], + "id": 3199, + "name": "VariableDeclaration", + "src": "2906:25:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_params", + "scope": 3203, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 3200, + "name": "ElementaryTypeName", + "src": "2933:7:6" + } + ], + "id": 3201, + "name": "VariableDeclaration", + "src": "2933:15:6" + } + ], + "id": 3202, + "name": "ParameterList", + "src": "2905:44:6" + } + ], + "id": 3203, + "name": "EventDefinition", + "src": "2880:70:6" + }, + { + "attributes": { + "anonymous": false, + "name": "RemoveGlobalConstraint" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_globalConstraint", + "scope": 3209, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3204, + "name": "ElementaryTypeName", + "src": "2985:7:6" + } + ], + "id": 3205, + "name": "VariableDeclaration", + "src": "2985:25:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_index", + "scope": 3209, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 3206, + "name": "ElementaryTypeName", + "src": "3012:7:6" + } + ], + "id": 3207, + "name": "VariableDeclaration", + "src": "3012:14:6" + } + ], + "id": 3208, + "name": "ParameterList", + "src": "2984:43:6" + } + ], + "id": 3209, + "name": "EventDefinition", + "src": "2956:72:6" + }, + { + "attributes": { + "anonymous": false, + "name": "UpgradeController" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_oldController", + "scope": 3215, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3210, + "name": "ElementaryTypeName", + "src": "3058:7:6" + } + ], + "id": 3211, + "name": "VariableDeclaration", + "src": "3058:22:6" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_newController", + "scope": 3215, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3212, + "name": "ElementaryTypeName", + "src": "3081:7:6" + } + ], + "id": 3213, + "name": "VariableDeclaration", + "src": "3081:22:6" + } + ], + "id": 3214, + "name": "ParameterList", + "src": "3057:47:6" + } + ], + "id": 3215, + "name": "EventDefinition", + "src": "3034:71:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Controller", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 3286, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 3216, + "name": "UserDefinedTypeName", + "src": "3143:6:6" + } + ], + "id": 3217, + "name": "VariableDeclaration", + "src": "3143:14:6" + }, + { + "attributes": { + "constant": false, + "name": "_schemes", + "scope": 3286, + "stateVariable": false, + "storageLocation": "default", + "type": "address[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3218, + "name": "ElementaryTypeName", + "src": "3168:7:6" + } + ], + "id": 3219, + "name": "ArrayTypeName", + "src": "3168:9:6" + } + ], + "id": 3220, + "name": "VariableDeclaration", + "src": "3168:18:6" + }, + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 3286, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 3221, + "name": "ElementaryTypeName", + "src": "3197:7:6" + } + ], + "id": 3222, + "name": "ArrayTypeName", + "src": "3197:9:6" + } + ], + "id": 3223, + "name": "VariableDeclaration", + "src": "3197:17:6" + }, + { + "attributes": { + "constant": false, + "name": "_permissions", + "scope": 3286, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes4[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes4[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes4", + "type": "bytes4" + }, + "id": 3224, + "name": "ElementaryTypeName", + "src": "3225:6:6" + } + ], + "id": 3225, + "name": "ArrayTypeName", + "src": "3225:8:6" + } + ], + "id": 3226, + "name": "VariableDeclaration", + "src": "3225:21:6" + } + ], + "id": 3227, + "name": "ParameterList", + "src": "3132:121:6" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 3228, + "name": "ParameterList", + "src": "3266:0:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract Avatar" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3099, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 3229, + "name": "Identifier", + "src": "3277:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3217, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 3230, + "name": "Identifier", + "src": "3286:7:6" + } + ], + "id": 3231, + "name": "Assignment", + "src": "3277:16:6" + } + ], + "id": 3232, + "name": "ExpressionStatement", + "src": "3277:16:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract DAOToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3101, + "type": "contract DAOToken", + "value": "nativeToken" + }, + "id": 3233, + "name": "Identifier", + "src": "3304:11:6" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract DAOToken", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "nativeToken", + "referencedDeclaration": 2803, + "type": "function () view external returns (contract DAOToken)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3099, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 3234, + "name": "Identifier", + "src": "3318:6:6" + } + ], + "id": 3235, + "name": "MemberAccess", + "src": "3318:18:6" + } + ], + "id": 3236, + "name": "FunctionCall", + "src": "3318:20:6" + } + ], + "id": 3237, + "name": "Assignment", + "src": "3304:34:6" + } + ], + "id": 3238, + "name": "ExpressionStatement", + "src": "3304:34:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract Reputation" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3103, + "type": "contract Reputation", + "value": "nativeReputation" + }, + "id": 3239, + "name": "Identifier", + "src": "3349:16:6" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Reputation", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "nativeReputation", + "referencedDeclaration": 2805, + "type": "function () view external returns (contract Reputation)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3099, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 3240, + "name": "Identifier", + "src": "3368:6:6" + } + ], + "id": 3241, + "name": "MemberAccess", + "src": "3368:23:6" + } + ], + "id": 3242, + "name": "FunctionCall", + "src": "3368:25:6" + } + ], + "id": 3243, + "name": "Assignment", + "src": "3349:44:6" + } + ], + "id": 3244, + "name": "ExpressionStatement", + "src": "3349:44:6" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 3246 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 3286, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3245, + "name": "ElementaryTypeName", + "src": "3441:4:6" + } + ], + "id": 3246, + "name": "VariableDeclaration", + "src": "3441:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 3247, + "name": "Literal", + "src": "3450:1:6" + } + ], + "id": 3248, + "name": "VariableDeclarationStatement", + "src": "3441:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3246, + "type": "uint256", + "value": "i" + }, + "id": 3249, + "name": "Identifier", + "src": "3453:1:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3220, + "type": "address[] memory", + "value": "_schemes" + }, + "id": 3250, + "name": "Identifier", + "src": "3457:8:6" + } + ], + "id": 3251, + "name": "MemberAccess", + "src": "3457:15:6" + } + ], + "id": 3252, + "name": "BinaryOperation", + "src": "3453:19:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3246, + "type": "uint256", + "value": "i" + }, + "id": 3253, + "name": "Identifier", + "src": "3474:1:6" + } + ], + "id": 3254, + "name": "UnaryOperation", + "src": "3474:3:6" + } + ], + "id": 3255, + "name": "ExpressionStatement", + "src": "3474:3:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3256, + "name": "Identifier", + "src": "3494:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3220, + "type": "address[] memory", + "value": "_schemes" + }, + "id": 3257, + "name": "Identifier", + "src": "3502:8:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3246, + "type": "uint256", + "value": "i" + }, + "id": 3258, + "name": "Identifier", + "src": "3511:1:6" + } + ], + "id": 3259, + "name": "IndexAccess", + "src": "3502:11:6" + } + ], + "id": 3260, + "name": "IndexAccess", + "src": "3494:20:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "paramsHash", + "permissions" + ], + "type": "struct Controller.Scheme memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3083, + "type": "type(struct Controller.Scheme storage pointer)", + "value": "Scheme" + }, + "id": 3261, + "name": "Identifier", + "src": "3517:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3223, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 3262, + "name": "Identifier", + "src": "3537:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3246, + "type": "uint256", + "value": "i" + }, + "id": 3263, + "name": "Identifier", + "src": "3545:1:6" + } + ], + "id": 3264, + "name": "IndexAccess", + "src": "3537:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "|", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3226, + "type": "bytes4[] memory", + "value": "_permissions" + }, + "id": 3265, + "name": "Identifier", + "src": "3561:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3246, + "type": "uint256", + "value": "i" + }, + "id": 3266, + "name": "Identifier", + "src": "3574:1:6" + } + ], + "id": 3267, + "name": "IndexAccess", + "src": "3561:15:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3268, + "name": "ElementaryTypeNameExpression", + "src": "3577:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 3269, + "name": "Literal", + "src": "3584:1:6" + } + ], + "id": 3270, + "name": "FunctionCall", + "src": "3577:9:6" + } + ], + "id": 3271, + "name": "BinaryOperation", + "src": "3561:25:6" + } + ], + "id": 3272, + "name": "FunctionCall", + "src": "3517:71:6" + } + ], + "id": 3273, + "name": "Assignment", + "src": "3494:94:6" + } + ], + "id": 3274, + "name": "ExpressionStatement", + "src": "3494:94:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3134, + "type": "function (address,address)", + "value": "RegisterScheme" + }, + "id": 3275, + "name": "Identifier", + "src": "3603:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3276, + "name": "Identifier", + "src": "3618:3:6" + } + ], + "id": 3277, + "name": "MemberAccess", + "src": "3618:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3220, + "type": "address[] memory", + "value": "_schemes" + }, + "id": 3278, + "name": "Identifier", + "src": "3630:8:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3246, + "type": "uint256", + "value": "i" + }, + "id": 3279, + "name": "Identifier", + "src": "3639:1:6" + } + ], + "id": 3280, + "name": "IndexAccess", + "src": "3630:11:6" + } + ], + "id": 3281, + "name": "FunctionCall", + "src": "3603:39:6" + } + ], + "id": 3282, + "name": "ExpressionStatement", + "src": "3603:39:6" + } + ], + "id": 3283, + "name": "Block", + "src": "3479:175:6" + } + ], + "id": 3284, + "name": "ForStatement", + "src": "3436:218:6" + } + ], + "id": 3285, + "name": "Block", + "src": "3266:395:6" + } + ], + "id": 3286, + "name": "FunctionDefinition", + "src": "3113:548:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 3287, + "name": "ParameterList", + "src": "3712:2:6" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 3288, + "name": "ParameterList", + "src": "3722:0:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 3289, + "name": "Identifier", + "src": "3733:6:6" + } + ], + "id": 3290, + "name": "FunctionCall", + "src": "3733:8:6" + } + ], + "id": 3291, + "name": "ExpressionStatement", + "src": "3733:8:6" + } + ], + "id": 3292, + "name": "Block", + "src": "3722:27:6" + } + ], + "id": 3293, + "name": "FunctionDefinition", + "src": "3704:45:6" + }, + { + "attributes": { + "name": "onlyRegisteredScheme", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 3294, + "name": "ParameterList", + "src": "3803:2:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3295, + "name": "Identifier", + "src": "3817:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3296, + "name": "Identifier", + "src": "3825:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3297, + "name": "Identifier", + "src": "3833:3:6" + } + ], + "id": 3298, + "name": "MemberAccess", + "src": "3833:10:6" + } + ], + "id": 3299, + "name": "IndexAccess", + "src": "3825:19:6" + } + ], + "id": 3300, + "name": "MemberAccess", + "src": "3825:31:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3301, + "name": "ElementaryTypeNameExpression", + "src": "3857:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 3302, + "name": "Literal", + "src": "3864:1:6" + } + ], + "id": 3303, + "name": "FunctionCall", + "src": "3857:9:6" + } + ], + "id": 3304, + "name": "BinaryOperation", + "src": "3825:41:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3305, + "name": "ElementaryTypeNameExpression", + "src": "3870:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 3306, + "name": "Literal", + "src": "3877:1:6" + } + ], + "id": 3307, + "name": "FunctionCall", + "src": "3870:9:6" + } + ], + "id": 3308, + "name": "BinaryOperation", + "src": "3825:54:6" + } + ], + "id": 3309, + "name": "FunctionCall", + "src": "3817:63:6" + } + ], + "id": 3310, + "name": "ExpressionStatement", + "src": "3817:63:6" + }, + { + "id": 3311, + "name": "PlaceholderStatement", + "src": "3891:1:6" + } + ], + "id": 3312, + "name": "Block", + "src": "3806:94:6" + } + ], + "id": 3313, + "name": "ModifierDefinition", + "src": "3774:126:6" + }, + { + "attributes": { + "name": "onlyRegisteringSchemes", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 3314, + "name": "ParameterList", + "src": "3939:2:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3315, + "name": "Identifier", + "src": "3953:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3316, + "name": "Identifier", + "src": "3961:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3317, + "name": "Identifier", + "src": "3969:3:6" + } + ], + "id": 3318, + "name": "MemberAccess", + "src": "3969:10:6" + } + ], + "id": 3319, + "name": "IndexAccess", + "src": "3961:19:6" + } + ], + "id": 3320, + "name": "MemberAccess", + "src": "3961:31:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3321, + "name": "ElementaryTypeNameExpression", + "src": "3993:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 3322, + "name": "Literal", + "src": "4000:1:6" + } + ], + "id": 3323, + "name": "FunctionCall", + "src": "3993:9:6" + } + ], + "id": 3324, + "name": "BinaryOperation", + "src": "3961:41:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3325, + "name": "ElementaryTypeNameExpression", + "src": "4006:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 3326, + "name": "Literal", + "src": "4013:1:6" + } + ], + "id": 3327, + "name": "FunctionCall", + "src": "4006:9:6" + } + ], + "id": 3328, + "name": "BinaryOperation", + "src": "3961:54:6" + } + ], + "id": 3329, + "name": "FunctionCall", + "src": "3953:63:6" + } + ], + "id": 3330, + "name": "ExpressionStatement", + "src": "3953:63:6" + }, + { + "id": 3331, + "name": "PlaceholderStatement", + "src": "4027:1:6" + } + ], + "id": 3332, + "name": "Block", + "src": "3942:94:6" + } + ], + "id": 3333, + "name": "ModifierDefinition", + "src": "3908:128:6" + }, + { + "attributes": { + "name": "onlyGlobalConstraintsScheme", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 3334, + "name": "ParameterList", + "src": "4080:2:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3335, + "name": "Identifier", + "src": "4094:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3336, + "name": "Identifier", + "src": "4102:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3337, + "name": "Identifier", + "src": "4110:3:6" + } + ], + "id": 3338, + "name": "MemberAccess", + "src": "4110:10:6" + } + ], + "id": 3339, + "name": "IndexAccess", + "src": "4102:19:6" + } + ], + "id": 3340, + "name": "MemberAccess", + "src": "4102:31:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3341, + "name": "ElementaryTypeNameExpression", + "src": "4134:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "34", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 4", + "value": "4" + }, + "id": 3342, + "name": "Literal", + "src": "4141:1:6" + } + ], + "id": 3343, + "name": "FunctionCall", + "src": "4134:9:6" + } + ], + "id": 3344, + "name": "BinaryOperation", + "src": "4102:41:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3345, + "name": "ElementaryTypeNameExpression", + "src": "4147:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "34", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 4", + "value": "4" + }, + "id": 3346, + "name": "Literal", + "src": "4154:1:6" + } + ], + "id": 3347, + "name": "FunctionCall", + "src": "4147:9:6" + } + ], + "id": 3348, + "name": "BinaryOperation", + "src": "4102:54:6" + } + ], + "id": 3349, + "name": "FunctionCall", + "src": "4094:63:6" + } + ], + "id": 3350, + "name": "ExpressionStatement", + "src": "4094:63:6" + }, + { + "id": 3351, + "name": "PlaceholderStatement", + "src": "4168:1:6" + } + ], + "id": 3352, + "name": "Block", + "src": "4083:94:6" + } + ], + "id": 3353, + "name": "ModifierDefinition", + "src": "4044:133:6" + }, + { + "attributes": { + "name": "onlyUpgradingScheme", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 3354, + "name": "ParameterList", + "src": "4213:2:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3355, + "name": "Identifier", + "src": "4227:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3356, + "name": "Identifier", + "src": "4235:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3357, + "name": "Identifier", + "src": "4243:3:6" + } + ], + "id": 3358, + "name": "MemberAccess", + "src": "4243:10:6" + } + ], + "id": 3359, + "name": "IndexAccess", + "src": "4235:19:6" + } + ], + "id": 3360, + "name": "MemberAccess", + "src": "4235:31:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3361, + "name": "ElementaryTypeNameExpression", + "src": "4267:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "38", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 8", + "value": "8" + }, + "id": 3362, + "name": "Literal", + "src": "4274:1:6" + } + ], + "id": 3363, + "name": "FunctionCall", + "src": "4267:9:6" + } + ], + "id": 3364, + "name": "BinaryOperation", + "src": "4235:41:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3365, + "name": "ElementaryTypeNameExpression", + "src": "4280:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "38", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 8", + "value": "8" + }, + "id": 3366, + "name": "Literal", + "src": "4287:1:6" + } + ], + "id": 3367, + "name": "FunctionCall", + "src": "4280:9:6" + } + ], + "id": 3368, + "name": "BinaryOperation", + "src": "4235:54:6" + } + ], + "id": 3369, + "name": "FunctionCall", + "src": "4227:63:6" + } + ], + "id": 3370, + "name": "ExpressionStatement", + "src": "4227:63:6" + }, + { + "id": 3371, + "name": "PlaceholderStatement", + "src": "4301:1:6" + } + ], + "id": 3372, + "name": "Block", + "src": "4216:94:6" + } + ], + "id": 3373, + "name": "ModifierDefinition", + "src": "4185:125:6" + }, + { + "attributes": { + "name": "onlySubjectToConstraint", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "func", + "scope": 3446, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 3374, + "name": "ElementaryTypeName", + "src": "4351:7:6" + } + ], + "id": 3375, + "name": "VariableDeclaration", + "src": "4351:12:6" + } + ], + "id": 3376, + "name": "ParameterList", + "src": "4350:14:6" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "index", + "scope": 3446, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3377, + "name": "ElementaryTypeName", + "src": "4376:4:6" + } + ], + "id": 3378, + "name": "VariableDeclaration", + "src": "4376:10:6" + } + ], + "id": 3379, + "name": "VariableDeclarationStatement", + "src": "4376:10:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3378, + "type": "uint256", + "value": "index" + }, + "id": 3380, + "name": "Identifier", + "src": "4402:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 3381, + "name": "Literal", + "src": "4410:1:6" + } + ], + "id": 3382, + "name": "Assignment", + "src": "4402:9:6" + } + ], + "id": 3383, + "name": "ExpressionStatement", + "src": "4402:9:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3378, + "type": "uint256", + "value": "index" + }, + "id": 3384, + "name": "Identifier", + "src": "4412:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3385, + "name": "Identifier", + "src": "4418:17:6" + } + ], + "id": 3386, + "name": "MemberAccess", + "src": "4418:24:6" + } + ], + "id": 3387, + "name": "BinaryOperation", + "src": "4412:30:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3378, + "type": "uint256", + "value": "index" + }, + "id": 3388, + "name": "Identifier", + "src": "4443:5:6" + } + ], + "id": 3389, + "name": "UnaryOperation", + "src": "4443:7:6" + } + ], + "id": 3390, + "name": "ExpressionStatement", + "src": "4443:7:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3391, + "name": "Identifier", + "src": "4467:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "pre", + "referencedDeclaration": 4370, + "type": "function (address,bytes32,bytes32) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "contract GlobalConstraintInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract GlobalConstraintInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4382, + "type": "type(contract GlobalConstraintInterface)", + "value": "GlobalConstraintInterface" + }, + "id": 3392, + "name": "Identifier", + "src": "4476:25:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "gcAddress", + "referencedDeclaration": 3085, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraint storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3393, + "name": "Identifier", + "src": "4502:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3378, + "type": "uint256", + "value": "index" + }, + "id": 3394, + "name": "Identifier", + "src": "4520:5:6" + } + ], + "id": 3395, + "name": "IndexAccess", + "src": "4502:24:6" + } + ], + "id": 3396, + "name": "MemberAccess", + "src": "4502:34:6" + } + ], + "id": 3397, + "name": "FunctionCall", + "src": "4476:61:6" + } + ], + "id": 3398, + "name": "TupleExpression", + "src": "4475:63:6" + } + ], + "id": 3399, + "name": "MemberAccess", + "src": "4475:67:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3400, + "name": "Identifier", + "src": "4543:3:6" + } + ], + "id": 3401, + "name": "MemberAccess", + "src": "4543:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "params", + "referencedDeclaration": 3087, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraint storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3402, + "name": "Identifier", + "src": "4555:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3378, + "type": "uint256", + "value": "index" + }, + "id": 3403, + "name": "Identifier", + "src": "4573:5:6" + } + ], + "id": 3404, + "name": "IndexAccess", + "src": "4555:24:6" + } + ], + "id": 3405, + "name": "MemberAccess", + "src": "4555:31:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3375, + "type": "bytes32", + "value": "func" + }, + "id": 3406, + "name": "Identifier", + "src": "4588:4:6" + } + ], + "id": 3407, + "name": "FunctionCall", + "src": "4475:118:6" + } + ], + "id": 3408, + "name": "FunctionCall", + "src": "4467:127:6" + } + ], + "id": 3409, + "name": "ExpressionStatement", + "src": "4467:127:6" + } + ], + "id": 3410, + "name": "Block", + "src": "4452:154:6" + } + ], + "id": 3411, + "name": "ForStatement", + "src": "4397:209:6" + }, + { + "id": 3412, + "name": "PlaceholderStatement", + "src": "4616:1:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3378, + "type": "uint256", + "value": "index" + }, + "id": 3413, + "name": "Identifier", + "src": "4633:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 3414, + "name": "Literal", + "src": "4641:1:6" + } + ], + "id": 3415, + "name": "Assignment", + "src": "4633:9:6" + } + ], + "id": 3416, + "name": "ExpressionStatement", + "src": "4633:9:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3378, + "type": "uint256", + "value": "index" + }, + "id": 3417, + "name": "Identifier", + "src": "4643:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3418, + "name": "Identifier", + "src": "4649:17:6" + } + ], + "id": 3419, + "name": "MemberAccess", + "src": "4649:24:6" + } + ], + "id": 3420, + "name": "BinaryOperation", + "src": "4643:30:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3378, + "type": "uint256", + "value": "index" + }, + "id": 3421, + "name": "Identifier", + "src": "4674:5:6" + } + ], + "id": 3422, + "name": "UnaryOperation", + "src": "4674:7:6" + } + ], + "id": 3423, + "name": "ExpressionStatement", + "src": "4674:7:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3424, + "name": "Identifier", + "src": "4698:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "post", + "referencedDeclaration": 4381, + "type": "function (address,bytes32,bytes32) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "contract GlobalConstraintInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract GlobalConstraintInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4382, + "type": "type(contract GlobalConstraintInterface)", + "value": "GlobalConstraintInterface" + }, + "id": 3425, + "name": "Identifier", + "src": "4707:25:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "gcAddress", + "referencedDeclaration": 3085, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraint storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3426, + "name": "Identifier", + "src": "4733:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3378, + "type": "uint256", + "value": "index" + }, + "id": 3427, + "name": "Identifier", + "src": "4751:5:6" + } + ], + "id": 3428, + "name": "IndexAccess", + "src": "4733:24:6" + } + ], + "id": 3429, + "name": "MemberAccess", + "src": "4733:34:6" + } + ], + "id": 3430, + "name": "FunctionCall", + "src": "4707:61:6" + } + ], + "id": 3431, + "name": "TupleExpression", + "src": "4706:63:6" + } + ], + "id": 3432, + "name": "MemberAccess", + "src": "4706:68:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3433, + "name": "Identifier", + "src": "4775:3:6" + } + ], + "id": 3434, + "name": "MemberAccess", + "src": "4775:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "params", + "referencedDeclaration": 3087, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraint storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3435, + "name": "Identifier", + "src": "4787:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3378, + "type": "uint256", + "value": "index" + }, + "id": 3436, + "name": "Identifier", + "src": "4805:5:6" + } + ], + "id": 3437, + "name": "IndexAccess", + "src": "4787:24:6" + } + ], + "id": 3438, + "name": "MemberAccess", + "src": "4787:31:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3375, + "type": "bytes32", + "value": "func" + }, + "id": 3439, + "name": "Identifier", + "src": "4820:4:6" + } + ], + "id": 3440, + "name": "FunctionCall", + "src": "4706:119:6" + } + ], + "id": 3441, + "name": "FunctionCall", + "src": "4698:128:6" + } + ], + "id": 3442, + "name": "ExpressionStatement", + "src": "4698:128:6" + } + ], + "id": 3443, + "name": "Block", + "src": "4683:155:6" + } + ], + "id": 3444, + "name": "ForStatement", + "src": "4628:210:6" + } + ], + "id": 3445, + "name": "Block", + "src": "4365:480:6" + } + ], + "id": 3446, + "name": "ModifierDefinition", + "src": "4318:527:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "mintReputation", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_amount", + "scope": 3474, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int256", + "type": "int256" + }, + "id": 3447, + "name": "ElementaryTypeName", + "src": "5075:6:6" + } + ], + "id": 3448, + "name": "VariableDeclaration", + "src": "5075:14:6" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 3474, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3449, + "name": "ElementaryTypeName", + "src": "5091:7:6" + } + ], + "id": 3450, + "name": "VariableDeclaration", + "src": "5091:20:6" + } + ], + "id": 3451, + "name": "ParameterList", + "src": "5074:38:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3474, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3457, + "name": "ElementaryTypeName", + "src": "5211:4:6" + } + ], + "id": 3458, + "name": "VariableDeclaration", + "src": "5211:4:6" + } + ], + "id": 3459, + "name": "ParameterList", + "src": "5210:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3313, + "type": "modifier ()", + "value": "onlyRegisteredScheme" + }, + "id": 3452, + "name": "Identifier", + "src": "5130:20:6" + } + ], + "id": 3453, + "name": "ModifierInvocation", + "src": "5130:20:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3446, + "type": "modifier (bytes32)", + "value": "onlySubjectToConstraint" + }, + "id": 3454, + "name": "Identifier", + "src": "5156:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "6d696e7452657075746174696f6e", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"mintReputation\"", + "value": "mintReputation" + }, + "id": 3455, + "name": "Literal", + "src": "5180:16:6" + } + ], + "id": 3456, + "name": "ModifierInvocation", + "src": "5156:41:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3120, + "type": "function (address,address,int256)", + "value": "MintReputation" + }, + "id": 3460, + "name": "Identifier", + "src": "5233:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3461, + "name": "Identifier", + "src": "5248:3:6" + } + ], + "id": 3462, + "name": "MemberAccess", + "src": "5248:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3450, + "type": "address", + "value": "_beneficiary" + }, + "id": 3463, + "name": "Identifier", + "src": "5260:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3448, + "type": "int256", + "value": "_amount" + }, + "id": 3464, + "name": "Identifier", + "src": "5274:7:6" + } + ], + "id": 3465, + "name": "FunctionCall", + "src": "5233:49:6" + } + ], + "id": 3466, + "name": "ExpressionStatement", + "src": "5233:49:6" + }, + { + "attributes": { + "functionReturnParameters": 3459 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mint", + "referencedDeclaration": 4323, + "type": "function (address,int256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3103, + "type": "contract Reputation", + "value": "nativeReputation" + }, + "id": 3467, + "name": "Identifier", + "src": "5300:16:6" + } + ], + "id": 3468, + "name": "MemberAccess", + "src": "5300:21:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3450, + "type": "address", + "value": "_beneficiary" + }, + "id": 3469, + "name": "Identifier", + "src": "5322:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3448, + "type": "int256", + "value": "_amount" + }, + "id": 3470, + "name": "Identifier", + "src": "5336:7:6" + } + ], + "id": 3471, + "name": "FunctionCall", + "src": "5300:44:6" + } + ], + "id": 3472, + "name": "Return", + "src": "5293:51:6" + } + ], + "id": 3473, + "name": "Block", + "src": "5222:130:6" + } + ], + "id": 3474, + "name": "FunctionDefinition", + "src": "5051:301:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "mintTokens", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_amount", + "scope": 3502, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 3475, + "name": "ElementaryTypeName", + "src": "5569:7:6" + } + ], + "id": 3476, + "name": "VariableDeclaration", + "src": "5569:15:6" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 3502, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3477, + "name": "ElementaryTypeName", + "src": "5586:7:6" + } + ], + "id": 3478, + "name": "VariableDeclaration", + "src": "5586:20:6" + } + ], + "id": 3479, + "name": "ParameterList", + "src": "5568:39:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3502, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3485, + "name": "ElementaryTypeName", + "src": "5702:4:6" + } + ], + "id": 3486, + "name": "VariableDeclaration", + "src": "5702:4:6" + } + ], + "id": 3487, + "name": "ParameterList", + "src": "5701:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3313, + "type": "modifier ()", + "value": "onlyRegisteredScheme" + }, + "id": 3480, + "name": "Identifier", + "src": "5625:20:6" + } + ], + "id": 3481, + "name": "ModifierInvocation", + "src": "5625:20:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3446, + "type": "modifier (bytes32)", + "value": "onlySubjectToConstraint" + }, + "id": 3482, + "name": "Identifier", + "src": "5651:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "6d696e74546f6b656e73", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"mintTokens\"", + "value": "mintTokens" + }, + "id": 3483, + "name": "Literal", + "src": "5675:12:6" + } + ], + "id": 3484, + "name": "ModifierInvocation", + "src": "5651:37:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3128, + "type": "function (address,address,uint256)", + "value": "MintTokens" + }, + "id": 3488, + "name": "Identifier", + "src": "5724:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3489, + "name": "Identifier", + "src": "5735:3:6" + } + ], + "id": 3490, + "name": "MemberAccess", + "src": "5735:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3478, + "type": "address", + "value": "_beneficiary" + }, + "id": 3491, + "name": "Identifier", + "src": "5747:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3476, + "type": "uint256", + "value": "_amount" + }, + "id": 3492, + "name": "Identifier", + "src": "5761:7:6" + } + ], + "id": 3493, + "name": "FunctionCall", + "src": "5724:45:6" + } + ], + "id": 3494, + "name": "ExpressionStatement", + "src": "5724:45:6" + }, + { + "attributes": { + "functionReturnParameters": 3487 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mint", + "referencedDeclaration": 9434, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3101, + "type": "contract DAOToken", + "value": "nativeToken" + }, + "id": 3495, + "name": "Identifier", + "src": "5787:11:6" + } + ], + "id": 3496, + "name": "MemberAccess", + "src": "5787:16:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3478, + "type": "address", + "value": "_beneficiary" + }, + "id": 3497, + "name": "Identifier", + "src": "5804:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3476, + "type": "uint256", + "value": "_amount" + }, + "id": 3498, + "name": "Identifier", + "src": "5818:7:6" + } + ], + "id": 3499, + "name": "FunctionCall", + "src": "5787:39:6" + } + ], + "id": 3500, + "name": "Return", + "src": "5780:46:6" + } + ], + "id": 3501, + "name": "Block", + "src": "5713:121:6" + } + ], + "id": 3502, + "name": "FunctionDefinition", + "src": "5549:285:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "registerScheme", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_scheme", + "scope": 3597, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3503, + "name": "ElementaryTypeName", + "src": "6144:7:6" + } + ], + "id": 3504, + "name": "VariableDeclaration", + "src": "6144:15:6" + }, + { + "attributes": { + "constant": false, + "name": "_paramsHash", + "scope": 3597, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 3505, + "name": "ElementaryTypeName", + "src": "6161:7:6" + } + ], + "id": 3506, + "name": "VariableDeclaration", + "src": "6161:19:6" + }, + { + "attributes": { + "constant": false, + "name": "_permissions", + "scope": 3597, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes4", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes4", + "type": "bytes4" + }, + "id": 3507, + "name": "ElementaryTypeName", + "src": "6182:6:6" + } + ], + "id": 3508, + "name": "VariableDeclaration", + "src": "6182:19:6" + } + ], + "id": 3509, + "name": "ParameterList", + "src": "6143:59:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3597, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3515, + "name": "ElementaryTypeName", + "src": "6303:4:6" + } + ], + "id": 3516, + "name": "VariableDeclaration", + "src": "6303:4:6" + } + ], + "id": 3517, + "name": "ParameterList", + "src": "6302:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3333, + "type": "modifier ()", + "value": "onlyRegisteringSchemes" + }, + "id": 3510, + "name": "Identifier", + "src": "6220:22:6" + } + ], + "id": 3511, + "name": "ModifierInvocation", + "src": "6220:22:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3446, + "type": "modifier (bytes32)", + "value": "onlySubjectToConstraint" + }, + "id": 3512, + "name": "Identifier", + "src": "6248:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "7265676973746572536368656d65", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"registerScheme\"", + "value": "registerScheme" + }, + "id": 3513, + "name": "Literal", + "src": "6272:16:6" + } + ], + "id": 3514, + "name": "ModifierInvocation", + "src": "6248:41:6" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 3519 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "scheme", + "scope": 3597, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct Controller.Scheme memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Scheme", + "referencedDeclaration": 3083, + "type": "struct Controller.Scheme storage pointer" + }, + "id": 3518, + "name": "UserDefinedTypeName", + "src": "6327:6:6" + } + ], + "id": 3519, + "name": "VariableDeclaration", + "src": "6327:20:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3520, + "name": "Identifier", + "src": "6350:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3504, + "type": "address", + "value": "_scheme" + }, + "id": 3521, + "name": "Identifier", + "src": "6358:7:6" + } + ], + "id": 3522, + "name": "IndexAccess", + "src": "6350:16:6" + } + ], + "id": 3523, + "name": "VariableDeclarationStatement", + "src": "6327:39:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3524, + "name": "Identifier", + "src": "6663:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3525, + "name": "ElementaryTypeNameExpression", + "src": "6671:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3135", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 15", + "value": "15" + }, + "id": 3526, + "name": "Literal", + "src": "6678:2:6" + } + ], + "id": 3527, + "name": "FunctionCall", + "src": "6671:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "^", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3508, + "type": "bytes4", + "value": "_permissions" + }, + "id": 3528, + "name": "Identifier", + "src": "6683:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3519, + "type": "struct Controller.Scheme memory", + "value": "scheme" + }, + "id": 3529, + "name": "Identifier", + "src": "6696:6:6" + } + ], + "id": 3530, + "name": "MemberAccess", + "src": "6696:18:6" + } + ], + "id": 3531, + "name": "BinaryOperation", + "src": "6683:31:6" + } + ], + "id": 3532, + "name": "TupleExpression", + "src": "6682:33:6" + } + ], + "id": 3533, + "name": "BinaryOperation", + "src": "6671:44:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "~", + "prefix": true, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3534, + "name": "Identifier", + "src": "6718:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3535, + "name": "Identifier", + "src": "6726:3:6" + } + ], + "id": 3536, + "name": "MemberAccess", + "src": "6726:10:6" + } + ], + "id": 3537, + "name": "IndexAccess", + "src": "6718:19:6" + } + ], + "id": 3538, + "name": "MemberAccess", + "src": "6718:31:6" + } + ], + "id": 3539, + "name": "UnaryOperation", + "src": "6717:32:6" + } + ], + "id": 3540, + "name": "TupleExpression", + "src": "6716:34:6" + } + ], + "id": 3541, + "name": "BinaryOperation", + "src": "6671:79:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3542, + "name": "ElementaryTypeNameExpression", + "src": "6754:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 3543, + "name": "Literal", + "src": "6761:1:6" + } + ], + "id": 3544, + "name": "FunctionCall", + "src": "6754:9:6" + } + ], + "id": 3545, + "name": "BinaryOperation", + "src": "6671:92:6" + } + ], + "id": 3546, + "name": "FunctionCall", + "src": "6663:101:6" + } + ], + "id": 3547, + "name": "ExpressionStatement", + "src": "6663:101:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3548, + "name": "Identifier", + "src": "6862:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3549, + "name": "ElementaryTypeNameExpression", + "src": "6870:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3135", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 15", + "value": "15" + }, + "id": 3550, + "name": "Literal", + "src": "6877:2:6" + } + ], + "id": 3551, + "name": "FunctionCall", + "src": "6870:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3519, + "type": "struct Controller.Scheme memory", + "value": "scheme" + }, + "id": 3552, + "name": "Identifier", + "src": "6882:6:6" + } + ], + "id": 3553, + "name": "MemberAccess", + "src": "6882:18:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "~", + "prefix": true, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3554, + "name": "Identifier", + "src": "6903:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3555, + "name": "Identifier", + "src": "6911:3:6" + } + ], + "id": 3556, + "name": "MemberAccess", + "src": "6911:10:6" + } + ], + "id": 3557, + "name": "IndexAccess", + "src": "6903:19:6" + } + ], + "id": 3558, + "name": "MemberAccess", + "src": "6903:31:6" + } + ], + "id": 3559, + "name": "UnaryOperation", + "src": "6902:32:6" + } + ], + "id": 3560, + "name": "TupleExpression", + "src": "6901:34:6" + } + ], + "id": 3561, + "name": "BinaryOperation", + "src": "6882:53:6" + } + ], + "id": 3562, + "name": "TupleExpression", + "src": "6881:55:6" + } + ], + "id": 3563, + "name": "BinaryOperation", + "src": "6870:66:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3564, + "name": "ElementaryTypeNameExpression", + "src": "6940:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 3565, + "name": "Literal", + "src": "6947:1:6" + } + ], + "id": 3566, + "name": "FunctionCall", + "src": "6940:9:6" + } + ], + "id": 3567, + "name": "BinaryOperation", + "src": "6870:79:6" + } + ], + "id": 3568, + "name": "FunctionCall", + "src": "6862:88:6" + } + ], + "id": 3569, + "name": "ExpressionStatement", + "src": "6862:88:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "paramsHash", + "referencedDeclaration": 3080, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3570, + "name": "Identifier", + "src": "6997:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3504, + "type": "address", + "value": "_scheme" + }, + "id": 3571, + "name": "Identifier", + "src": "7005:7:6" + } + ], + "id": 3572, + "name": "IndexAccess", + "src": "6997:16:6" + } + ], + "id": 3573, + "name": "MemberAccess", + "src": "6997:27:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3506, + "type": "bytes32", + "value": "_paramsHash" + }, + "id": 3574, + "name": "Identifier", + "src": "7027:11:6" + } + ], + "id": 3575, + "name": "Assignment", + "src": "6997:41:6" + } + ], + "id": 3576, + "name": "ExpressionStatement", + "src": "6997:41:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3577, + "name": "Identifier", + "src": "7049:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3504, + "type": "address", + "value": "_scheme" + }, + "id": 3578, + "name": "Identifier", + "src": "7057:7:6" + } + ], + "id": 3579, + "name": "IndexAccess", + "src": "7049:16:6" + } + ], + "id": 3580, + "name": "MemberAccess", + "src": "7049:28:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "|", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3508, + "type": "bytes4", + "value": "_permissions" + }, + "id": 3581, + "name": "Identifier", + "src": "7080:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3582, + "name": "ElementaryTypeNameExpression", + "src": "7093:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 3583, + "name": "Literal", + "src": "7100:1:6" + } + ], + "id": 3584, + "name": "FunctionCall", + "src": "7093:9:6" + } + ], + "id": 3585, + "name": "BinaryOperation", + "src": "7080:22:6" + } + ], + "id": 3586, + "name": "Assignment", + "src": "7049:53:6" + } + ], + "id": 3587, + "name": "ExpressionStatement", + "src": "7049:53:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3134, + "type": "function (address,address)", + "value": "RegisterScheme" + }, + "id": 3588, + "name": "Identifier", + "src": "7113:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3589, + "name": "Identifier", + "src": "7128:3:6" + } + ], + "id": 3590, + "name": "MemberAccess", + "src": "7128:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3504, + "type": "address", + "value": "_scheme" + }, + "id": 3591, + "name": "Identifier", + "src": "7140:7:6" + } + ], + "id": 3592, + "name": "FunctionCall", + "src": "7113:35:6" + } + ], + "id": 3593, + "name": "ExpressionStatement", + "src": "7113:35:6" + }, + { + "attributes": { + "functionReturnParameters": 3517 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3594, + "name": "Literal", + "src": "7166:4:6" + } + ], + "id": 3595, + "name": "Return", + "src": "7159:11:6" + } + ], + "id": 3596, + "name": "Block", + "src": "6314:864:6" + } + ], + "id": 3597, + "name": "FunctionDefinition", + "src": "6120:1058:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "unregisterScheme", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_scheme", + "scope": 3663, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3598, + "name": "ElementaryTypeName", + "src": "7361:7:6" + } + ], + "id": 3599, + "name": "VariableDeclaration", + "src": "7361:15:6" + } + ], + "id": 3600, + "name": "ParameterList", + "src": "7359:19:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3663, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3606, + "name": "ElementaryTypeName", + "src": "7481:4:6" + } + ], + "id": 3607, + "name": "VariableDeclaration", + "src": "7481:4:6" + } + ], + "id": 3608, + "name": "ParameterList", + "src": "7480:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3333, + "type": "modifier ()", + "value": "onlyRegisteringSchemes" + }, + "id": 3601, + "name": "Identifier", + "src": "7396:22:6" + } + ], + "id": 3602, + "name": "ModifierInvocation", + "src": "7396:22:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3446, + "type": "modifier (bytes32)", + "value": "onlySubjectToConstraint" + }, + "id": 3603, + "name": "Identifier", + "src": "7424:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "756e7265676973746572536368656d65", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"unregisterScheme\"", + "value": "unregisterScheme" + }, + "id": 3604, + "name": "Literal", + "src": "7448:18:6" + } + ], + "id": 3605, + "name": "ModifierInvocation", + "src": "7424:43:6" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3609, + "name": "Identifier", + "src": "7546:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3599, + "type": "address", + "value": "_scheme" + }, + "id": 3610, + "name": "Identifier", + "src": "7554:7:6" + } + ], + "id": 3611, + "name": "IndexAccess", + "src": "7546:16:6" + } + ], + "id": 3612, + "name": "MemberAccess", + "src": "7546:28:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3613, + "name": "ElementaryTypeNameExpression", + "src": "7575:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 3614, + "name": "Literal", + "src": "7582:1:6" + } + ], + "id": 3615, + "name": "FunctionCall", + "src": "7575:9:6" + } + ], + "id": 3616, + "name": "BinaryOperation", + "src": "7546:38:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3617, + "name": "ElementaryTypeNameExpression", + "src": "7588:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 3618, + "name": "Literal", + "src": "7595:1:6" + } + ], + "id": 3619, + "name": "FunctionCall", + "src": "7588:9:6" + } + ], + "id": 3620, + "name": "BinaryOperation", + "src": "7546:51:6" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 3608 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 3621, + "name": "Literal", + "src": "7621:5:6" + } + ], + "id": 3622, + "name": "Return", + "src": "7614:12:6" + } + ], + "id": 3623, + "name": "Block", + "src": "7599:41:6" + } + ], + "id": 3624, + "name": "IfStatement", + "src": "7542:98:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3625, + "name": "Identifier", + "src": "7713:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3626, + "name": "ElementaryTypeNameExpression", + "src": "7721:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3135", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 15", + "value": "15" + }, + "id": 3627, + "name": "Literal", + "src": "7728:2:6" + } + ], + "id": 3628, + "name": "FunctionCall", + "src": "7721:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3629, + "name": "Identifier", + "src": "7733:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3599, + "type": "address", + "value": "_scheme" + }, + "id": 3630, + "name": "Identifier", + "src": "7741:7:6" + } + ], + "id": 3631, + "name": "IndexAccess", + "src": "7733:16:6" + } + ], + "id": 3632, + "name": "MemberAccess", + "src": "7733:28:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "~", + "prefix": true, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3633, + "name": "Identifier", + "src": "7764:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3634, + "name": "Identifier", + "src": "7772:3:6" + } + ], + "id": 3635, + "name": "MemberAccess", + "src": "7772:10:6" + } + ], + "id": 3636, + "name": "IndexAccess", + "src": "7764:19:6" + } + ], + "id": 3637, + "name": "MemberAccess", + "src": "7764:31:6" + } + ], + "id": 3638, + "name": "UnaryOperation", + "src": "7763:32:6" + } + ], + "id": 3639, + "name": "TupleExpression", + "src": "7762:34:6" + } + ], + "id": 3640, + "name": "BinaryOperation", + "src": "7733:63:6" + } + ], + "id": 3641, + "name": "TupleExpression", + "src": "7732:65:6" + } + ], + "id": 3642, + "name": "BinaryOperation", + "src": "7721:76:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3643, + "name": "ElementaryTypeNameExpression", + "src": "7801:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 3644, + "name": "Literal", + "src": "7808:1:6" + } + ], + "id": 3645, + "name": "FunctionCall", + "src": "7801:9:6" + } + ], + "id": 3646, + "name": "BinaryOperation", + "src": "7721:89:6" + } + ], + "id": 3647, + "name": "FunctionCall", + "src": "7713:98:6" + } + ], + "id": 3648, + "name": "ExpressionStatement", + "src": "7713:98:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3140, + "type": "function (address,address)", + "value": "UnregisterScheme" + }, + "id": 3649, + "name": "Identifier", + "src": "7844:16:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3650, + "name": "Identifier", + "src": "7861:3:6" + } + ], + "id": 3651, + "name": "MemberAccess", + "src": "7861:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3599, + "type": "address", + "value": "_scheme" + }, + "id": 3652, + "name": "Identifier", + "src": "7873:7:6" + } + ], + "id": 3653, + "name": "FunctionCall", + "src": "7844:37:6" + } + ], + "id": 3654, + "name": "ExpressionStatement", + "src": "7844:37:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3655, + "name": "Identifier", + "src": "7899:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3599, + "type": "address", + "value": "_scheme" + }, + "id": 3656, + "name": "Identifier", + "src": "7907:7:6" + } + ], + "id": 3657, + "name": "IndexAccess", + "src": "7899:16:6" + } + ], + "id": 3658, + "name": "UnaryOperation", + "src": "7892:23:6" + } + ], + "id": 3659, + "name": "ExpressionStatement", + "src": "7892:23:6" + }, + { + "attributes": { + "functionReturnParameters": 3608 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3660, + "name": "Literal", + "src": "7933:4:6" + } + ], + "id": 3661, + "name": "Return", + "src": "7926:11:6" + } + ], + "id": 3662, + "name": "Block", + "src": "7492:453:6" + } + ], + "id": 3663, + "name": "FunctionDefinition", + "src": "7334:611:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "unregisterSelf", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 3664, + "name": "ParameterList", + "src": "8086:2:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3694, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3665, + "name": "ElementaryTypeName", + "src": "8104:4:6" + } + ], + "id": 3666, + "name": "VariableDeclaration", + "src": "8104:4:6" + } + ], + "id": 3667, + "name": "ParameterList", + "src": "8103:6:6" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3716, + "type": "function (address) view returns (bool)", + "value": "isSchemeRegistered" + }, + "id": 3668, + "name": "Identifier", + "src": "8125:18:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3669, + "name": "Identifier", + "src": "8144:3:6" + } + ], + "id": 3670, + "name": "MemberAccess", + "src": "8144:10:6" + } + ], + "id": 3671, + "name": "FunctionCall", + "src": "8125:30:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 3672, + "name": "Literal", + "src": "8159:5:6" + } + ], + "id": 3673, + "name": "BinaryOperation", + "src": "8125:39:6" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 3667 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 3674, + "name": "Literal", + "src": "8188:5:6" + } + ], + "id": 3675, + "name": "Return", + "src": "8181:12:6" + } + ], + "id": 3676, + "name": "Block", + "src": "8166:39:6" + } + ], + "id": 3677, + "name": "IfStatement", + "src": "8121:84:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3678, + "name": "Identifier", + "src": "8222:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3679, + "name": "Identifier", + "src": "8230:3:6" + } + ], + "id": 3680, + "name": "MemberAccess", + "src": "8230:10:6" + } + ], + "id": 3681, + "name": "IndexAccess", + "src": "8222:19:6" + } + ], + "id": 3682, + "name": "UnaryOperation", + "src": "8215:26:6" + } + ], + "id": 3683, + "name": "ExpressionStatement", + "src": "8215:26:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3140, + "type": "function (address,address)", + "value": "UnregisterScheme" + }, + "id": 3684, + "name": "Identifier", + "src": "8252:16:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3685, + "name": "Identifier", + "src": "8269:3:6" + } + ], + "id": 3686, + "name": "MemberAccess", + "src": "8269:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3687, + "name": "Identifier", + "src": "8281:3:6" + } + ], + "id": 3688, + "name": "MemberAccess", + "src": "8281:10:6" + } + ], + "id": 3689, + "name": "FunctionCall", + "src": "8252:40:6" + } + ], + "id": 3690, + "name": "ExpressionStatement", + "src": "8252:40:6" + }, + { + "attributes": { + "functionReturnParameters": 3667 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3691, + "name": "Literal", + "src": "8310:4:6" + } + ], + "id": 3692, + "name": "Return", + "src": "8303:11:6" + } + ], + "id": 3693, + "name": "Block", + "src": "8110:212:6" + } + ], + "id": 3694, + "name": "FunctionDefinition", + "src": "8063:259:6" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isSchemeRegistered", + "payable": false, + "scope": 4157, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_scheme", + "scope": 3716, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3695, + "name": "ElementaryTypeName", + "src": "8358:7:6" + } + ], + "id": 3696, + "name": "VariableDeclaration", + "src": "8358:15:6" + } + ], + "id": 3697, + "name": "ParameterList", + "src": "8357:17:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3716, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3698, + "name": "ElementaryTypeName", + "src": "8399:4:6" + } + ], + "id": 3699, + "name": "VariableDeclaration", + "src": "8399:4:6" + } + ], + "id": 3700, + "name": "ParameterList", + "src": "8398:6:6" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 3700 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&", + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3701, + "name": "Identifier", + "src": "8424:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3696, + "type": "address", + "value": "_scheme" + }, + "id": 3702, + "name": "Identifier", + "src": "8432:7:6" + } + ], + "id": 3703, + "name": "IndexAccess", + "src": "8424:16:6" + } + ], + "id": 3704, + "name": "MemberAccess", + "src": "8424:28:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3705, + "name": "ElementaryTypeNameExpression", + "src": "8453:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 3706, + "name": "Literal", + "src": "8460:1:6" + } + ], + "id": 3707, + "name": "FunctionCall", + "src": "8453:9:6" + } + ], + "id": 3708, + "name": "BinaryOperation", + "src": "8424:38:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 3709, + "name": "ElementaryTypeNameExpression", + "src": "8466:6:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 3710, + "name": "Literal", + "src": "8473:1:6" + } + ], + "id": 3711, + "name": "FunctionCall", + "src": "8466:9:6" + } + ], + "id": 3712, + "name": "BinaryOperation", + "src": "8424:51:6" + } + ], + "id": 3713, + "name": "TupleExpression", + "src": "8423:53:6" + } + ], + "id": 3714, + "name": "Return", + "src": "8416:60:6" + } + ], + "id": 3715, + "name": "Block", + "src": "8405:79:6" + } + ], + "id": 3716, + "name": "FunctionDefinition", + "src": "8330:154:6" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getSchemeParameters", + "payable": false, + "scope": 4157, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_scheme", + "scope": 3729, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3717, + "name": "ElementaryTypeName", + "src": "8521:7:6" + } + ], + "id": 3718, + "name": "VariableDeclaration", + "src": "8521:15:6" + } + ], + "id": 3719, + "name": "ParameterList", + "src": "8520:17:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3729, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 3720, + "name": "ElementaryTypeName", + "src": "8562:7:6" + } + ], + "id": 3721, + "name": "VariableDeclaration", + "src": "8562:7:6" + } + ], + "id": 3722, + "name": "ParameterList", + "src": "8561:9:6" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 3722 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 3080, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3723, + "name": "Identifier", + "src": "8589:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3718, + "type": "address", + "value": "_scheme" + }, + "id": 3724, + "name": "Identifier", + "src": "8597:7:6" + } + ], + "id": 3725, + "name": "IndexAccess", + "src": "8589:16:6" + } + ], + "id": 3726, + "name": "MemberAccess", + "src": "8589:27:6" + } + ], + "id": 3727, + "name": "Return", + "src": "8582:34:6" + } + ], + "id": 3728, + "name": "Block", + "src": "8571:53:6" + } + ], + "id": 3729, + "name": "FunctionDefinition", + "src": "8492:132:6" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getSchemePermissions", + "payable": false, + "scope": 4157, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_scheme", + "scope": 3742, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3730, + "name": "ElementaryTypeName", + "src": "8662:7:6" + } + ], + "id": 3731, + "name": "VariableDeclaration", + "src": "8662:15:6" + } + ], + "id": 3732, + "name": "ParameterList", + "src": "8661:17:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3742, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes4", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes4", + "type": "bytes4" + }, + "id": 3733, + "name": "ElementaryTypeName", + "src": "8703:6:6" + } + ], + "id": 3734, + "name": "VariableDeclaration", + "src": "8703:6:6" + } + ], + "id": 3735, + "name": "ParameterList", + "src": "8702:8:6" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 3735 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "permissions", + "referencedDeclaration": 3082, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.Scheme storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3097, + "type": "mapping(address => struct Controller.Scheme storage ref)", + "value": "schemes" + }, + "id": 3736, + "name": "Identifier", + "src": "8729:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3731, + "type": "address", + "value": "_scheme" + }, + "id": 3737, + "name": "Identifier", + "src": "8737:7:6" + } + ], + "id": 3738, + "name": "IndexAccess", + "src": "8729:16:6" + } + ], + "id": 3739, + "name": "MemberAccess", + "src": "8729:28:6" + } + ], + "id": 3740, + "name": "Return", + "src": "8722:35:6" + } + ], + "id": 3741, + "name": "Block", + "src": "8711:54:6" + } + ], + "id": 3742, + "name": "FunctionDefinition", + "src": "8632:133:6" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "globalConstraintsCount", + "payable": false, + "scope": 4157, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 3743, + "name": "ParameterList", + "src": "8829:2:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3751, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3744, + "name": "ElementaryTypeName", + "src": "8856:4:6" + } + ], + "id": 3745, + "name": "VariableDeclaration", + "src": "8856:4:6" + } + ], + "id": 3746, + "name": "ParameterList", + "src": "8855:6:6" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 3746 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3747, + "name": "Identifier", + "src": "8880:17:6" + } + ], + "id": 3748, + "name": "MemberAccess", + "src": "8880:24:6" + } + ], + "id": 3749, + "name": "Return", + "src": "8873:31:6" + } + ], + "id": 3750, + "name": "Block", + "src": "8862:50:6" + } + ], + "id": 3751, + "name": "FunctionDefinition", + "src": "8798:114:6" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isGlobalConstraintRegister", + "payable": false, + "scope": 4157, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_globalConstraint", + "scope": 3764, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3752, + "name": "ElementaryTypeName", + "src": "8956:7:6" + } + ], + "id": 3753, + "name": "VariableDeclaration", + "src": "8956:25:6" + } + ], + "id": 3754, + "name": "ParameterList", + "src": "8955:27:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3764, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3755, + "name": "ElementaryTypeName", + "src": "9007:4:6" + } + ], + "id": 3756, + "name": "VariableDeclaration", + "src": "9007:4:6" + } + ], + "id": 3757, + "name": "ParameterList", + "src": "9006:6:6" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 3757 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "register", + "referencedDeclaration": 3090, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraintRegister storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3112, + "type": "mapping(address => struct Controller.GlobalConstraintRegister storage ref)", + "value": "globalConstraintsRegister" + }, + "id": 3758, + "name": "Identifier", + "src": "9031:25:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3753, + "type": "address", + "value": "_globalConstraint" + }, + "id": 3759, + "name": "Identifier", + "src": "9057:17:6" + } + ], + "id": 3760, + "name": "IndexAccess", + "src": "9031:44:6" + } + ], + "id": 3761, + "name": "MemberAccess", + "src": "9031:53:6" + } + ], + "id": 3762, + "name": "Return", + "src": "9024:60:6" + } + ], + "id": 3763, + "name": "Block", + "src": "9013:79:6" + } + ], + "id": 3764, + "name": "FunctionDefinition", + "src": "8920:172:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "addGlobalConstraint", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_globalConstraint", + "scope": 3822, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3765, + "name": "ElementaryTypeName", + "src": "9378:7:6" + } + ], + "id": 3766, + "name": "VariableDeclaration", + "src": "9378:25:6" + }, + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 3822, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 3767, + "name": "ElementaryTypeName", + "src": "9405:7:6" + } + ], + "id": 3768, + "name": "VariableDeclaration", + "src": "9405:15:6" + } + ], + "id": 3769, + "name": "ParameterList", + "src": "9377:44:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3822, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3772, + "name": "ElementaryTypeName", + "src": "9470:4:6" + } + ], + "id": 3773, + "name": "VariableDeclaration", + "src": "9470:4:6" + } + ], + "id": 3774, + "name": "ParameterList", + "src": "9469:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3353, + "type": "modifier ()", + "value": "onlyGlobalConstraintsScheme" + }, + "id": 3770, + "name": "Identifier", + "src": "9434:27:6" + } + ], + "id": 3771, + "name": "ModifierInvocation", + "src": "9434:27:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "register", + "referencedDeclaration": 3090, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraintRegister storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3112, + "type": "mapping(address => struct Controller.GlobalConstraintRegister storage ref)", + "value": "globalConstraintsRegister" + }, + "id": 3775, + "name": "Identifier", + "src": "9497:25:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3766, + "type": "address", + "value": "_globalConstraint" + }, + "id": 3776, + "name": "Identifier", + "src": "9523:17:6" + } + ], + "id": 3777, + "name": "IndexAccess", + "src": "9497:44:6" + } + ], + "id": 3778, + "name": "MemberAccess", + "src": "9497:53:6" + } + ], + "id": 3779, + "name": "UnaryOperation", + "src": "9496:54:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_struct$_GlobalConstraint_$3088_memory", + "typeString": "struct Controller.GlobalConstraint memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "push", + "referencedDeclaration": null, + "type": "function (struct Controller.GlobalConstraint storage ref) returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3780, + "name": "Identifier", + "src": "9567:17:6" + } + ], + "id": 3782, + "name": "MemberAccess", + "src": "9567:22:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + null + ], + "type": "struct Controller.GlobalConstraint memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3088, + "type": "type(struct Controller.GlobalConstraint storage pointer)", + "value": "GlobalConstraint" + }, + "id": 3783, + "name": "Identifier", + "src": "9590:16:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3766, + "type": "address", + "value": "_globalConstraint" + }, + "id": 3784, + "name": "Identifier", + "src": "9607:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3768, + "type": "bytes32", + "value": "_params" + }, + "id": 3785, + "name": "Identifier", + "src": "9625:7:6" + } + ], + "id": 3786, + "name": "FunctionCall", + "src": "9590:43:6" + } + ], + "id": 3787, + "name": "FunctionCall", + "src": "9567:67:6" + } + ], + "id": 3788, + "name": "ExpressionStatement", + "src": "9567:67:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct Controller.GlobalConstraintRegister storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct Controller.GlobalConstraintRegister storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3112, + "type": "mapping(address => struct Controller.GlobalConstraintRegister storage ref)", + "value": "globalConstraintsRegister" + }, + "id": 3789, + "name": "Identifier", + "src": "9649:25:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3766, + "type": "address", + "value": "_globalConstraint" + }, + "id": 3790, + "name": "Identifier", + "src": "9675:17:6" + } + ], + "id": 3791, + "name": "IndexAccess", + "src": "9649:44:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + null + ], + "type": "struct Controller.GlobalConstraintRegister memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3093, + "type": "type(struct Controller.GlobalConstraintRegister storage pointer)", + "value": "GlobalConstraintRegister" + }, + "id": 3792, + "name": "Identifier", + "src": "9696:24:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3793, + "name": "Literal", + "src": "9721:4:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "-", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3794, + "name": "Identifier", + "src": "9726:17:6" + } + ], + "id": 3795, + "name": "MemberAccess", + "src": "9726:24:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 3796, + "name": "Literal", + "src": "9751:1:6" + } + ], + "id": 3797, + "name": "BinaryOperation", + "src": "9726:26:6" + } + ], + "id": 3798, + "name": "FunctionCall", + "src": "9696:57:6" + } + ], + "id": 3799, + "name": "Assignment", + "src": "9649:104:6" + } + ], + "id": 3800, + "name": "ExpressionStatement", + "src": "9649:104:6" + } + ], + "id": 3801, + "name": "Block", + "src": "9552:213:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "params", + "referencedDeclaration": 3087, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraint storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3802, + "name": "Identifier", + "src": "9785:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "index", + "referencedDeclaration": 3092, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraintRegister storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3112, + "type": "mapping(address => struct Controller.GlobalConstraintRegister storage ref)", + "value": "globalConstraintsRegister" + }, + "id": 3803, + "name": "Identifier", + "src": "9803:25:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3766, + "type": "address", + "value": "_globalConstraint" + }, + "id": 3804, + "name": "Identifier", + "src": "9829:17:6" + } + ], + "id": 3805, + "name": "IndexAccess", + "src": "9803:44:6" + } + ], + "id": 3806, + "name": "MemberAccess", + "src": "9803:50:6" + } + ], + "id": 3807, + "name": "IndexAccess", + "src": "9785:69:6" + } + ], + "id": 3808, + "name": "MemberAccess", + "src": "9785:76:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3768, + "type": "bytes32", + "value": "_params" + }, + "id": 3809, + "name": "Identifier", + "src": "9864:7:6" + } + ], + "id": 3810, + "name": "Assignment", + "src": "9785:86:6" + } + ], + "id": 3811, + "name": "ExpressionStatement", + "src": "9785:86:6" + } + ], + "id": 3812, + "name": "Block", + "src": "9770:113:6" + } + ], + "id": 3813, + "name": "IfStatement", + "src": "9492:391:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3203, + "type": "function (address,bytes32)", + "value": "AddGlobalConstraint" + }, + "id": 3814, + "name": "Identifier", + "src": "9893:19:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3766, + "type": "address", + "value": "_globalConstraint" + }, + "id": 3815, + "name": "Identifier", + "src": "9913:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3768, + "type": "bytes32", + "value": "_params" + }, + "id": 3816, + "name": "Identifier", + "src": "9932:7:6" + } + ], + "id": 3817, + "name": "FunctionCall", + "src": "9893:47:6" + } + ], + "id": 3818, + "name": "ExpressionStatement", + "src": "9893:47:6" + }, + { + "attributes": { + "functionReturnParameters": 3774 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3819, + "name": "Literal", + "src": "9958:4:6" + } + ], + "id": 3820, + "name": "Return", + "src": "9951:11:6" + } + ], + "id": 3821, + "name": "Block", + "src": "9481:489:6" + } + ], + "id": 3822, + "name": "FunctionDefinition", + "src": "9349:621:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "removeGlobalConstraint", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_globalConstraint", + "scope": 3896, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3823, + "name": "ElementaryTypeName", + "src": "10199:7:6" + } + ], + "id": 3824, + "name": "VariableDeclaration", + "src": "10199:25:6" + } + ], + "id": 3825, + "name": "ParameterList", + "src": "10198:27:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3896, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3828, + "name": "ElementaryTypeName", + "src": "10274:4:6" + } + ], + "id": 3829, + "name": "VariableDeclaration", + "src": "10274:4:6" + } + ], + "id": 3830, + "name": "ParameterList", + "src": "10273:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3353, + "type": "modifier ()", + "value": "onlyGlobalConstraintsScheme" + }, + "id": 3826, + "name": "Identifier", + "src": "10238:27:6" + } + ], + "id": 3827, + "name": "ModifierInvocation", + "src": "10238:27:6" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 3832 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "globalConstraintRegister", + "scope": 3896, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct Controller.GlobalConstraintRegister memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "GlobalConstraintRegister", + "referencedDeclaration": 3093, + "type": "struct Controller.GlobalConstraintRegister storage pointer" + }, + "id": 3831, + "name": "UserDefinedTypeName", + "src": "10296:24:6" + } + ], + "id": 3832, + "name": "VariableDeclaration", + "src": "10296:56:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraintRegister storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3112, + "type": "mapping(address => struct Controller.GlobalConstraintRegister storage ref)", + "value": "globalConstraintsRegister" + }, + "id": 3833, + "name": "Identifier", + "src": "10355:25:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3824, + "type": "address", + "value": "_globalConstraint" + }, + "id": 3834, + "name": "Identifier", + "src": "10381:17:6" + } + ], + "id": 3835, + "name": "IndexAccess", + "src": "10355:44:6" + } + ], + "id": 3836, + "name": "VariableDeclarationStatement", + "src": "10296:103:6" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "register", + "referencedDeclaration": 3090, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3832, + "type": "struct Controller.GlobalConstraintRegister memory", + "value": "globalConstraintRegister" + }, + "id": 3837, + "name": "Identifier", + "src": "10416:24:6" + } + ], + "id": 3838, + "name": "MemberAccess", + "src": "10416:33:6" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "index", + "referencedDeclaration": 3092, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3832, + "type": "struct Controller.GlobalConstraintRegister memory", + "value": "globalConstraintRegister" + }, + "id": 3839, + "name": "Identifier", + "src": "10470:24:6" + } + ], + "id": 3840, + "name": "MemberAccess", + "src": "10470:30:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "-", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3841, + "name": "Identifier", + "src": "10503:17:6" + } + ], + "id": 3842, + "name": "MemberAccess", + "src": "10503:24:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 3843, + "name": "Literal", + "src": "10528:1:6" + } + ], + "id": 3844, + "name": "BinaryOperation", + "src": "10503:26:6" + } + ], + "id": 3845, + "name": "BinaryOperation", + "src": "10470:59:6" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 3847 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "globalConstraint", + "scope": 3896, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct Controller.GlobalConstraint memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "GlobalConstraint", + "referencedDeclaration": 3088, + "type": "struct Controller.GlobalConstraint storage pointer" + }, + "id": 3846, + "name": "UserDefinedTypeName", + "src": "10550:16:6" + } + ], + "id": 3847, + "name": "VariableDeclaration", + "src": "10550:40:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraint storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3848, + "name": "Identifier", + "src": "10593:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "-", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3849, + "name": "Identifier", + "src": "10611:17:6" + } + ], + "id": 3850, + "name": "MemberAccess", + "src": "10611:24:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 3851, + "name": "Literal", + "src": "10636:1:6" + } + ], + "id": 3852, + "name": "BinaryOperation", + "src": "10611:26:6" + } + ], + "id": 3853, + "name": "IndexAccess", + "src": "10593:45:6" + } + ], + "id": 3854, + "name": "VariableDeclarationStatement", + "src": "10550:88:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct Controller.GlobalConstraint storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct Controller.GlobalConstraint storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3855, + "name": "Identifier", + "src": "10657:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "index", + "referencedDeclaration": 3092, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3832, + "type": "struct Controller.GlobalConstraintRegister memory", + "value": "globalConstraintRegister" + }, + "id": 3856, + "name": "Identifier", + "src": "10675:24:6" + } + ], + "id": 3857, + "name": "MemberAccess", + "src": "10675:30:6" + } + ], + "id": 3858, + "name": "IndexAccess", + "src": "10657:49:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3847, + "type": "struct Controller.GlobalConstraint memory", + "value": "globalConstraint" + }, + "id": 3859, + "name": "Identifier", + "src": "10709:16:6" + } + ], + "id": 3860, + "name": "Assignment", + "src": "10657:68:6" + } + ], + "id": 3861, + "name": "ExpressionStatement", + "src": "10657:68:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "index", + "referencedDeclaration": 3092, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct Controller.GlobalConstraintRegister storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3112, + "type": "mapping(address => struct Controller.GlobalConstraintRegister storage ref)", + "value": "globalConstraintsRegister" + }, + "id": 3862, + "name": "Identifier", + "src": "10744:25:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "gcAddress", + "referencedDeclaration": 3085, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3847, + "type": "struct Controller.GlobalConstraint memory", + "value": "globalConstraint" + }, + "id": 3863, + "name": "Identifier", + "src": "10770:16:6" + } + ], + "id": 3864, + "name": "MemberAccess", + "src": "10770:26:6" + } + ], + "id": 3865, + "name": "IndexAccess", + "src": "10744:53:6" + } + ], + "id": 3866, + "name": "MemberAccess", + "src": "10744:59:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "index", + "referencedDeclaration": 3092, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3832, + "type": "struct Controller.GlobalConstraintRegister memory", + "value": "globalConstraintRegister" + }, + "id": 3867, + "name": "Identifier", + "src": "10806:24:6" + } + ], + "id": 3868, + "name": "MemberAccess", + "src": "10806:30:6" + } + ], + "id": 3869, + "name": "Assignment", + "src": "10744:92:6" + } + ], + "id": 3870, + "name": "ExpressionStatement", + "src": "10744:92:6" + } + ], + "id": 3871, + "name": "Block", + "src": "10531:321:6" + } + ], + "id": 3872, + "name": "IfStatement", + "src": "10466:386:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "--", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3108, + "type": "struct Controller.GlobalConstraint storage ref[] storage ref", + "value": "globalConstraints" + }, + "id": 3873, + "name": "Identifier", + "src": "10866:17:6" + } + ], + "id": 3875, + "name": "MemberAccess", + "src": "10866:24:6" + } + ], + "id": 3876, + "name": "UnaryOperation", + "src": "10866:26:6" + } + ], + "id": 3877, + "name": "ExpressionStatement", + "src": "10866:26:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct Controller.GlobalConstraintRegister storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3112, + "type": "mapping(address => struct Controller.GlobalConstraintRegister storage ref)", + "value": "globalConstraintsRegister" + }, + "id": 3878, + "name": "Identifier", + "src": "10914:25:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3824, + "type": "address", + "value": "_globalConstraint" + }, + "id": 3879, + "name": "Identifier", + "src": "10940:17:6" + } + ], + "id": 3880, + "name": "IndexAccess", + "src": "10914:44:6" + } + ], + "id": 3881, + "name": "UnaryOperation", + "src": "10907:51:6" + } + ], + "id": 3882, + "name": "ExpressionStatement", + "src": "10907:51:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3209, + "type": "function (address,uint256)", + "value": "RemoveGlobalConstraint" + }, + "id": 3883, + "name": "Identifier", + "src": "10973:22:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3824, + "type": "address", + "value": "_globalConstraint" + }, + "id": 3884, + "name": "Identifier", + "src": "10996:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "index", + "referencedDeclaration": 3092, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3832, + "type": "struct Controller.GlobalConstraintRegister memory", + "value": "globalConstraintRegister" + }, + "id": 3885, + "name": "Identifier", + "src": "11014:24:6" + } + ], + "id": 3886, + "name": "MemberAccess", + "src": "11014:30:6" + } + ], + "id": 3887, + "name": "FunctionCall", + "src": "10973:72:6" + } + ], + "id": 3888, + "name": "ExpressionStatement", + "src": "10973:72:6" + }, + { + "attributes": { + "functionReturnParameters": 3830 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3889, + "name": "Literal", + "src": "11067:4:6" + } + ], + "id": 3890, + "name": "Return", + "src": "11060:11:6" + } + ], + "id": 3891, + "name": "Block", + "src": "10451:632:6" + } + ], + "id": 3892, + "name": "IfStatement", + "src": "10412:671:6" + }, + { + "attributes": { + "functionReturnParameters": 3830 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 3893, + "name": "Literal", + "src": "11100:5:6" + } + ], + "id": 3894, + "name": "Return", + "src": "11093:12:6" + } + ], + "id": 3895, + "name": "Block", + "src": "10285:828:6" + } + ], + "id": 3896, + "name": "FunctionDefinition", + "src": "10166:947:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "upgradeController", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_newController", + "scope": 3969, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3897, + "name": "ElementaryTypeName", + "src": "11378:7:6" + } + ], + "id": 3898, + "name": "VariableDeclaration", + "src": "11378:22:6" + } + ], + "id": 3899, + "name": "ParameterList", + "src": "11377:24:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3969, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3902, + "name": "ElementaryTypeName", + "src": "11442:4:6" + } + ], + "id": 3903, + "name": "VariableDeclaration", + "src": "11442:4:6" + } + ], + "id": 3904, + "name": "ParameterList", + "src": "11441:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3373, + "type": "modifier ()", + "value": "onlyUpgradingScheme" + }, + "id": 3900, + "name": "Identifier", + "src": "11414:19:6" + } + ], + "id": 3901, + "name": "ModifierInvocation", + "src": "11414:19:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3905, + "name": "Identifier", + "src": "11464:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3105, + "type": "address", + "value": "newController" + }, + "id": 3906, + "name": "Identifier", + "src": "11472:13:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 3907, + "name": "ElementaryTypeNameExpression", + "src": "11489:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 3908, + "name": "Literal", + "src": "11497:1:6" + } + ], + "id": 3909, + "name": "FunctionCall", + "src": "11489:10:6" + } + ], + "id": 3910, + "name": "BinaryOperation", + "src": "11472:27:6" + } + ], + "id": 3911, + "name": "FunctionCall", + "src": "11464:36:6" + } + ], + "id": 3912, + "name": "ExpressionStatement", + "src": "11464:36:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 3913, + "name": "Identifier", + "src": "11566:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3898, + "type": "address", + "value": "_newController" + }, + "id": 3914, + "name": "Identifier", + "src": "11574:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 3915, + "name": "ElementaryTypeNameExpression", + "src": "11592:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 3916, + "name": "Literal", + "src": "11600:1:6" + } + ], + "id": 3917, + "name": "FunctionCall", + "src": "11592:10:6" + } + ], + "id": 3918, + "name": "BinaryOperation", + "src": "11574:28:6" + } + ], + "id": 3919, + "name": "FunctionCall", + "src": "11566:37:6" + } + ], + "id": 3920, + "name": "ExpressionStatement", + "src": "11566:37:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3105, + "type": "address", + "value": "newController" + }, + "id": 3921, + "name": "Identifier", + "src": "11614:13:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3898, + "type": "address", + "value": "_newController" + }, + "id": 3922, + "name": "Identifier", + "src": "11630:14:6" + } + ], + "id": 3923, + "name": "Assignment", + "src": "11614:30:6" + } + ], + "id": 3924, + "name": "ExpressionStatement", + "src": "11614:30:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferOwnership", + "referencedDeclaration": 9139, + "type": "function (address) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3099, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 3925, + "name": "Identifier", + "src": "11655:6:6" + } + ], + "id": 3927, + "name": "MemberAccess", + "src": "11655:24:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3898, + "type": "address", + "value": "_newController" + }, + "id": 3928, + "name": "Identifier", + "src": "11680:14:6" + } + ], + "id": 3929, + "name": "FunctionCall", + "src": "11655:40:6" + } + ], + "id": 3930, + "name": "ExpressionStatement", + "src": "11655:40:6" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3101, + "type": "contract DAOToken", + "value": "nativeToken" + }, + "id": 3931, + "name": "Identifier", + "src": "11710:11:6" + } + ], + "id": 3932, + "name": "MemberAccess", + "src": "11710:17:6" + } + ], + "id": 3933, + "name": "FunctionCall", + "src": "11710:19:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Controller_$4157", + "typeString": "contract Controller" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 3934, + "name": "ElementaryTypeNameExpression", + "src": "11733:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9777, + "type": "contract Controller", + "value": "this" + }, + "id": 3935, + "name": "Identifier", + "src": "11741:4:6" + } + ], + "id": 3936, + "name": "FunctionCall", + "src": "11733:13:6" + } + ], + "id": 3937, + "name": "BinaryOperation", + "src": "11710:36:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferOwnership", + "referencedDeclaration": 9139, + "type": "function (address) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3101, + "type": "contract DAOToken", + "value": "nativeToken" + }, + "id": 3938, + "name": "Identifier", + "src": "11763:11:6" + } + ], + "id": 3940, + "name": "MemberAccess", + "src": "11763:29:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3898, + "type": "address", + "value": "_newController" + }, + "id": 3941, + "name": "Identifier", + "src": "11793:14:6" + } + ], + "id": 3942, + "name": "FunctionCall", + "src": "11763:45:6" + } + ], + "id": 3943, + "name": "ExpressionStatement", + "src": "11763:45:6" + } + ], + "id": 3944, + "name": "Block", + "src": "11748:72:6" + } + ], + "id": 3945, + "name": "IfStatement", + "src": "11706:114:6" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3103, + "type": "contract Reputation", + "value": "nativeReputation" + }, + "id": 3946, + "name": "Identifier", + "src": "11834:16:6" + } + ], + "id": 3947, + "name": "MemberAccess", + "src": "11834:22:6" + } + ], + "id": 3948, + "name": "FunctionCall", + "src": "11834:24:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Controller_$4157", + "typeString": "contract Controller" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 3949, + "name": "ElementaryTypeNameExpression", + "src": "11862:7:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9777, + "type": "contract Controller", + "value": "this" + }, + "id": 3950, + "name": "Identifier", + "src": "11870:4:6" + } + ], + "id": 3951, + "name": "FunctionCall", + "src": "11862:13:6" + } + ], + "id": 3952, + "name": "BinaryOperation", + "src": "11834:41:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferOwnership", + "referencedDeclaration": 9139, + "type": "function (address) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3103, + "type": "contract Reputation", + "value": "nativeReputation" + }, + "id": 3953, + "name": "Identifier", + "src": "11892:16:6" + } + ], + "id": 3955, + "name": "MemberAccess", + "src": "11892:34:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3898, + "type": "address", + "value": "_newController" + }, + "id": 3956, + "name": "Identifier", + "src": "11927:14:6" + } + ], + "id": 3957, + "name": "FunctionCall", + "src": "11892:50:6" + } + ], + "id": 3958, + "name": "ExpressionStatement", + "src": "11892:50:6" + } + ], + "id": 3959, + "name": "Block", + "src": "11877:77:6" + } + ], + "id": 3960, + "name": "IfStatement", + "src": "11830:124:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Controller_$4157", + "typeString": "contract Controller" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3215, + "type": "function (address,address)", + "value": "UpgradeController" + }, + "id": 3961, + "name": "Identifier", + "src": "11964:17:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9777, + "type": "contract Controller", + "value": "this" + }, + "id": 3962, + "name": "Identifier", + "src": "11982:4:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3105, + "type": "address", + "value": "newController" + }, + "id": 3963, + "name": "Identifier", + "src": "11987:13:6" + } + ], + "id": 3964, + "name": "FunctionCall", + "src": "11964:37:6" + } + ], + "id": 3965, + "name": "ExpressionStatement", + "src": "11964:37:6" + }, + { + "attributes": { + "functionReturnParameters": 3904 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 3966, + "name": "Literal", + "src": "12019:4:6" + } + ], + "id": 3967, + "name": "Return", + "src": "12012:11:6" + } + ], + "id": 3968, + "name": "Block", + "src": "11453:578:6" + } + ], + "id": 3969, + "name": "FunctionDefinition", + "src": "11351:680:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "genericAction", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 3996, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 3970, + "name": "ElementaryTypeName", + "src": "12403:7:6" + } + ], + "id": 3971, + "name": "ArrayTypeName", + "src": "12403:9:6" + } + ], + "id": 3972, + "name": "VariableDeclaration", + "src": "12403:17:6" + } + ], + "id": 3973, + "name": "ParameterList", + "src": "12402:19:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 3996, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 3979, + "name": "ElementaryTypeName", + "src": "12519:4:6" + } + ], + "id": 3980, + "name": "VariableDeclaration", + "src": "12519:4:6" + } + ], + "id": 3981, + "name": "ParameterList", + "src": "12518:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3313, + "type": "modifier ()", + "value": "onlyRegisteredScheme" + }, + "id": 3974, + "name": "Identifier", + "src": "12439:20:6" + } + ], + "id": 3975, + "name": "ModifierInvocation", + "src": "12439:20:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3446, + "type": "modifier (bytes32)", + "value": "onlySubjectToConstraint" + }, + "id": 3976, + "name": "Identifier", + "src": "12465:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "67656e65726963416374696f6e", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"genericAction\"", + "value": "genericAction" + }, + "id": 3977, + "name": "Literal", + "src": "12489:15:6" + } + ], + "id": 3978, + "name": "ModifierInvocation", + "src": "12465:40:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3147, + "type": "function (address,bytes32[] memory)", + "value": "GenericAction" + }, + "id": 3982, + "name": "Identifier", + "src": "12541:13:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3983, + "name": "Identifier", + "src": "12555:3:6" + } + ], + "id": 3984, + "name": "MemberAccess", + "src": "12555:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3972, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 3985, + "name": "Identifier", + "src": "12567:7:6" + } + ], + "id": 3986, + "name": "FunctionCall", + "src": "12541:34:6" + } + ], + "id": 3987, + "name": "ExpressionStatement", + "src": "12541:34:6" + }, + { + "attributes": { + "functionReturnParameters": 3981 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "genericAction", + "referencedDeclaration": 2926, + "type": "function (address,bytes32[] memory) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3099, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 3988, + "name": "Identifier", + "src": "12593:6:6" + } + ], + "id": 3989, + "name": "MemberAccess", + "src": "12593:20:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 3990, + "name": "Identifier", + "src": "12614:3:6" + } + ], + "id": 3991, + "name": "MemberAccess", + "src": "12614:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3972, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 3992, + "name": "Identifier", + "src": "12626:7:6" + } + ], + "id": 3993, + "name": "FunctionCall", + "src": "12593:41:6" + } + ], + "id": 3994, + "name": "Return", + "src": "12586:48:6" + } + ], + "id": 3995, + "name": "Block", + "src": "12530:112:6" + } + ], + "id": 3996, + "name": "FunctionDefinition", + "src": "12380:262:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "sendEther", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_amountInWei", + "scope": 4024, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 3997, + "name": "ElementaryTypeName", + "src": "12862:4:6" + } + ], + "id": 3998, + "name": "VariableDeclaration", + "src": "12862:17:6" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 4024, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 3999, + "name": "ElementaryTypeName", + "src": "12881:7:6" + } + ], + "id": 4000, + "name": "VariableDeclaration", + "src": "12881:11:6" + } + ], + "id": 4001, + "name": "ParameterList", + "src": "12861:32:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4024, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4007, + "name": "ElementaryTypeName", + "src": "12987:4:6" + } + ], + "id": 4008, + "name": "VariableDeclaration", + "src": "12987:4:6" + } + ], + "id": 4009, + "name": "ParameterList", + "src": "12986:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3313, + "type": "modifier ()", + "value": "onlyRegisteredScheme" + }, + "id": 4002, + "name": "Identifier", + "src": "12911:20:6" + } + ], + "id": 4003, + "name": "ModifierInvocation", + "src": "12911:20:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3446, + "type": "modifier (bytes32)", + "value": "onlySubjectToConstraint" + }, + "id": 4004, + "name": "Identifier", + "src": "12937:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "73656e644574686572", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"sendEther\"", + "value": "sendEther" + }, + "id": 4005, + "name": "Literal", + "src": "12961:11:6" + } + ], + "id": 4006, + "name": "ModifierInvocation", + "src": "12937:36:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3155, + "type": "function (address,uint256,address)", + "value": "SendEther" + }, + "id": 4010, + "name": "Identifier", + "src": "13009:9:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 4011, + "name": "Identifier", + "src": "13019:3:6" + } + ], + "id": 4012, + "name": "MemberAccess", + "src": "13019:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3998, + "type": "uint256", + "value": "_amountInWei" + }, + "id": 4013, + "name": "Identifier", + "src": "13031:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4000, + "type": "address", + "value": "_to" + }, + "id": 4014, + "name": "Identifier", + "src": "13045:3:6" + } + ], + "id": 4015, + "name": "FunctionCall", + "src": "13009:40:6" + } + ], + "id": 4016, + "name": "ExpressionStatement", + "src": "13009:40:6" + }, + { + "attributes": { + "functionReturnParameters": 4009 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sendEther", + "referencedDeclaration": 2951, + "type": "function (uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3099, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 4017, + "name": "Identifier", + "src": "13067:6:6" + } + ], + "id": 4018, + "name": "MemberAccess", + "src": "13067:16:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3998, + "type": "uint256", + "value": "_amountInWei" + }, + "id": 4019, + "name": "Identifier", + "src": "13084:12:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4000, + "type": "address", + "value": "_to" + }, + "id": 4020, + "name": "Identifier", + "src": "13098:3:6" + } + ], + "id": 4021, + "name": "FunctionCall", + "src": "13067:35:6" + } + ], + "id": 4022, + "name": "Return", + "src": "13060:42:6" + } + ], + "id": 4023, + "name": "Block", + "src": "12998:112:6" + } + ], + "id": 4024, + "name": "FunctionDefinition", + "src": "12843:267:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenTransfer", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 4056, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4025, + "name": "UserDefinedTypeName", + "src": "13433:13:6" + } + ], + "id": 4026, + "name": "VariableDeclaration", + "src": "13433:28:6" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 4056, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4027, + "name": "ElementaryTypeName", + "src": "13463:7:6" + } + ], + "id": 4028, + "name": "VariableDeclaration", + "src": "13463:11:6" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 4056, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4029, + "name": "ElementaryTypeName", + "src": "13476:4:6" + } + ], + "id": 4030, + "name": "VariableDeclaration", + "src": "13476:11:6" + } + ], + "id": 4031, + "name": "ParameterList", + "src": "13432:56:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4056, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4037, + "name": "ElementaryTypeName", + "src": "13594:4:6" + } + ], + "id": 4038, + "name": "VariableDeclaration", + "src": "13594:4:6" + } + ], + "id": 4039, + "name": "ParameterList", + "src": "13593:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3313, + "type": "modifier ()", + "value": "onlyRegisteredScheme" + }, + "id": 4032, + "name": "Identifier", + "src": "13506:20:6" + } + ], + "id": 4033, + "name": "ModifierInvocation", + "src": "13506:20:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3446, + "type": "modifier (bytes32)", + "value": "onlySubjectToConstraint" + }, + "id": 4034, + "name": "Identifier", + "src": "13532:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "65787465726e616c546f6b656e5472616e73666572", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"externalTokenTransfer\"", + "value": "externalTokenTransfer" + }, + "id": 4035, + "name": "Literal", + "src": "13556:23:6" + } + ], + "id": 4036, + "name": "ModifierInvocation", + "src": "13532:48:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3165, + "type": "function (address,address,address,uint256)", + "value": "ExternalTokenTransfer" + }, + "id": 4040, + "name": "Identifier", + "src": "13616:21:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 4041, + "name": "Identifier", + "src": "13638:3:6" + } + ], + "id": 4042, + "name": "MemberAccess", + "src": "13638:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4026, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 4043, + "name": "Identifier", + "src": "13650:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4028, + "type": "address", + "value": "_to" + }, + "id": 4044, + "name": "Identifier", + "src": "13666:3:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4030, + "type": "uint256", + "value": "_value" + }, + "id": 4045, + "name": "Identifier", + "src": "13671:6:6" + } + ], + "id": 4046, + "name": "FunctionCall", + "src": "13616:62:6" + } + ], + "id": 4047, + "name": "ExpressionStatement", + "src": "13616:62:6" + }, + { + "attributes": { + "functionReturnParameters": 4039 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "externalTokenTransfer", + "referencedDeclaration": 2980, + "type": "function (contract StandardToken,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3099, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 4048, + "name": "Identifier", + "src": "13696:6:6" + } + ], + "id": 4049, + "name": "MemberAccess", + "src": "13696:28:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4026, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 4050, + "name": "Identifier", + "src": "13725:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4028, + "type": "address", + "value": "_to" + }, + "id": 4051, + "name": "Identifier", + "src": "13741:3:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4030, + "type": "uint256", + "value": "_value" + }, + "id": 4052, + "name": "Identifier", + "src": "13746:6:6" + } + ], + "id": 4053, + "name": "FunctionCall", + "src": "13696:57:6" + } + ], + "id": 4054, + "name": "Return", + "src": "13689:64:6" + } + ], + "id": 4055, + "name": "Block", + "src": "13605:156:6" + } + ], + "id": 4056, + "name": "FunctionDefinition", + "src": "13402:359:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenTransferFrom", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 4092, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4057, + "name": "UserDefinedTypeName", + "src": "14297:13:6" + } + ], + "id": 4058, + "name": "VariableDeclaration", + "src": "14297:28:6" + }, + { + "attributes": { + "constant": false, + "name": "_from", + "scope": 4092, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4059, + "name": "ElementaryTypeName", + "src": "14327:7:6" + } + ], + "id": 4060, + "name": "VariableDeclaration", + "src": "14327:13:6" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 4092, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4061, + "name": "ElementaryTypeName", + "src": "14342:7:6" + } + ], + "id": 4062, + "name": "VariableDeclaration", + "src": "14342:11:6" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 4092, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4063, + "name": "ElementaryTypeName", + "src": "14355:4:6" + } + ], + "id": 4064, + "name": "VariableDeclaration", + "src": "14355:11:6" + } + ], + "id": 4065, + "name": "ParameterList", + "src": "14296:71:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4092, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4071, + "name": "ElementaryTypeName", + "src": "14477:4:6" + } + ], + "id": 4072, + "name": "VariableDeclaration", + "src": "14477:4:6" + } + ], + "id": 4073, + "name": "ParameterList", + "src": "14476:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3313, + "type": "modifier ()", + "value": "onlyRegisteredScheme" + }, + "id": 4066, + "name": "Identifier", + "src": "14385:20:6" + } + ], + "id": 4067, + "name": "ModifierInvocation", + "src": "14385:20:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3446, + "type": "modifier (bytes32)", + "value": "onlySubjectToConstraint" + }, + "id": 4068, + "name": "Identifier", + "src": "14411:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "65787465726e616c546f6b656e5472616e7366657246726f6d", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"externalTokenTransferFrom\"", + "value": "externalTokenTransferFrom" + }, + "id": 4069, + "name": "Literal", + "src": "14435:27:6" + } + ], + "id": 4070, + "name": "ModifierInvocation", + "src": "14411:52:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3177, + "type": "function (address,address,address,address,uint256)", + "value": "ExternalTokenTransferFrom" + }, + "id": 4074, + "name": "Identifier", + "src": "14499:25:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 4075, + "name": "Identifier", + "src": "14525:3:6" + } + ], + "id": 4076, + "name": "MemberAccess", + "src": "14525:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4058, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 4077, + "name": "Identifier", + "src": "14537:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4060, + "type": "address", + "value": "_from" + }, + "id": 4078, + "name": "Identifier", + "src": "14553:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4062, + "type": "address", + "value": "_to" + }, + "id": 4079, + "name": "Identifier", + "src": "14560:3:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4064, + "type": "uint256", + "value": "_value" + }, + "id": 4080, + "name": "Identifier", + "src": "14565:6:6" + } + ], + "id": 4081, + "name": "FunctionCall", + "src": "14499:73:6" + } + ], + "id": 4082, + "name": "ExpressionStatement", + "src": "14499:73:6" + }, + { + "attributes": { + "functionReturnParameters": 4073 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "externalTokenTransferFrom", + "referencedDeclaration": 3013, + "type": "function (contract StandardToken,address,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3099, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 4083, + "name": "Identifier", + "src": "14590:6:6" + } + ], + "id": 4084, + "name": "MemberAccess", + "src": "14590:32:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4058, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 4085, + "name": "Identifier", + "src": "14623:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4060, + "type": "address", + "value": "_from" + }, + "id": 4086, + "name": "Identifier", + "src": "14639:5:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4062, + "type": "address", + "value": "_to" + }, + "id": 4087, + "name": "Identifier", + "src": "14646:3:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4064, + "type": "uint256", + "value": "_value" + }, + "id": 4088, + "name": "Identifier", + "src": "14651:6:6" + } + ], + "id": 4089, + "name": "FunctionCall", + "src": "14590:68:6" + } + ], + "id": 4090, + "name": "Return", + "src": "14583:75:6" + } + ], + "id": 4091, + "name": "Block", + "src": "14488:178:6" + } + ], + "id": 4092, + "name": "FunctionDefinition", + "src": "14262:404:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenIncreaseApproval", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 4124, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4093, + "name": "UserDefinedTypeName", + "src": "15090:13:6" + } + ], + "id": 4094, + "name": "VariableDeclaration", + "src": "15090:28:6" + }, + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 4124, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4095, + "name": "ElementaryTypeName", + "src": "15120:7:6" + } + ], + "id": 4096, + "name": "VariableDeclaration", + "src": "15120:16:6" + }, + { + "attributes": { + "constant": false, + "name": "_addedValue", + "scope": 4124, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4097, + "name": "ElementaryTypeName", + "src": "15138:4:6" + } + ], + "id": 4098, + "name": "VariableDeclaration", + "src": "15138:16:6" + } + ], + "id": 4099, + "name": "ParameterList", + "src": "15089:66:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4124, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4105, + "name": "ElementaryTypeName", + "src": "15269:4:6" + } + ], + "id": 4106, + "name": "VariableDeclaration", + "src": "15269:4:6" + } + ], + "id": 4107, + "name": "ParameterList", + "src": "15268:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3313, + "type": "modifier ()", + "value": "onlyRegisteredScheme" + }, + "id": 4100, + "name": "Identifier", + "src": "15173:20:6" + } + ], + "id": 4101, + "name": "ModifierInvocation", + "src": "15173:20:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3446, + "type": "modifier (bytes32)", + "value": "onlySubjectToConstraint" + }, + "id": 4102, + "name": "Identifier", + "src": "15199:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "65787465726e616c546f6b656e496e637265617365417070726f76616c", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"externalTokenIncreaseApproval\"", + "value": "externalTokenIncreaseApproval" + }, + "id": 4103, + "name": "Literal", + "src": "15223:31:6" + } + ], + "id": 4104, + "name": "ModifierInvocation", + "src": "15199:56:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3187, + "type": "function (address,contract StandardToken,address,uint256)", + "value": "ExternalTokenIncreaseApproval" + }, + "id": 4108, + "name": "Identifier", + "src": "15291:29:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 4109, + "name": "Identifier", + "src": "15321:3:6" + } + ], + "id": 4110, + "name": "MemberAccess", + "src": "15321:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4094, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 4111, + "name": "Identifier", + "src": "15332:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4096, + "type": "address", + "value": "_spender" + }, + "id": 4112, + "name": "Identifier", + "src": "15347:8:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4098, + "type": "uint256", + "value": "_addedValue" + }, + "id": 4113, + "name": "Identifier", + "src": "15356:11:6" + } + ], + "id": 4114, + "name": "FunctionCall", + "src": "15291:77:6" + } + ], + "id": 4115, + "name": "ExpressionStatement", + "src": "15291:77:6" + }, + { + "attributes": { + "functionReturnParameters": 4107 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "externalTokenIncreaseApproval", + "referencedDeclaration": 3042, + "type": "function (contract StandardToken,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3099, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 4116, + "name": "Identifier", + "src": "15386:6:6" + } + ], + "id": 4117, + "name": "MemberAccess", + "src": "15386:36:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4094, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 4118, + "name": "Identifier", + "src": "15423:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4096, + "type": "address", + "value": "_spender" + }, + "id": 4119, + "name": "Identifier", + "src": "15439:8:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4098, + "type": "uint256", + "value": "_addedValue" + }, + "id": 4120, + "name": "Identifier", + "src": "15449:11:6" + } + ], + "id": 4121, + "name": "FunctionCall", + "src": "15386:75:6" + } + ], + "id": 4122, + "name": "Return", + "src": "15379:82:6" + } + ], + "id": 4123, + "name": "Block", + "src": "15280:189:6" + } + ], + "id": 4124, + "name": "FunctionDefinition", + "src": "15051:418:6" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "externalTokenDecreaseApproval", + "payable": false, + "scope": 4157, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_externalToken", + "scope": 4156, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4125, + "name": "UserDefinedTypeName", + "src": "15898:13:6" + } + ], + "id": 4126, + "name": "VariableDeclaration", + "src": "15898:28:6" + }, + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 4156, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4127, + "name": "ElementaryTypeName", + "src": "15928:7:6" + } + ], + "id": 4128, + "name": "VariableDeclaration", + "src": "15928:16:6" + }, + { + "attributes": { + "constant": false, + "name": "_subtractedValue", + "scope": 4156, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4129, + "name": "ElementaryTypeName", + "src": "15946:4:6" + } + ], + "id": 4130, + "name": "VariableDeclaration", + "src": "15946:21:6" + } + ], + "id": 4131, + "name": "ParameterList", + "src": "15897:71:6" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4156, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4137, + "name": "ElementaryTypeName", + "src": "16082:4:6" + } + ], + "id": 4138, + "name": "VariableDeclaration", + "src": "16082:4:6" + } + ], + "id": 4139, + "name": "ParameterList", + "src": "16081:6:6" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3313, + "type": "modifier ()", + "value": "onlyRegisteredScheme" + }, + "id": 4132, + "name": "Identifier", + "src": "15986:20:6" + } + ], + "id": 4133, + "name": "ModifierInvocation", + "src": "15986:20:6" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3446, + "type": "modifier (bytes32)", + "value": "onlySubjectToConstraint" + }, + "id": 4134, + "name": "Identifier", + "src": "16012:23:6" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "65787465726e616c546f6b656e4465637265617365417070726f76616c", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "string", + "type": "literal_string \"externalTokenDecreaseApproval\"", + "value": "externalTokenDecreaseApproval" + }, + "id": 4135, + "name": "Literal", + "src": "16036:31:6" + } + ], + "id": 4136, + "name": "ModifierInvocation", + "src": "16012:56:6" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3197, + "type": "function (address,contract StandardToken,address,uint256)", + "value": "ExternalTokenDecreaseApproval" + }, + "id": 4140, + "name": "Identifier", + "src": "16104:29:6" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 4141, + "name": "Identifier", + "src": "16134:3:6" + } + ], + "id": 4142, + "name": "MemberAccess", + "src": "16134:10:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4126, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 4143, + "name": "Identifier", + "src": "16145:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4128, + "type": "address", + "value": "_spender" + }, + "id": 4144, + "name": "Identifier", + "src": "16160:8:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4130, + "type": "uint256", + "value": "_subtractedValue" + }, + "id": 4145, + "name": "Identifier", + "src": "16169:16:6" + } + ], + "id": 4146, + "name": "FunctionCall", + "src": "16104:82:6" + } + ], + "id": 4147, + "name": "ExpressionStatement", + "src": "16104:82:6" + }, + { + "attributes": { + "functionReturnParameters": 4139 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "externalTokenDecreaseApproval", + "referencedDeclaration": 3071, + "type": "function (contract StandardToken,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3099, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 4148, + "name": "Identifier", + "src": "16204:6:6" + } + ], + "id": 4149, + "name": "MemberAccess", + "src": "16204:36:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4126, + "type": "contract StandardToken", + "value": "_externalToken" + }, + "id": 4150, + "name": "Identifier", + "src": "16241:14:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4128, + "type": "address", + "value": "_spender" + }, + "id": 4151, + "name": "Identifier", + "src": "16257:8:6" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4130, + "type": "uint256", + "value": "_subtractedValue" + }, + "id": 4152, + "name": "Identifier", + "src": "16267:16:6" + } + ], + "id": 4153, + "name": "FunctionCall", + "src": "16204:80:6" + } + ], + "id": 4154, + "name": "Return", + "src": "16197:87:6" + } + ], + "id": 4155, + "name": "Block", + "src": "16093:199:6" + } + ], + "id": 4156, + "name": "FunctionDefinition", + "src": "15859:433:6" + } + ], + "id": 4157, + "name": "ContractDefinition", + "src": "440:15857:6" + } + ], + "id": 4158, + "name": "SourceUnit", + "src": "0:16299:6" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.901Z" +} \ No newline at end of file diff --git a/contracts/DAOToken.json b/contracts/DAOToken.json new file mode 100644 index 000000000..5c74c7af3 --- /dev/null +++ b/contracts/DAOToken.json @@ -0,0 +1,938 @@ +{ + "contractName": "DAOToken", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "mintingFinished", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "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": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_value", + "type": "uint256" + } + ], + "name": "burn", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "DECIMAL", + "outputs": [ + { + "name": "", + "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": "finishMinting", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "destroy", + "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": "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" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_recipient", + "type": "address" + } + ], + "name": "destroyAndSend", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_name", + "type": "string" + }, + { + "name": "_symbol", + "type": "string" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "burner", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Burn", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "MintFinished", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "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": "0x60606040526003805460a060020a60ff0219169055341561001f57600080fd5b604051610ea0380380610ea08339810160405280805182019190602001805160038054600160a060020a03191633600160a060020a0316179055919091019050600482805161007292916020019061008e565b50600581805161008692916020019061008e565b505050610129565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100cf57805160ff19168380011785556100fc565b828001600101855582156100fc579182015b828111156100fc5782518255916020019190600101906100e1565b5061010892915061010c565b5090565b61012691905b808211156101085760008155600101610112565b90565b610d68806101386000396000f3006060604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010b57806306fdde0314610132578063095ea7b3146101bc57806318160ddd146101de57806323b872dd1461020357806340c10f191461022b57806342966c681461024d57806366188463146102655780636ab55fd91461028757806370a082311461029a5780637d64bcb4146102b957806383197ef0146102cc5780638da5cb5b146102df57806395d89b411461030e578063a9059cbb14610321578063d73dd62314610343578063dd62ed3e14610365578063f2fde38b1461038a578063f5074f41146103a9575b600080fd5b341561011657600080fd5b61011e6103c8565b604051901515815260200160405180910390f35b341561013d57600080fd5b6101456103d8565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610181578082015183820152602001610169565b50505050905090810190601f1680156101ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c757600080fd5b61011e600160a060020a0360043516602435610476565b34156101e957600080fd5b6101f16104e2565b60405190815260200160405180910390f35b341561020e57600080fd5b61011e600160a060020a03600435811690602435166044356104e8565b341561023657600080fd5b61011e600160a060020a036004351660243561066a565b341561025857600080fd5b610263600435610777565b005b341561027057600080fd5b61011e600160a060020a0360043516602435610840565b341561029257600080fd5b6101f161093a565b34156102a557600080fd5b6101f1600160a060020a036004351661093f565b34156102c457600080fd5b61011e61095a565b34156102d757600080fd5b6102636109e5565b34156102ea57600080fd5b6102f2610a0e565b604051600160a060020a03909116815260200160405180910390f35b341561031957600080fd5b610145610a1d565b341561032c57600080fd5b61011e600160a060020a0360043516602435610a88565b341561034e57600080fd5b61011e600160a060020a0360043516602435610b83565b341561037057600080fd5b6101f1600160a060020a0360043581169060243516610c27565b341561039557600080fd5b610263600160a060020a0360043516610c52565b34156103b457600080fd5b610263600160a060020a0360043516610ced565b60035460a060020a900460ff1681565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b820191906000526020600020905b81548152906001019060200180831161045157829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a03831615156104ff57600080fd5b600160a060020a03841660009081526001602052604090205482111561052457600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482111561055757600080fd5b600160a060020a038416600090815260016020526040902054610580908363ffffffff610d1416565b600160a060020a0380861660009081526001602052604080822093909355908516815220546105b5908363ffffffff610d2616565b600160a060020a038085166000908152600160209081526040808320949094558783168252600281528382203390931682529190915220546105fd908363ffffffff610d1416565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a0390811691161461068857600080fd5b60035460a060020a900460ff161561069f57600080fd5b6000546106b2908363ffffffff610d2616565b6000908155600160a060020a0384168152600160205260409020546106dd908363ffffffff610d2616565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600080821161078557600080fd5b600160a060020a0333166000908152600160205260409020548211156107aa57600080fd5b5033600160a060020a0381166000908152600160205260409020546107cf9083610d14565b600160a060020a038216600090815260016020526040812091909155546107fc908363ffffffff610d1416565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561089d57600160a060020a0333811660009081526002602090815260408083209388168352929052908120556108d4565b6108ad818463ffffffff610d1416565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b601281565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a0390811691161461097857600080fd5b60035460a060020a900460ff161561098f57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035433600160a060020a03908116911614610a0057600080fd5b600354600160a060020a0316ff5b600354600160a060020a031681565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b6000600160a060020a0383161515610a9f57600080fd5b600160a060020a033316600090815260016020526040902054821115610ac457600080fd5b600160a060020a033316600090815260016020526040902054610aed908363ffffffff610d1416565b600160a060020a033381166000908152600160205260408082209390935590851681522054610b22908363ffffffff610d2616565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610bbb908363ffffffff610d2616565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610c6d57600080fd5b600160a060020a0381161515610c8257600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a03908116911614610d0857600080fd5b80600160a060020a0316ff5b600082821115610d2057fe5b50900390565b600082820183811015610d3557fe5b93925050505600a165627a7a72305820ddd222f885170d976ba92e33cced2eee9f7c90cd560193c32910e76aa67bce7f0029", + "deployedBytecode": "0x6060604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010b57806306fdde0314610132578063095ea7b3146101bc57806318160ddd146101de57806323b872dd1461020357806340c10f191461022b57806342966c681461024d57806366188463146102655780636ab55fd91461028757806370a082311461029a5780637d64bcb4146102b957806383197ef0146102cc5780638da5cb5b146102df57806395d89b411461030e578063a9059cbb14610321578063d73dd62314610343578063dd62ed3e14610365578063f2fde38b1461038a578063f5074f41146103a9575b600080fd5b341561011657600080fd5b61011e6103c8565b604051901515815260200160405180910390f35b341561013d57600080fd5b6101456103d8565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610181578082015183820152602001610169565b50505050905090810190601f1680156101ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c757600080fd5b61011e600160a060020a0360043516602435610476565b34156101e957600080fd5b6101f16104e2565b60405190815260200160405180910390f35b341561020e57600080fd5b61011e600160a060020a03600435811690602435166044356104e8565b341561023657600080fd5b61011e600160a060020a036004351660243561066a565b341561025857600080fd5b610263600435610777565b005b341561027057600080fd5b61011e600160a060020a0360043516602435610840565b341561029257600080fd5b6101f161093a565b34156102a557600080fd5b6101f1600160a060020a036004351661093f565b34156102c457600080fd5b61011e61095a565b34156102d757600080fd5b6102636109e5565b34156102ea57600080fd5b6102f2610a0e565b604051600160a060020a03909116815260200160405180910390f35b341561031957600080fd5b610145610a1d565b341561032c57600080fd5b61011e600160a060020a0360043516602435610a88565b341561034e57600080fd5b61011e600160a060020a0360043516602435610b83565b341561037057600080fd5b6101f1600160a060020a0360043581169060243516610c27565b341561039557600080fd5b610263600160a060020a0360043516610c52565b34156103b457600080fd5b610263600160a060020a0360043516610ced565b60035460a060020a900460ff1681565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b820191906000526020600020905b81548152906001019060200180831161045157829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a03831615156104ff57600080fd5b600160a060020a03841660009081526001602052604090205482111561052457600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482111561055757600080fd5b600160a060020a038416600090815260016020526040902054610580908363ffffffff610d1416565b600160a060020a0380861660009081526001602052604080822093909355908516815220546105b5908363ffffffff610d2616565b600160a060020a038085166000908152600160209081526040808320949094558783168252600281528382203390931682529190915220546105fd908363ffffffff610d1416565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a0390811691161461068857600080fd5b60035460a060020a900460ff161561069f57600080fd5b6000546106b2908363ffffffff610d2616565b6000908155600160a060020a0384168152600160205260409020546106dd908363ffffffff610d2616565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600080821161078557600080fd5b600160a060020a0333166000908152600160205260409020548211156107aa57600080fd5b5033600160a060020a0381166000908152600160205260409020546107cf9083610d14565b600160a060020a038216600090815260016020526040812091909155546107fc908363ffffffff610d1416565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561089d57600160a060020a0333811660009081526002602090815260408083209388168352929052908120556108d4565b6108ad818463ffffffff610d1416565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b601281565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a0390811691161461097857600080fd5b60035460a060020a900460ff161561098f57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035433600160a060020a03908116911614610a0057600080fd5b600354600160a060020a0316ff5b600354600160a060020a031681565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b6000600160a060020a0383161515610a9f57600080fd5b600160a060020a033316600090815260016020526040902054821115610ac457600080fd5b600160a060020a033316600090815260016020526040902054610aed908363ffffffff610d1416565b600160a060020a033381166000908152600160205260408082209390935590851681522054610b22908363ffffffff610d2616565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610bbb908363ffffffff610d2616565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610c6d57600080fd5b600160a060020a0381161515610c8257600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a03908116911614610d0857600080fd5b80600160a060020a0316ff5b600082821115610d2057fe5b50900390565b600082820183811015610d3557fe5b93925050505600a165627a7a72305820ddd222f885170d976ba92e33cced2eee9f7c90cd560193c32910e76aa67bce7f0029", + "sourceMap": "366:360:7:-;;;514:35:34;;;-1:-1:-1;;;;;;514:35:34;;;610:113:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;610:113:7;;;;;-1:-1:-1;676:4:7;683:5;;676:12;;;;;;;;:::i;:::-;-1:-1:-1;699:6:7;708:7;;699:16;;;;;;;;:::i;:::-;;610:113;;366:360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;366:360:7;;;-1:-1:-1;366:360:7;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;", + "deployedSourceMap": "366:360:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;514:35:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;437:18:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:183:35;;;;;;;;;;;;-1:-1:-1;;;;;1799:183:35;;;;;179:26:33;;;;;;;;;;;;;;;;;;;;;;;;;;;737:439:35;;;;;;;;;;-1:-1:-1;;;;;737:439:35;;;;;;;;;;;;853:262:34;;;;;;;;;;;;-1:-1:-1;;;;;853:262:34;;;;;370:473:31;;;;;;;;;;;;;;;;2928:398:35;;;;;;;;;;;;-1:-1:-1;;;;;2928:398:35;;;;;489:33:7;;;;;;;;;;;;1018:107:30;;;;;;;;;;;;-1:-1:-1;;;;;1018:107:30;;;1229:135:34;;;;;;;;;;;;376:66:27;;;;;;;;;;;;238:20:29;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:29;;;;;;;;;;;;;;;462::7;;;;;;;;;;;;437:379:30;;;;;;;;;;;;-1:-1:-1;;;;;437:379:30;;;;;2667:257:35;;;;;;;;;;;;-1:-1:-1;;;;;2667:257:35;;;;;2301:126;;;;;;;;;;-1:-1:-1;;;;;2301:126:35;;;;;;;;;;834:169:29;;;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;446:96:27;;;;;;;;;;;;-1:-1:-1;;;;;446:96:27;;;514:35:34;;;-1:-1:-1;;;514:35:34;;;;;:::o;437:18:7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1799:183:35:-;-1:-1:-1;;;;;1886:10:35;1878:19;;1866:4;1878:19;;;-1:-1:-1;1878:19:35;;;;;;;;:29;;;;;;;;;;;;;:38;;;1866:4;;1878:29;:19;1922:38;;1878;;1922;;;;;;;;;;;;;-1:-1:-1;1973:4:35;1799:183;;;;:::o;179:26:33:-;;;;:::o;737:439:35:-;819:4;-1:-1:-1;;;;;839:17:35;;;;831:26;;;;;;-1:-1:-1;;;;;881:15:35;;;;;;-1:-1:-1;881:15:35;;;;;;871:25;;;863:34;;;;;;-1:-1:-1;;;;;921:14:35;;;;;;;-1:-1:-1;921:14:35;;;;;;;;936:10;921:26;;;;;;;;;;911:36;;;903:45;;;;;;-1:-1:-1;;;;;973:15:35;;;;;;-1:-1:-1;973:15:35;;;;;;:27;;993:6;973:19;:27::i;:::-;-1:-1:-1;;;;;955:15:35;;;;;;;-1:-1:-1;955:15:35;;;;;;:45;;;;1022:13;;;;;;;:25;;1040:6;1022:17;:25::i;:::-;-1:-1:-1;;;;;1006:13:35;;;;;;;-1:-1:-1;1006:13:35;;;;;;;;:41;;;;1082:14;;;;;-1:-1:-1;1082:14:35;;;;;1097:10;1082:26;;;;;;;;;;;:38;;1113:6;1082:30;:38::i;:::-;-1:-1:-1;;;;;1053:14:35;;;;;;;-1:-1:-1;1053:14:35;;;;;;;;1068:10;1053:26;;;;;;;;;;;:67;;;;1126:28;;;;;;1147:6;;1126:28;;;;;;;;;;;;;-1:-1:-1;1167:4:35;737:439;;;;;:::o;853:262:34:-;654:5:29;;931:4:34;;640:10:29;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;589:15:34;;-1:-1:-1;;;589:15:34;;;;588:16;580:25;;;;;;957:11;;:24;;973:7;957:24;:15;:24;:::i;:::-;943:11;:38;;;-1:-1:-1;;;;;1003:13:34;;;;-1:-1:-1;1003:13:34;;;;;;:26;;1021:7;1003:17;:26::i;:::-;-1:-1:-1;;;;;987:13:34;;;;;;-1:-1:-1;987:13:34;;;;;;;:42;;;;:13;1035:18;;1045:7;;1035:18;;;;;;;;;;;;;-1:-1:-1;;;;;1059:34:34;;1076:1;1059:34;1085:7;1059:34;;;;;;;;;;;;;;-1:-1:-1;1106:4:34;853:262;;;;:::o;370:473:31:-;675:14;425:10;;;417:19;;;;;;473:10;-1:-1:-1;;;;;464:20:31;;;;;-1:-1:-1;464:20:31;;;;;;454:30;;;446:39;;;;;;-1:-1:-1;692:10:31;-1:-1:-1;;;;;731:16:31;;;;;;-1:-1:-1;731:16:31;;;;;;:28;;752:6;731:20;:28::i;:::-;-1:-1:-1;;;;;712:16:31;;;;;;-1:-1:-1;712:16:31;;;;;:47;;;;783:11;:23;;799:6;783:15;:23::i;:::-;769:11;:37;-1:-1:-1;;;;;816:20:31;;;829:6;816:20;;;;;;;;;;;;;;370:473;;:::o;2928:398:35:-;-1:-1:-1;;;;;3047:10:35;3039:19;;3011:4;3039:19;;;-1:-1:-1;3039:19:35;;;;;;;;:29;;;;;;;;;;;;3078:27;;;3074:164;;;-1:-1:-1;;;;;3123:10:35;3115:19;;3147:1;3115:19;;;-1:-1:-1;3115:19:35;;;;;;;;:29;;;;;;;;;;;:33;3074:164;;;3201:30;:8;3214:16;3201:30;:12;:30;:::i;:::-;-1:-1:-1;;;;;3177:10:35;3169:19;;;;;;-1:-1:-1;3169:19:35;;;;;;;;:29;;;;;;;;;:62;3074:164;-1:-1:-1;;;;;3252:10:35;3243:61;;3274:19;;;;-1:-1:-1;3274:19:35;;;;;;;;3243:61;;;3274:29;;;;;;;;;;;;3243:61;;;;;;;;;;;;;;;-1:-1:-1;3317:4:35;;2928:398;-1:-1:-1;;;2928:398:35:o;489:33:7:-;520:2;489:33;:::o;1018:107:30:-;-1:-1:-1;;;;;1104:16:30;1074:15;1104:16;;;-1:-1:-1;1104:16:30;;;;;;;1018:107::o;1229:135:34:-;654:5:29;;1288:4:34;;640:10:29;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;589:15:34;;-1:-1:-1;;;589:15:34;;;;588:16;580:25;;;;;;1300:15;:22;;-1:-1:-1;;1300:22:34;-1:-1:-1;;;1300:22:34;;;1328:14;;;;;;;;;;-1:-1:-1;1355:4:34;1229:135;:::o;376:66:27:-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;431:5:27;;-1:-1:-1;;;;;431:5:27;418:19;238:20:29;;;-1:-1:-1;;;;;238:20:29;;:::o;462::7:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;437:379:30;500:4;-1:-1:-1;;;;;520:17:30;;;;512:26;;;;;;571:10;-1:-1:-1;;;;;562:20:30;;;;;-1:-1:-1;562:20:30;;;;;;552:30;;;544:39;;;;;;685:10;-1:-1:-1;;;;;676:20:30;;;;;-1:-1:-1;676:20:30;;;;;;:32;;701:6;676:24;:32::i;:::-;-1:-1:-1;;;;;662:10:30;653:20;;;;;;-1:-1:-1;653:20:30;;;;;;:55;;;;730:13;;;;;;;:25;;748:6;730:17;:25::i;:::-;-1:-1:-1;;;;;714:13:30;;;;;;;-1:-1:-1;714:13:30;;;;;;;:41;;;;:13;770:10;761:33;;;;;;787:6;;761:33;;;;;;;;;;;;;-1:-1:-1;807:4:30;437:379;;;;:::o;2667:257:35:-;-1:-1:-1;;;;;2797:10:35;2789:19;;2745:4;2789:19;;;-1:-1:-1;2789:19:35;;;;;;;;:29;;;;;;;;;;;;:46;;2823:11;2789:33;:46::i;:::-;-1:-1:-1;;;;;2765:10:35;2757:19;;;;;;-1:-1:-1;2757:19:35;;;;;;;;:29;;;;;;;;;;;;;;:78;;;:29;;:19;;2841:61;;2757:78;2841:61;;;;;;;;;;;;;-1:-1:-1;2915:4:35;2667:257;;;;:::o;2301:126::-;-1:-1:-1;;;;;2397:15:35;;;2375:7;2397:15;;;-1:-1:-1;2397:15:35;;;;;;;;:25;;;;;;;;;;;;;2301:126::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;446:96:27:-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;513:24:27;;;584:110:28;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;698:129::-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:28:o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"zeppelin-solidity/contracts/token/MintableToken.sol\";\r\nimport \"zeppelin-solidity/contracts/token/BurnableToken.sol\";\r\nimport \"zeppelin-solidity/contracts/lifecycle/Destructible.sol\";\r\n\r\n\r\n\r\n/**\r\n * @title DAOToken, base on zeppelin contract.\r\n * @dev ERC20 comptible token. It is a mintable, destructable, burnable token.\r\n */\r\n\r\ncontract DAOToken is MintableToken,Destructible,BurnableToken {\r\n\r\n string public name;\r\n string public symbol;\r\n uint public constant DECIMAL = 18;\r\n\r\n /**\r\n * @dev the constructor takes a token name and a symbol\r\n */\r\n function DAOToken(string _name, string _symbol) public {\r\n name = _name;\r\n symbol = _symbol;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\controller\\DAOToken.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/DAOToken.sol", + "exportedSymbols": { + "DAOToken": [ + 4192 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 4159, + "name": "PragmaDirective", + "src": "0:24:7" + }, + { + "attributes": { + "SourceUnit": 9455, + "absolutePath": "zeppelin-solidity/contracts/token/MintableToken.sol", + "file": "zeppelin-solidity/contracts/token/MintableToken.sol", + "scope": 4193, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4160, + "name": "ImportDirective", + "src": "28:61:7" + }, + { + "attributes": { + "SourceUnit": 9288, + "absolutePath": "zeppelin-solidity/contracts/token/BurnableToken.sol", + "file": "zeppelin-solidity/contracts/token/BurnableToken.sol", + "scope": 4193, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4161, + "name": "ImportDirective", + "src": "91:61:7" + }, + { + "attributes": { + "SourceUnit": 8987, + "absolutePath": "zeppelin-solidity/contracts/lifecycle/Destructible.sol", + "file": "zeppelin-solidity/contracts/lifecycle/Destructible.sol", + "scope": 4193, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4162, + "name": "ImportDirective", + "src": "154:64:7" + }, + { + "attributes": { + "contractDependencies": [ + 8986, + 9140, + 9226, + 9287, + 9330, + 9359, + 9454, + 9700 + ], + "contractKind": "contract", + "documentation": "@title DAOToken, base on zeppelin contract.\r\n@dev ERC20 comptible token. It is a mintable, destructable, burnable token.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 4192, + 9287, + 8986, + 9454, + 9140, + 9700, + 9226, + 9330, + 9359 + ], + "name": "DAOToken", + "scope": 4193 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "MintableToken", + "referencedDeclaration": 9454, + "type": "contract MintableToken" + }, + "id": 4163, + "name": "UserDefinedTypeName", + "src": "387:13:7" + } + ], + "id": 4164, + "name": "InheritanceSpecifier", + "src": "387:13:7" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Destructible", + "referencedDeclaration": 8986, + "type": "contract Destructible" + }, + "id": 4165, + "name": "UserDefinedTypeName", + "src": "401:12:7" + } + ], + "id": 4166, + "name": "InheritanceSpecifier", + "src": "401:12:7" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "BurnableToken", + "referencedDeclaration": 9287, + "type": "contract BurnableToken" + }, + "id": 4167, + "name": "UserDefinedTypeName", + "src": "414:13:7" + } + ], + "id": 4168, + "name": "InheritanceSpecifier", + "src": "414:13:7" + }, + { + "attributes": { + "constant": false, + "name": "name", + "scope": 4192, + "stateVariable": true, + "storageLocation": "default", + "type": "string storage ref", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string storage pointer" + }, + "id": 4169, + "name": "ElementaryTypeName", + "src": "437:6:7" + } + ], + "id": 4170, + "name": "VariableDeclaration", + "src": "437:18:7" + }, + { + "attributes": { + "constant": false, + "name": "symbol", + "scope": 4192, + "stateVariable": true, + "storageLocation": "default", + "type": "string storage ref", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string storage pointer" + }, + "id": 4171, + "name": "ElementaryTypeName", + "src": "462:6:7" + } + ], + "id": 4172, + "name": "VariableDeclaration", + "src": "462:20:7" + }, + { + "attributes": { + "constant": true, + "name": "DECIMAL", + "scope": 4192, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4173, + "name": "ElementaryTypeName", + "src": "489:4:7" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3138", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 18", + "value": "18" + }, + "id": 4174, + "name": "Literal", + "src": "520:2:7" + } + ], + "id": 4175, + "name": "VariableDeclaration", + "src": "489:33:7" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "DAOToken", + "payable": false, + "scope": 4192, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_name", + "scope": 4191, + "stateVariable": false, + "storageLocation": "default", + "type": "string memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string storage pointer" + }, + "id": 4176, + "name": "ElementaryTypeName", + "src": "628:6:7" + } + ], + "id": 4177, + "name": "VariableDeclaration", + "src": "628:12:7" + }, + { + "attributes": { + "constant": false, + "name": "_symbol", + "scope": 4191, + "stateVariable": false, + "storageLocation": "default", + "type": "string memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string storage pointer" + }, + "id": 4178, + "name": "ElementaryTypeName", + "src": "642:6:7" + } + ], + "id": 4179, + "name": "VariableDeclaration", + "src": "642:14:7" + } + ], + "id": 4180, + "name": "ParameterList", + "src": "627:30:7" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 4181, + "name": "ParameterList", + "src": "665:0:7" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "string storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4170, + "type": "string storage ref", + "value": "name" + }, + "id": 4182, + "name": "Identifier", + "src": "676:4:7" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4177, + "type": "string memory", + "value": "_name" + }, + "id": 4183, + "name": "Identifier", + "src": "683:5:7" + } + ], + "id": 4184, + "name": "Assignment", + "src": "676:12:7" + } + ], + "id": 4185, + "name": "ExpressionStatement", + "src": "676:12:7" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "string storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4172, + "type": "string storage ref", + "value": "symbol" + }, + "id": 4186, + "name": "Identifier", + "src": "699:6:7" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4179, + "type": "string memory", + "value": "_symbol" + }, + "id": 4187, + "name": "Identifier", + "src": "708:7:7" + } + ], + "id": 4188, + "name": "Assignment", + "src": "699:16:7" + } + ], + "id": 4189, + "name": "ExpressionStatement", + "src": "699:16:7" + } + ], + "id": 4190, + "name": "Block", + "src": "665:58:7" + } + ], + "id": 4191, + "name": "FunctionDefinition", + "src": "610:113:7" + } + ], + "id": 4192, + "name": "ContractDefinition", + "src": "366:360:7" + } + ], + "id": 4193, + "name": "SourceUnit", + "src": "0:728:7" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.842Z" +} \ No newline at end of file diff --git a/contracts/Debug.json b/contracts/Debug.json new file mode 100644 index 000000000..24bf5dbcc --- /dev/null +++ b/contracts/Debug.json @@ -0,0 +1,483 @@ +{ + "contractName": "Debug", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "address" + } + ], + "name": "LogAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "int256" + } + ], + "name": "LogInt", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "string" + } + ], + "name": "LogString", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "uint256" + } + ], + "name": "LogUint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bytes" + } + ], + "name": "LogBytes", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bytes32" + } + ], + "name": "LogBytes32", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bool" + } + ], + "name": "LogBool", + "type": "event" + } + ], + "bytecode": "0x60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a72305820f8b5f965f3f3e7fb7f6993ca13d1fbd45e48f9f7906927ec49e529a3ec0fd3380029", + "deployedBytecode": "0x6060604052600080fd00a165627a7a72305820f8b5f965f3f3e7fb7f6993ca13d1fbd45e48f9f7906927ec49e529a3ec0fd3380029", + "sourceMap": "192:252:12:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "192:252:12:-;;;;;", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"zeppelin-solidity/test/helpers/StandardTokenMock.sol\";\r\n\r\n/*\r\n A contract you can inherit from that has some useful Events to print statements.\r\n*/\r\n\r\n\r\ncontract Debug {\r\n event LogAddress(address _msg);\r\n event LogInt(int _msg);\r\n event LogString(string _msg);\r\n event LogUint(uint _msg);\r\n event LogBytes(bytes _msg);\r\n event LogBytes32(bytes32 _msg);\r\n event LogBool(bool _msg);\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\test\\Debug.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/test/Debug.sol", + "exportedSymbols": { + "Debug": [ + 4580 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 4550, + "name": "PragmaDirective", + "src": "0:24:12" + }, + { + "attributes": { + "SourceUnit": 9725, + "absolutePath": "zeppelin-solidity/test/helpers/StandardTokenMock.sol", + "file": "zeppelin-solidity/test/helpers/StandardTokenMock.sol", + "scope": 4581, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4551, + "name": "ImportDirective", + "src": "28:62:12" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 4580 + ], + "name": "Debug", + "scope": 4581 + }, + "children": [ + { + "attributes": { + "anonymous": false, + "name": "LogAddress" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_msg", + "scope": 4555, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4552, + "name": "ElementaryTypeName", + "src": "231:7:12" + } + ], + "id": 4553, + "name": "VariableDeclaration", + "src": "231:12:12" + } + ], + "id": 4554, + "name": "ParameterList", + "src": "230:14:12" + } + ], + "id": 4555, + "name": "EventDefinition", + "src": "214:31:12" + }, + { + "attributes": { + "anonymous": false, + "name": "LogInt" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_msg", + "scope": 4559, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 4556, + "name": "ElementaryTypeName", + "src": "264:3:12" + } + ], + "id": 4557, + "name": "VariableDeclaration", + "src": "264:8:12" + } + ], + "id": 4558, + "name": "ParameterList", + "src": "263:10:12" + } + ], + "id": 4559, + "name": "EventDefinition", + "src": "251:23:12" + }, + { + "attributes": { + "anonymous": false, + "name": "LogString" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_msg", + "scope": 4563, + "stateVariable": false, + "storageLocation": "default", + "type": "string memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string storage pointer" + }, + "id": 4560, + "name": "ElementaryTypeName", + "src": "296:6:12" + } + ], + "id": 4561, + "name": "VariableDeclaration", + "src": "296:11:12" + } + ], + "id": 4562, + "name": "ParameterList", + "src": "295:13:12" + } + ], + "id": 4563, + "name": "EventDefinition", + "src": "280:29:12" + }, + { + "attributes": { + "anonymous": false, + "name": "LogUint" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_msg", + "scope": 4567, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4564, + "name": "ElementaryTypeName", + "src": "329:4:12" + } + ], + "id": 4565, + "name": "VariableDeclaration", + "src": "329:9:12" + } + ], + "id": 4566, + "name": "ParameterList", + "src": "328:11:12" + } + ], + "id": 4567, + "name": "EventDefinition", + "src": "315:25:12" + }, + { + "attributes": { + "anonymous": false, + "name": "LogBytes" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_msg", + "scope": 4571, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 4568, + "name": "ElementaryTypeName", + "src": "361:5:12" + } + ], + "id": 4569, + "name": "VariableDeclaration", + "src": "361:10:12" + } + ], + "id": 4570, + "name": "ParameterList", + "src": "360:12:12" + } + ], + "id": 4571, + "name": "EventDefinition", + "src": "346:27:12" + }, + { + "attributes": { + "anonymous": false, + "name": "LogBytes32" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_msg", + "scope": 4575, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4572, + "name": "ElementaryTypeName", + "src": "396:7:12" + } + ], + "id": 4573, + "name": "VariableDeclaration", + "src": "396:12:12" + } + ], + "id": 4574, + "name": "ParameterList", + "src": "395:14:12" + } + ], + "id": 4575, + "name": "EventDefinition", + "src": "379:31:12" + }, + { + "attributes": { + "anonymous": false, + "name": "LogBool" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_msg", + "scope": 4579, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4576, + "name": "ElementaryTypeName", + "src": "430:4:12" + } + ], + "id": 4577, + "name": "VariableDeclaration", + "src": "430:9:12" + } + ], + "id": 4578, + "name": "ParameterList", + "src": "429:11:12" + } + ], + "id": 4579, + "name": "EventDefinition", + "src": "416:25:12" + } + ], + "id": 4580, + "name": "ContractDefinition", + "src": "192:252:12" + } + ], + "id": 4581, + "name": "SourceUnit", + "src": "0:446:12" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.859Z" +} \ No newline at end of file diff --git a/contracts/Destructible.json b/contracts/Destructible.json new file mode 100644 index 000000000..366677279 --- /dev/null +++ b/contracts/Destructible.json @@ -0,0 +1,521 @@ +{ + "contractName": "Destructible", + "abi": [ + { + "constant": false, + "inputs": [], + "name": "destroy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_recipient", + "type": "address" + } + ], + "name": "destroyAndSend", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": true, + "stateMutability": "payable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x606060405260008054600160a060020a033316600160a060020a031990911617905561020e806100306000396000f3006060604052600436106100615763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166383197ef081146100665780638da5cb5b1461007b578063f2fde38b146100aa578063f5074f41146100c9575b600080fd5b341561007157600080fd5b6100796100e8565b005b341561008657600080fd5b61008e610111565b604051600160a060020a03909116815260200160405180910390f35b34156100b557600080fd5b610079600160a060020a0360043516610120565b34156100d457600080fd5b610079600160a060020a03600435166101bb565b60005433600160a060020a0390811691161461010357600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60005433600160a060020a0390811691161461013b57600080fd5b600160a060020a038116151561015057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146101d657600080fd5b80600160a060020a0316ff00a165627a7a723058208125970db941d847a352cd91c1712b4d00b57d612c7eaf57614aa6269daccb790029", + "deployedBytecode": "0x6060604052600436106100615763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166383197ef081146100665780638da5cb5b1461007b578063f2fde38b146100aa578063f5074f41146100c9575b600080fd5b341561007157600080fd5b6100796100e8565b005b341561008657600080fd5b61008e610111565b604051600160a060020a03909116815260200160405180910390f35b34156100b557600080fd5b610079600160a060020a0360043516610120565b34156100d457600080fd5b610079600160a060020a03600435166101bb565b60005433600160a060020a0390811691161461010357600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60005433600160a060020a0390811691161461013b57600080fd5b600160a060020a038116151561015057600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146101d657600080fd5b80600160a060020a0316ff00a165627a7a723058208125970db941d847a352cd91c1712b4d00b57d612c7eaf57614aa6269daccb790029", + "sourceMap": "198:346:27:-;;;501:5:29;:18;;-1:-1:-1;;;;;509:10:29;501:18;-1:-1:-1;;;;;;501:18:29;;;;;;198:346:27;;;;;;", + "deployedSourceMap": "198:346:27:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;376:66;;;;;;;;;;;;;;238:20:29;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:29;;;;;;;;;;;;;;834:169;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;446:96:27;;;;;;;;;;-1:-1:-1;;;;;446:96:27;;;;;376:66;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;431:5:27;;-1:-1:-1;;;;;431:5:27;418:19;238:20:29;;;-1:-1:-1;;;;;238:20:29;;:::o;834:169::-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;446:96:27:-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;526:10:27;-1:-1:-1;;;;;513:24:27;", + "source": "pragma solidity ^0.4.18;\n\n\nimport \"../ownership/Ownable.sol\";\n\n\n/**\n * @title Destructible\n * @dev Base contract that can be destroyed by owner. All funds in contract will be sent to the owner.\n */\ncontract Destructible is Ownable {\n\n function Destructible() public payable { }\n\n /**\n * @dev Transfers the current balance to the owner and terminates the contract.\n */\n function destroy() onlyOwner public {\n selfdestruct(owner);\n }\n\n function destroyAndSend(address _recipient) onlyOwner public {\n selfdestruct(_recipient);\n }\n}\n", + "sourcePath": "zeppelin-solidity/contracts/lifecycle/Destructible.sol", + "ast": { + "attributes": { + "absolutePath": "zeppelin-solidity/contracts/lifecycle/Destructible.sol", + "exportedSymbols": { + "Destructible": [ + 8986 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 8956, + "name": "PragmaDirective", + "src": "0:24:27" + }, + { + "attributes": { + "SourceUnit": 9141, + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "../ownership/Ownable.sol", + "scope": 8987, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 8957, + "name": "ImportDirective", + "src": "27:34:27" + }, + { + "attributes": { + "contractDependencies": [ + 9140 + ], + "contractKind": "contract", + "documentation": "@title Destructible\n@dev Base contract that can be destroyed by owner. All funds in contract will be sent to the owner.", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 8986, + 9140 + ], + "name": "Destructible", + "scope": 8987 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 9140, + "type": "contract Ownable" + }, + "id": 8958, + "name": "UserDefinedTypeName", + "src": "223:7:27" + } + ], + "id": 8959, + "name": "InheritanceSpecifier", + "src": "223:7:27" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Destructible", + "payable": true, + "scope": 8986, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 8960, + "name": "ParameterList", + "src": "257:2:27" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 8961, + "name": "ParameterList", + "src": "275:0:27" + }, + { + "attributes": { + "statements": [ + null + ] + }, + "children": [], + "id": 8962, + "name": "Block", + "src": "275:3:27" + } + ], + "id": 8963, + "name": "FunctionDefinition", + "src": "236:42:27" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "destroy", + "payable": false, + "scope": 8986, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 8964, + "name": "ParameterList", + "src": "392:2:27" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 8967, + "name": "ParameterList", + "src": "412:0:27" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 8965, + "name": "Identifier", + "src": "395:9:27" + } + ], + "id": 8966, + "name": "ModifierInvocation", + "src": "395:9:27" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9742, + "type": "function (address)", + "value": "selfdestruct" + }, + "id": 8968, + "name": "Identifier", + "src": "418:12:27" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9088, + "type": "address", + "value": "owner" + }, + "id": 8969, + "name": "Identifier", + "src": "431:5:27" + } + ], + "id": 8970, + "name": "FunctionCall", + "src": "418:19:27" + } + ], + "id": 8971, + "name": "ExpressionStatement", + "src": "418:19:27" + } + ], + "id": 8972, + "name": "Block", + "src": "412:30:27" + } + ], + "id": 8973, + "name": "FunctionDefinition", + "src": "376:66:27" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "destroyAndSend", + "payable": false, + "scope": 8986, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_recipient", + "scope": 8985, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8974, + "name": "ElementaryTypeName", + "src": "470:7:27" + } + ], + "id": 8975, + "name": "VariableDeclaration", + "src": "470:18:27" + } + ], + "id": 8976, + "name": "ParameterList", + "src": "469:20:27" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 8979, + "name": "ParameterList", + "src": "507:0:27" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 8977, + "name": "Identifier", + "src": "490:9:27" + } + ], + "id": 8978, + "name": "ModifierInvocation", + "src": "490:9:27" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9742, + "type": "function (address)", + "value": "selfdestruct" + }, + "id": 8980, + "name": "Identifier", + "src": "513:12:27" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8975, + "type": "address", + "value": "_recipient" + }, + "id": 8981, + "name": "Identifier", + "src": "526:10:27" + } + ], + "id": 8982, + "name": "FunctionCall", + "src": "513:24:27" + } + ], + "id": 8983, + "name": "ExpressionStatement", + "src": "513:24:27" + } + ], + "id": 8984, + "name": "Block", + "src": "507:35:27" + } + ], + "id": 8985, + "name": "FunctionDefinition", + "src": "446:96:27" + } + ], + "id": 8986, + "name": "ContractDefinition", + "src": "198:346:27" + } + ], + "id": 8987, + "name": "SourceUnit", + "src": "0:545:27" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.920Z" +} \ No newline at end of file diff --git a/contracts/ERC20.json b/contracts/ERC20.json new file mode 100644 index 000000000..8bca84c94 --- /dev/null +++ b/contracts/ERC20.json @@ -0,0 +1,745 @@ +{ + "contractName": "ERC20", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "spender", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "from", + "type": "address" + }, + { + "name": "to", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": 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" + }, + { + "constant": true, + "inputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "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" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.18;\n\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) public view returns (uint256);\n function transferFrom(address from, address to, uint256 value) public returns (bool);\n function approve(address spender, uint256 value) public returns (bool);\n event Approval(address indexed owner, address indexed spender, uint256 value);\n}\n", + "sourcePath": "zeppelin-solidity\\contracts\\token\\ERC20.sol", + "ast": { + "attributes": { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20.sol", + "exportedSymbols": { + "ERC20": [ + 9330 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 9289, + "name": "PragmaDirective", + "src": "0:24:32" + }, + { + "attributes": { + "SourceUnit": 9360, + "absolutePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", + "file": "./ERC20Basic.sol", + "scope": 9331, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 9290, + "name": "ImportDirective", + "src": "27:26:32" + }, + { + "attributes": { + "contractDependencies": [ + 9359 + ], + "contractKind": "contract", + "documentation": "@title ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/20", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 9330, + 9359 + ], + "name": "ERC20", + "scope": 9331 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20Basic", + "referencedDeclaration": 9359, + "type": "contract ERC20Basic" + }, + "id": 9291, + "name": "UserDefinedTypeName", + "src": "163:10:32" + } + ], + "id": 9292, + "name": "InheritanceSpecifier", + "src": "163:10:32" + }, + { + "attributes": { + "body": null, + "constant": true, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "allowance", + "payable": false, + "scope": 9330, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "owner", + "scope": 9301, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9293, + "name": "ElementaryTypeName", + "src": "197:7:32" + } + ], + "id": 9294, + "name": "VariableDeclaration", + "src": "197:13:32" + }, + { + "attributes": { + "constant": false, + "name": "spender", + "scope": 9301, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9295, + "name": "ElementaryTypeName", + "src": "212:7:32" + } + ], + "id": 9296, + "name": "VariableDeclaration", + "src": "212:15:32" + } + ], + "id": 9297, + "name": "ParameterList", + "src": "196:32:32" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9301, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9298, + "name": "ElementaryTypeName", + "src": "250:7:32" + } + ], + "id": 9299, + "name": "VariableDeclaration", + "src": "250:7:32" + } + ], + "id": 9300, + "name": "ParameterList", + "src": "249:9:32" + } + ], + "id": 9301, + "name": "FunctionDefinition", + "src": "178:81:32" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transferFrom", + "payable": false, + "scope": 9330, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "from", + "scope": 9312, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9302, + "name": "ElementaryTypeName", + "src": "284:7:32" + } + ], + "id": 9303, + "name": "VariableDeclaration", + "src": "284:12:32" + }, + { + "attributes": { + "constant": false, + "name": "to", + "scope": 9312, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9304, + "name": "ElementaryTypeName", + "src": "298:7:32" + } + ], + "id": 9305, + "name": "VariableDeclaration", + "src": "298:10:32" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 9312, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9306, + "name": "ElementaryTypeName", + "src": "310:7:32" + } + ], + "id": 9307, + "name": "VariableDeclaration", + "src": "310:13:32" + } + ], + "id": 9308, + "name": "ParameterList", + "src": "283:41:32" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9312, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9309, + "name": "ElementaryTypeName", + "src": "341:4:32" + } + ], + "id": 9310, + "name": "VariableDeclaration", + "src": "341:4:32" + } + ], + "id": 9311, + "name": "ParameterList", + "src": "340:6:32" + } + ], + "id": 9312, + "name": "FunctionDefinition", + "src": "262:85:32" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "approve", + "payable": false, + "scope": 9330, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "spender", + "scope": 9321, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9313, + "name": "ElementaryTypeName", + "src": "367:7:32" + } + ], + "id": 9314, + "name": "VariableDeclaration", + "src": "367:15:32" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 9321, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9315, + "name": "ElementaryTypeName", + "src": "384:7:32" + } + ], + "id": 9316, + "name": "VariableDeclaration", + "src": "384:13:32" + } + ], + "id": 9317, + "name": "ParameterList", + "src": "366:32:32" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9321, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9318, + "name": "ElementaryTypeName", + "src": "415:4:32" + } + ], + "id": 9319, + "name": "VariableDeclaration", + "src": "415:4:32" + } + ], + "id": 9320, + "name": "ParameterList", + "src": "414:6:32" + } + ], + "id": 9321, + "name": "FunctionDefinition", + "src": "350:71:32" + }, + { + "attributes": { + "anonymous": false, + "name": "Approval" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "owner", + "scope": 9329, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9322, + "name": "ElementaryTypeName", + "src": "439:7:32" + } + ], + "id": 9323, + "name": "VariableDeclaration", + "src": "439:21:32" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "spender", + "scope": 9329, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9324, + "name": "ElementaryTypeName", + "src": "462:7:32" + } + ], + "id": 9325, + "name": "VariableDeclaration", + "src": "462:23:32" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 9329, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9326, + "name": "ElementaryTypeName", + "src": "487:7:32" + } + ], + "id": 9327, + "name": "VariableDeclaration", + "src": "487:13:32" + } + ], + "id": 9328, + "name": "ParameterList", + "src": "438:63:32" + } + ], + "id": 9329, + "name": "EventDefinition", + "src": "424:78:32" + } + ], + "id": 9330, + "name": "ContractDefinition", + "src": "145:359:32" + } + ], + "id": 9331, + "name": "SourceUnit", + "src": "0:505:32" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.943Z" +} \ No newline at end of file diff --git a/contracts/ERC20Basic.json b/contracts/ERC20Basic.json new file mode 100644 index 000000000..f659c7f01 --- /dev/null +++ b/contracts/ERC20Basic.json @@ -0,0 +1,474 @@ +{ + "contractName": "ERC20Basic", + "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": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.18;\n\n\n/**\n * @title ERC20Basic\n * @dev Simpler version of ERC20 interface\n * @dev see https://github.com/ethereum/EIPs/issues/179\n */\ncontract ERC20Basic {\n uint256 public totalSupply;\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": "zeppelin-solidity\\contracts\\token\\ERC20Basic.sol", + "ast": { + "attributes": { + "absolutePath": "zeppelin-solidity/contracts/token/ERC20Basic.sol", + "exportedSymbols": { + "ERC20Basic": [ + 9359 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 9332, + "name": "PragmaDirective", + "src": "0:24:33" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": "@title ERC20Basic\n@dev Simpler version of ERC20 interface\n@dev see https://github.com/ethereum/EIPs/issues/179", + "fullyImplemented": false, + "linearizedBaseContracts": [ + 9359 + ], + "name": "ERC20Basic", + "scope": 9360 + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "totalSupply", + "scope": 9359, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9333, + "name": "ElementaryTypeName", + "src": "179:7:33" + } + ], + "id": 9334, + "name": "VariableDeclaration", + "src": "179:26:33" + }, + { + "attributes": { + "body": null, + "constant": true, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "balanceOf", + "payable": false, + "scope": 9359, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "who", + "scope": 9341, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9335, + "name": "ElementaryTypeName", + "src": "228:7:33" + } + ], + "id": 9336, + "name": "VariableDeclaration", + "src": "228:11:33" + } + ], + "id": 9337, + "name": "ParameterList", + "src": "227:13:33" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9341, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9338, + "name": "ElementaryTypeName", + "src": "262:7:33" + } + ], + "id": 9339, + "name": "VariableDeclaration", + "src": "262:7:33" + } + ], + "id": 9340, + "name": "ParameterList", + "src": "261:9:33" + } + ], + "id": 9341, + "name": "FunctionDefinition", + "src": "209:62:33" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transfer", + "payable": false, + "scope": 9359, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "to", + "scope": 9350, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9342, + "name": "ElementaryTypeName", + "src": "292:7:33" + } + ], + "id": 9343, + "name": "VariableDeclaration", + "src": "292:10:33" + }, + { + "attributes": { + "constant": false, + "name": "value", + "scope": 9350, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9344, + "name": "ElementaryTypeName", + "src": "304:7:33" + } + ], + "id": 9345, + "name": "VariableDeclaration", + "src": "304:13:33" + } + ], + "id": 9346, + "name": "ParameterList", + "src": "291:27:33" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9350, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9347, + "name": "ElementaryTypeName", + "src": "335:4:33" + } + ], + "id": 9348, + "name": "VariableDeclaration", + "src": "335:4:33" + } + ], + "id": 9349, + "name": "ParameterList", + "src": "334:6:33" + } + ], + "id": 9350, + "name": "FunctionDefinition", + "src": "274:67:33" + }, + { + "attributes": { + "anonymous": false, + "name": "Transfer" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "from", + "scope": 9358, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9351, + "name": "ElementaryTypeName", + "src": "359:7:33" + } + ], + "id": 9352, + "name": "VariableDeclaration", + "src": "359:20:33" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "to", + "scope": 9358, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9353, + "name": "ElementaryTypeName", + "src": "381:7:33" + } + ], + "id": 9354, + "name": "VariableDeclaration", + "src": "381:18:33" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "value", + "scope": 9358, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9355, + "name": "ElementaryTypeName", + "src": "401:7:33" + } + ], + "id": 9356, + "name": "VariableDeclaration", + "src": "401:13:33" + } + ], + "id": 9357, + "name": "ParameterList", + "src": "358:57:33" + } + ], + "id": 9358, + "name": "EventDefinition", + "src": "344:72:33" + } + ], + "id": 9359, + "name": "ContractDefinition", + "src": "155:263:33" + } + ], + "id": 9360, + "name": "SourceUnit", + "src": "0:419:33" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.943Z" +} \ No newline at end of file diff --git a/contracts/EmergentVoteScheme.json b/contracts/EmergentVoteScheme.json new file mode 100644 index 000000000..ee9eb0f6c --- /dev/null +++ b/contracts/EmergentVoteScheme.json @@ -0,0 +1,24102 @@ +{ + "contractName": "EmergentVoteScheme", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "organizationsParameters", + "outputs": [ + { + "name": "reputationSystem", + "type": "address" + }, + { + "name": "boostToken", + "type": "address" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "attentionBandwidth", + "type": "uint256" + }, + { + "name": "minBoostTimeFrame", + "type": "uint256" + }, + { + "name": "maxBoostTimeFrame", + "type": "uint256" + }, + { + "name": "minBoost", + "type": "uint256" + }, + { + "name": "allowOwner", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_idsArray", + "type": "bytes32[]" + } + ], + "name": "findMinScore", + "outputs": [ + { + "name": "index", + "type": "uint256" + }, + { + "name": "min", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "voteInfo", + "outputs": [ + { + "name": "", + "type": "uint256[2]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "moveTopAwaitingBoostMode", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_idsArray", + "type": "bytes32[]" + } + ], + "name": "findMaxScore", + "outputs": [ + { + "name": "index", + "type": "uint256" + }, + { + "name": "max", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "proposals", + "outputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "avatar", + "type": "address" + }, + { + "name": "numOfChoices", + "type": "uint256" + }, + { + "name": "executable", + "type": "address" + }, + { + "name": "paramsHash", + "type": "bytes32" + }, + { + "name": "totalVotes", + "type": "uint256" + }, + { + "name": "opened", + "type": "bool" + }, + { + "name": "isBoostModeActive", + "type": "bool" + }, + { + "name": "isAwaitingBoost", + "type": "bool" + }, + { + "name": "closingTime", + "type": "uint256" + }, + { + "name": "boostedFunds", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "ownerVote", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "cancelProposal", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "proposalScore", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_reputationSystem", + "type": "address" + }, + { + "name": "_boostToken", + "type": "address" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_attentionBandwidth", + "type": "uint256" + }, + { + "name": "_minBoostTimeFrame", + "type": "uint256" + }, + { + "name": "_maxBoostTimeFrame", + "type": "uint256" + }, + { + "name": "_minBoost", + "type": "uint256" + }, + { + "name": "_allowOwner", + "type": "bool" + } + ], + "name": "setOrgParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "proposalsParameters", + "outputs": [ + { + "name": "precReq", + "type": "uint256" + }, + { + "name": "quorum", + "type": "uint256" + }, + { + "name": "boostTimeFrame", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizations", + "outputs": [ + { + "name": "isRegistered", + "type": "bool" + }, + { + "name": "boostedProposals", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "proposalStatus", + "outputs": [ + { + "name": "", + "type": "uint256[13]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_numOfChoices", + "type": "uint256" + }, + { + "name": "_paramsHash", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_executable", + "type": "address" + } + ], + "name": "propose", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "MAX_NUM_OF_CHOICES", + "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": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "cancelVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + } + ], + "name": "vote", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getNumberOfChoices", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + }, + { + "name": "_rep", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + } + ], + "name": "voteWithSpecifiedAmounts", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_reputationSystem", + "type": "address" + }, + { + "name": "_boostToken", + "type": "address" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_attentionBandwidth", + "type": "uint256" + }, + { + "name": "_minBoostTimeFrame", + "type": "uint256" + }, + { + "name": "_maxBoostTimeFrame", + "type": "uint256" + }, + { + "name": "_minBoost", + "type": "uint256" + }, + { + "name": "_allowOwner", + "type": "bool" + } + ], + "name": "getOrgParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "isVotable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_precReq", + "type": "uint256" + }, + { + "name": "_quorum", + "type": "uint256" + }, + { + "name": "_boostTimeFrame", + "type": "uint256" + } + ], + "name": "getProposalParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_precReq", + "type": "uint256" + }, + { + "name": "_quorum", + "type": "uint256" + }, + { + "name": "_boostTimeFrame", + "type": "uint256" + } + ], + "name": "setProposalParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_idsArray", + "type": "bytes32[]" + }, + { + "name": "_id", + "type": "bytes32" + } + ], + "name": "findInArray", + "outputs": [ + { + "name": "isFound", + "type": "bool" + }, + { + "name": "index", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "hashedParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_boostValue", + "type": "uint256" + } + ], + "name": "boostProposal", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_proposer", + "type": "address" + }, + { + "indexed": false, + "name": "_paramsHash", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogCancelProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_decision", + "type": "uint256" + } + ], + "name": "LogExecuteProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_voter", + "type": "address" + }, + { + "indexed": false, + "name": "_vote", + "type": "uint256" + }, + { + "indexed": false, + "name": "_reputation", + "type": "uint256" + }, + { + "indexed": false, + "name": "_isOwnerVote", + "type": "bool" + } + ], + "name": "LogVoteProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_voter", + "type": "address" + } + ], + "name": "LogCancelVoting", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x606060405234156200001057600080fd5b6040516060806200289e83398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617815590925062000070915084908490849064010000000062000079810262000f041704565b505050620000cd565b60005433600160a060020a039081169116146200009557600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b6127c180620000dd6000396000f30060606040526004361061019d5763ffffffff60e060020a600035041663069af5ee81146101a25780630a6c81a61461020d578063119ce91b1461027457806319bbc495146102ce5780631fa085ea146102ef57806332ed5b121461033e578063339e23d1146103c257806337376ca8146103fb5780633741e7ee1461041157806338af3eed146104395780634345a6101461046857806347686c8914610494578063504c9317146104d05780635a1f74061461050a57806379a1c1f61461054357806388737b5e146105745780638d22651e1461059f5780638da5cb5b146105b257806390be003c146105c55780639525c0cc146105e45780639ef1204c146105fa578063a003651d14610613578063ac5d874514610629578063aff6058a14610648578063c083510614610684578063c3c5a5471461069a578063dc268955146106b9578063dcec6c34146106d5578063ddca3f43146106f1578063e1758bd814610704578063e751f27114610717578063ec44deaf1461072d578063f2fde38b1461077e578063f98e87ba1461079d578063fcbb9cc7146107b0575b600080fd5b34156101ad57600080fd5b6101b86004356107c9565b604051600160a060020a0398891681529688166020880152949096166040808701919091526060860193909352608085019190915260a084015260c0830193909352151560e082015261010001905180910390f35b341561021857600080fd5b61025c600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061082095505050505050565b60405191825260208201526040908101905180910390f35b341561027f57600080fd5b610296600435600160a060020a0360243516610876565b6040518082604080838360005b838110156102bb5780820151838201526020016102a3565b5050505090500191505060405180910390f35b34156102d957600080fd5b6102ed600160a060020a03600435166108ea565b005b34156102fa57600080fd5b61025c6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610ac895505050505050565b341561034957600080fd5b610354600435610b09565b604051600160a060020a039b8c168152998b1660208b01526040808b0199909952969099166060890152608088019490945260a0870192909252151560c0860152151560e0850152151561010084015261012083019390935261014082019290925261016001905180910390f35b34156103cd57600080fd5b6103e7600435602435600160a060020a0360443516610b7a565b604051901515815260200160405180910390f35b341561040657600080fd5b6103e7600435610c29565b341561041c57600080fd5b610427600435610e20565b60405190815260200160405180910390f35b341561044457600080fd5b61044c610ef5565b604051600160a060020a03909116815260200160405180910390f35b341561047357600080fd5b6102ed600160a060020a036004358116906024359060443516606435610f04565b341561049f57600080fd5b610427600160a060020a036004358116906024358116906044351660643560843560a43560c43560e4351515610f57565b34156104db57600080fd5b6104e6600435611084565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561051557600080fd5b610529600160a060020a03600435166110a5565b604051911515825260208201526040908101905180910390f35b341561054e57600080fd5b6105596004356110c4565b60405180826101a080838360008151838201526020016102a3565b341561057f57600080fd5b610427600435602435600160a060020a036044358116906064351661114e565b34156105aa57600080fd5b610427611383565b34156105bd57600080fd5b61044c611388565b34156105d057600080fd5b6102ed600160a060020a0360043516611397565b34156105ef57600080fd5b6102ed6004356114c0565b341561060557600080fd5b6103e76004356024356114f0565b341561061e57600080fd5b610427600435611527565b341561063457600080fd5b6103e760043560243560443560643561153c565b341561065357600080fd5b610427600160a060020a036004358116906024358116906044351660643560843560a43560c43560e4351515611574565b341561068f57600080fd5b6103e7600435611614565b34156106a557600080fd5b6103e7600160a060020a036004351661162c565b34156106c457600080fd5b61042760043560243560443561164a565b34156106e057600080fd5b61042760043560243560443561167b565b34156106fc57600080fd5b61042761170f565b341561070f57600080fd5b61044c611715565b341561072257600080fd5b6103e7600435611724565b341561073857600080fd5b61052960046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350611bd892505050565b341561078957600080fd5b6102ed600160a060020a0360043516611c1f565b34156107a857600080fd5b610427611cad565b34156107bb57600080fd5b6102ed600435602435611cb3565b600760208190526000918252604090912080546001820154600283015460038401546004850154600586015460068701549690970154600160a060020a039586169794861696939095169491939092909160ff1688565b600080805b8351811015610870578161084d85838151811061083e57fe5b90602001906020020151610e20565b10156108685780925061086584828151811061083e57fe5b91505b600101610825565b50915091565b61087e612653565b610886612679565b6000848152600960209081526040808320600160a060020a03871684526007019091529081902090805190810160409081528254825260019092015460208201529150805190810160405280825181526020018260200151905291505b5092915050565b60006108f4612690565b6000808080600160a060020a038716151561090e57600080fd5b61091787611e85565b60008181526007602052604090819020919750610100905190810160409081528254600160a060020a03908116835260018401548116602080850191909152600285015482168385015260038501546060850190815260048601546080860152600586015460a086015260068087015460c087015260079096015460ff16151560e0860152918c16600090815294905292209096509450516001850154106109be57610abf565b600284015415156109ce57610abf565b600180850180549091019055600284018054610a379190602080820201604051908101604052809291908181526020018280548015610a2d57602002820191906000526020600020905b81548152600190910190602001808311610a18575b5050505050610ac8565b5080935050600960008560020185815481101515610a5157fe5b6000918252602080832090910154835282810193909352604091820181206008808201805462ff00001961ff0019909116610100171690556004820154835290935220600201549092509050610aad438263ffffffff611f6216565b6009830155610abf6002850184611f71565b50505050505050565b600080805b83518110156108705781610ae685838151811061083e57fe5b1115610b0157809250610afe84828151811061083e57fe5b91505b600101610acd565b6009602081905260009182526040909120805460018201546002830154600384015460048501546005860154600887015497870154600a90970154600160a060020a0396871698958716979496909316949193909260ff80841693610100810482169362010000909104909116918b565b6000838152600960205260408120548190859033600160a060020a03908116911614610ba557600080fd5b600086815260096020526040902060080154869060ff161515610bc757600080fd5b600087815260096020526040902060010154610beb90600160a060020a0316611e85565b6000818152600760208190526040909120015490935060ff161515610c0f57610c1f565b610c1c8787876000611fe4565b93505b5050509392505050565b6000818152600960205260408120548190819081908190869033600160a060020a03908116911614610c5a57600080fd5b600087815260096020526040902060080154879060ff161515610c7c57600080fd5b600088815260096020526040902060010154600160a060020a03169550610ca286611e85565b6000818152600760208190526040909120015490955060ff161515610cca5760009650610e15565b610d4b6006600088600160a060020a0316600160a060020a03168152602001908152602001600020600201805480602002602001604051908101604052809291908181526020018280548015610d4057602002820191906000526020600020905b81548152600190910190602001808311610d2b575b505050505089611bd8565b90945092508315610d7b57600160a060020a0386166000908152600660205260409020610d7b9060020184611f71565b60008881526009602081905260408083208054600160a060020a0319908116825560018201805482169055600282018590556003820180549091169055600481018490556005810184905560088101805462ffffff19169055918201839055600a9091019190915588907fd06f0966987a6526e0c1291838668e5dbcaf062ae68baadf345ff3edd792e8b5905160405180910390a2600196505b505050505050919050565b6000610e2a6126d4565b6000838152600960205260409081902090610160905190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a08201908152600883015460ff808216151560c08501526101008083048216151560e086015262010000909204161515908301526009830154610120830152600a909201546101408201529150610eee90518261014001519063ffffffff6122b116565b9392505050565b600354600160a060020a031681565b60005433600160a060020a03908116911614610f1f57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b600080610f6a8a8a8a8a8a8a8a8a611574565b90506101006040519081016040908152600160a060020a03808d1683528b8116602080850191909152908b1682840152606083018a90526080830189905260a0830188905260c0830187905285151560e0840152600084815260079091522081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a03929092169190911790556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151600791909101805460ff1916911515919091179055509998505050505050505050565b60086020526000908152604090208054600182015460029092015490919083565b6006602052600090815260409020805460019091015460ff9091169082565b6110cc612730565b6000806110d7612730565b6000858152600960205260408120600881015490945060ff166110fb5760006110fe565b60015b60ff1692508282600c60200201525060005b600284015481116111455760008181526006850160205260409020548282600d811061113857fe5b6020020152600101611110565b50949350505050565b6000806111596126d4565b60008711801561116a5750600a8711155b151561117557600080fd5b600160a060020a03851660009081526006602052604090205460ff16151561119c57600080fd5b60008681526008602052604090205415156111b657600080fd5b30600a54604051600160a060020a03929092166c010000000000000000000000000282526014820152603401604051908190039020600a805460019081019091556080830188905260408084018a9052600160a060020a03808916602080870191909152888216606087015233909116855260c0850192909252600083815260099092529020909250819081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a0392909216919091179055604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c082015160088201805460ff191691151591909117905560e082015160088201805461ff0019166101009215158302179055820151600882018054911515620100000262ff0000199092169190911790556101208201518160090155610140820151600a9091015550817f5ac801aedcab27182da435c3657c99a0ca1942beac48b9ae9a9a3f3033ef78dd3388604051600160a060020a03909216825260208201526040908101905180910390a25095945050505050565b600a81565b600054600160a060020a031681565b60006002541180156113c25750600160a060020a03811660009081526005602052604090205460ff16155b1561145b57600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561143f57600080fd5b6102c65a03f1151561145057600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600081815260096020526040902060080154819060ff1615156114e257600080fd5b6114ec82336122dc565b5050565b600082815260096020526040812060080154839060ff16151561151257600080fd5b61151f8484336000611fe4565b949350505050565b60009081526009602052604090206002015490565b600084815260096020526040812060080154859060ff16151561155e57600080fd5b61156a86863387611fe4565b9695505050505050565b6000808989898989898989604051600160a060020a039889166c01000000000000000000000000908102825297891688026014820152959097169095026028850152603c840192909252605c830152607c820152609c8101919091529015157f01000000000000000000000000000000000000000000000000000000000000000260bc82015260bd016040519081900390209a9950505050505050505050565b60009081526009602052604090206008015460ff1690565b600160a060020a031660009081526005602052604090205460ff1690565b6000838383604051808481526020018381526020018281526020019350505050604051809103902090509392505050565b6000806064851115801561168f5750600085115b151561169a57600080fd5b606484111580156116ab5750600084115b15156116b657600080fd5b6116c185858561164a565b90506060604051908101604090815286825260208083018790528183018690526000848152600890915220815181556020820151816001015560408201516002909101555090509392505050565b60025481565b600154600160a060020a031681565b60008060008060006117346126d4565b60008781526009602052604081206008015481908190819081908c9060ff16151561175e57600080fd5b60008d81526009602052604090206001810154909b5061178690600160a060020a0316611e85565b60008181526007602052604080822054929c50600160a060020a03909216916318160ddd919051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156117df57600080fd5b6102c65a03f115156117f057600080fd5b505050604051805160048d01546000908152600860205260409081902054919b509099508c9150610160905190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a082015260088083015460ff808216151560c08501526101008083048216151560e08601526201000090920481161515828501526009850154610120850152600a90940154610140840152908e015491995090041680156118cb57508a600901544310155b15611a7f5760048b015460009081526008602052604090206001015460058c015490965086908a908115156118fc57fe5b0410611a7f57600192505b60028b0154831161194f57600083815260068c0160205260409020548590111561194457600083815260068c016020526040902054945091925082915b600190920191611907565b60008d81526009602081905260408083208054600160a060020a0319908116825560018201805482169055600282018590556003820180549091169055600481018490556005810184905560088101805462ffffff19169055918201839055600a909101919091558d907f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc9086905190815260200160405180910390a28660600151600160a060020a031663310ce4e28e89602001518760006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515611a5a57600080fd5b6102c65a03f11515611a6b57600080fd5b505050604051805190505060019b50611bc8565b600091505b60028b01548211611bc357600082815260068c0160205260409020546064898b0204901115611bb85760008d81526009602081905260408083208054600160a060020a0319908116825560018201805482169055600282018590556003820180549091169055600481018490556005810184905560088101805462ffffff19169055918201839055600a909101919091558d907f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc9085905190815260200160405180910390a28660600151600160a060020a031663310ce4e28e89602001518560006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515611a5a57600080fd5b600190910190611a84565b60009b505b5050505050505050505050919050565b600080805b8451811015611c175783858281518110611bf357fe5b906020019060200201511415611c0f5760018192509250611c17565b600101611bdd565b509250929050565b60005433600160a060020a03908116911614611c3a57600080fd5b600160a060020a0381161515611c4f57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60045481565b600080611cbe612690565b600085815260096020526040902060080154610100900460ff1615611ce257611e7e565b600085815260096020526040902060010154600160a060020a03169250821515611d0b57600080fd5b611d1483611e85565b60008181526007602052604090819020919350610100905190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820190815260079092015460ff16151560e08201529150518411611d9e57fe5b8060200151600160a060020a03166323b872dd3383604001518760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611e1057600080fd5b6102c65a03f11515611e2157600080fd5b505050604051805150506000858152600960205260409020600a0154611e4d908563ffffffff611f6216565b6000868152600960205260409020600a8101919091556008015462010000900460ff1615611e7e57611e7e856123e8565b5050505050565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611ece57600080fd5b6102c65a03f11515611edf57600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611f4157600080fd5b6102c65a03f11515611f5257600080fd5b5050506040518051949350505050565b600082820183811015610eee57fe5b8154600090829011611f7f57fe5b50805b825460001901811015611fce578281600101815481101515611fa057fe5b9060005260206000209001548382815481101515611fba57fe5b600091825260209091200155600101611f82565b8254611fde84600019830161274b565b50505050565b6000806000611ff1612690565b60008881526009602052604081206001810154909450819061201b90600160a060020a0316611e85565b60008181526007602052604090819020919550610100905190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460a0820152600682015460c082015260079091015460ff908116151560e083015260088701549194506101009091041680156120b9575084600901544310155b156120ce576120c78a611724565b95506122a4565b60028501548911156120df57600080fd5b8251600160a060020a031663db89c0448960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561213757600080fd5b6102c65a03f1151561214857600080fd5b50505060405180519250508682101561216057600080fd5b86151561216b578196505b600160a060020a038816600090815260078601602052604090206001015415612198576121988a896122dc565b60008981526006860160205260409020546121ba90889063ffffffff611f6216565b60008a815260068701602052604090205560058501546121e190889063ffffffff611f6216565b60058601556040805190810160409081528a825260208083018a9052600160a060020a038b1660009081526007890190915220815181556020820151816001015590505033600160a060020a031688600160a060020a0316141515612244575060015b600160a060020a0388168a7f98919cf2e7177b2b2794b7596166eb688e15f8422b46387aab412d792035c0128b8585604051928352602083019190915215156040808301919091526060909101905180910390a36122a18a611724565b95505b5050505050949350505050565b6000808315156122c457600091506108e3565b508282028284828115156122d457fe5b0414610eee57fe5b60006122e6612679565b6000848152600960209081526040808320600160a060020a0387168452600781019092529182902090935090805190810160405281548152600190910154602082019081529091506123589051600684016000845181526020019081526020016000205461264190919063ffffffff16565b600683016000835181526020019081526020016000208190555061238b816020015160058401549063ffffffff61264116565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907f694e00fc5266ab4e93df364ff0161f5d7e3a035126b13d918755bfed6d8ab299905160405180910390a350505050565b6000806123f3612690565b600084815260096020526040812060010154600160a060020a0316935080808086151561241f57600080fd5b61242887611e85565b60008181526007602052604090819020919750610100905190810160409081528254600160a060020a0390811683526001840154811660208085019190915260028501548216838501526003850154606085015260048501546080850152600585015460a085015260068086015460c086015260079095015460ff908116151560e0860152918c1660009081529481528285208d865260099091529190932060080154919750955062010000900416156124e157612637565b84606001516002858101549102935083901015612540576002840180546001810161250c838261274b565b5060009182526020808320919091018a90558982526009905260409020600801805462ff0000191662010000179055612637565b61259c8460020180548060200260200160405190810160405280929190818152602001828054801561259257602002820191906000526020600020905b8154815260019091019060200180831161257d575b5050505050610820565b9092509050816125ab89610e20565b11156126375760006009600086600201858154811015156125c857fe5b600091825260208083209091015483528281019390935260409182018120600890810180549515156201000090810262ff000019978816179091558d835260099094529190200180549092161790556002840180548991908490811061262a57fe5b6000918252602090912001555b5050505050505050565b60008282111561264d57fe5b50900390565b604080519081016040526002815b60008152602001906001900390816126615790505090565b604080519081016040526000808252602082015290565b6101006040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e082015290565b6101606040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101008201819052610120820181905261014082015290565b6101a060405190810160405260008152600c60208201612661565b81548183558181151161276f5760008381526020902061276f918101908301612774565b505050565b61279291905b8082111561278e576000815560010161277a565b5090565b905600a165627a7a72305820586b8eda348ec257bffafee67b76cca0e7d8dc7b9d8954ea56343820384a87e80029", + "deployedBytecode": "0x60606040526004361061019d5763ffffffff60e060020a600035041663069af5ee81146101a25780630a6c81a61461020d578063119ce91b1461027457806319bbc495146102ce5780631fa085ea146102ef57806332ed5b121461033e578063339e23d1146103c257806337376ca8146103fb5780633741e7ee1461041157806338af3eed146104395780634345a6101461046857806347686c8914610494578063504c9317146104d05780635a1f74061461050a57806379a1c1f61461054357806388737b5e146105745780638d22651e1461059f5780638da5cb5b146105b257806390be003c146105c55780639525c0cc146105e45780639ef1204c146105fa578063a003651d14610613578063ac5d874514610629578063aff6058a14610648578063c083510614610684578063c3c5a5471461069a578063dc268955146106b9578063dcec6c34146106d5578063ddca3f43146106f1578063e1758bd814610704578063e751f27114610717578063ec44deaf1461072d578063f2fde38b1461077e578063f98e87ba1461079d578063fcbb9cc7146107b0575b600080fd5b34156101ad57600080fd5b6101b86004356107c9565b604051600160a060020a0398891681529688166020880152949096166040808701919091526060860193909352608085019190915260a084015260c0830193909352151560e082015261010001905180910390f35b341561021857600080fd5b61025c600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284375094965061082095505050505050565b60405191825260208201526040908101905180910390f35b341561027f57600080fd5b610296600435600160a060020a0360243516610876565b6040518082604080838360005b838110156102bb5780820151838201526020016102a3565b5050505090500191505060405180910390f35b34156102d957600080fd5b6102ed600160a060020a03600435166108ea565b005b34156102fa57600080fd5b61025c6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610ac895505050505050565b341561034957600080fd5b610354600435610b09565b604051600160a060020a039b8c168152998b1660208b01526040808b0199909952969099166060890152608088019490945260a0870192909252151560c0860152151560e0850152151561010084015261012083019390935261014082019290925261016001905180910390f35b34156103cd57600080fd5b6103e7600435602435600160a060020a0360443516610b7a565b604051901515815260200160405180910390f35b341561040657600080fd5b6103e7600435610c29565b341561041c57600080fd5b610427600435610e20565b60405190815260200160405180910390f35b341561044457600080fd5b61044c610ef5565b604051600160a060020a03909116815260200160405180910390f35b341561047357600080fd5b6102ed600160a060020a036004358116906024359060443516606435610f04565b341561049f57600080fd5b610427600160a060020a036004358116906024358116906044351660643560843560a43560c43560e4351515610f57565b34156104db57600080fd5b6104e6600435611084565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561051557600080fd5b610529600160a060020a03600435166110a5565b604051911515825260208201526040908101905180910390f35b341561054e57600080fd5b6105596004356110c4565b60405180826101a080838360008151838201526020016102a3565b341561057f57600080fd5b610427600435602435600160a060020a036044358116906064351661114e565b34156105aa57600080fd5b610427611383565b34156105bd57600080fd5b61044c611388565b34156105d057600080fd5b6102ed600160a060020a0360043516611397565b34156105ef57600080fd5b6102ed6004356114c0565b341561060557600080fd5b6103e76004356024356114f0565b341561061e57600080fd5b610427600435611527565b341561063457600080fd5b6103e760043560243560443560643561153c565b341561065357600080fd5b610427600160a060020a036004358116906024358116906044351660643560843560a43560c43560e4351515611574565b341561068f57600080fd5b6103e7600435611614565b34156106a557600080fd5b6103e7600160a060020a036004351661162c565b34156106c457600080fd5b61042760043560243560443561164a565b34156106e057600080fd5b61042760043560243560443561167b565b34156106fc57600080fd5b61042761170f565b341561070f57600080fd5b61044c611715565b341561072257600080fd5b6103e7600435611724565b341561073857600080fd5b61052960046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437509496505093359350611bd892505050565b341561078957600080fd5b6102ed600160a060020a0360043516611c1f565b34156107a857600080fd5b610427611cad565b34156107bb57600080fd5b6102ed600435602435611cb3565b600760208190526000918252604090912080546001820154600283015460038401546004850154600586015460068701549690970154600160a060020a039586169794861696939095169491939092909160ff1688565b600080805b8351811015610870578161084d85838151811061083e57fe5b90602001906020020151610e20565b10156108685780925061086584828151811061083e57fe5b91505b600101610825565b50915091565b61087e612653565b610886612679565b6000848152600960209081526040808320600160a060020a03871684526007019091529081902090805190810160409081528254825260019092015460208201529150805190810160405280825181526020018260200151905291505b5092915050565b60006108f4612690565b6000808080600160a060020a038716151561090e57600080fd5b61091787611e85565b60008181526007602052604090819020919750610100905190810160409081528254600160a060020a03908116835260018401548116602080850191909152600285015482168385015260038501546060850190815260048601546080860152600586015460a086015260068087015460c087015260079096015460ff16151560e0860152918c16600090815294905292209096509450516001850154106109be57610abf565b600284015415156109ce57610abf565b600180850180549091019055600284018054610a379190602080820201604051908101604052809291908181526020018280548015610a2d57602002820191906000526020600020905b81548152600190910190602001808311610a18575b5050505050610ac8565b5080935050600960008560020185815481101515610a5157fe5b6000918252602080832090910154835282810193909352604091820181206008808201805462ff00001961ff0019909116610100171690556004820154835290935220600201549092509050610aad438263ffffffff611f6216565b6009830155610abf6002850184611f71565b50505050505050565b600080805b83518110156108705781610ae685838151811061083e57fe5b1115610b0157809250610afe84828151811061083e57fe5b91505b600101610acd565b6009602081905260009182526040909120805460018201546002830154600384015460048501546005860154600887015497870154600a90970154600160a060020a0396871698958716979496909316949193909260ff80841693610100810482169362010000909104909116918b565b6000838152600960205260408120548190859033600160a060020a03908116911614610ba557600080fd5b600086815260096020526040902060080154869060ff161515610bc757600080fd5b600087815260096020526040902060010154610beb90600160a060020a0316611e85565b6000818152600760208190526040909120015490935060ff161515610c0f57610c1f565b610c1c8787876000611fe4565b93505b5050509392505050565b6000818152600960205260408120548190819081908190869033600160a060020a03908116911614610c5a57600080fd5b600087815260096020526040902060080154879060ff161515610c7c57600080fd5b600088815260096020526040902060010154600160a060020a03169550610ca286611e85565b6000818152600760208190526040909120015490955060ff161515610cca5760009650610e15565b610d4b6006600088600160a060020a0316600160a060020a03168152602001908152602001600020600201805480602002602001604051908101604052809291908181526020018280548015610d4057602002820191906000526020600020905b81548152600190910190602001808311610d2b575b505050505089611bd8565b90945092508315610d7b57600160a060020a0386166000908152600660205260409020610d7b9060020184611f71565b60008881526009602081905260408083208054600160a060020a0319908116825560018201805482169055600282018590556003820180549091169055600481018490556005810184905560088101805462ffffff19169055918201839055600a9091019190915588907fd06f0966987a6526e0c1291838668e5dbcaf062ae68baadf345ff3edd792e8b5905160405180910390a2600196505b505050505050919050565b6000610e2a6126d4565b6000838152600960205260409081902090610160905190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a08201908152600883015460ff808216151560c08501526101008083048216151560e086015262010000909204161515908301526009830154610120830152600a909201546101408201529150610eee90518261014001519063ffffffff6122b116565b9392505050565b600354600160a060020a031681565b60005433600160a060020a03908116911614610f1f57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b600080610f6a8a8a8a8a8a8a8a8a611574565b90506101006040519081016040908152600160a060020a03808d1683528b8116602080850191909152908b1682840152606083018a90526080830189905260a0830188905260c0830187905285151560e0840152600084815260079091522081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a03929092169190911790556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151600791909101805460ff1916911515919091179055509998505050505050505050565b60086020526000908152604090208054600182015460029092015490919083565b6006602052600090815260409020805460019091015460ff9091169082565b6110cc612730565b6000806110d7612730565b6000858152600960205260408120600881015490945060ff166110fb5760006110fe565b60015b60ff1692508282600c60200201525060005b600284015481116111455760008181526006850160205260409020548282600d811061113857fe5b6020020152600101611110565b50949350505050565b6000806111596126d4565b60008711801561116a5750600a8711155b151561117557600080fd5b600160a060020a03851660009081526006602052604090205460ff16151561119c57600080fd5b60008681526008602052604090205415156111b657600080fd5b30600a54604051600160a060020a03929092166c010000000000000000000000000282526014820152603401604051908190039020600a805460019081019091556080830188905260408084018a9052600160a060020a03808916602080870191909152888216606087015233909116855260c0850192909252600083815260099092529020909250819081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a0392909216919091179055604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c082015160088201805460ff191691151591909117905560e082015160088201805461ff0019166101009215158302179055820151600882018054911515620100000262ff0000199092169190911790556101208201518160090155610140820151600a9091015550817f5ac801aedcab27182da435c3657c99a0ca1942beac48b9ae9a9a3f3033ef78dd3388604051600160a060020a03909216825260208201526040908101905180910390a25095945050505050565b600a81565b600054600160a060020a031681565b60006002541180156113c25750600160a060020a03811660009081526005602052604090205460ff16155b1561145b57600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561143f57600080fd5b6102c65a03f1151561145057600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600081815260096020526040902060080154819060ff1615156114e257600080fd5b6114ec82336122dc565b5050565b600082815260096020526040812060080154839060ff16151561151257600080fd5b61151f8484336000611fe4565b949350505050565b60009081526009602052604090206002015490565b600084815260096020526040812060080154859060ff16151561155e57600080fd5b61156a86863387611fe4565b9695505050505050565b6000808989898989898989604051600160a060020a039889166c01000000000000000000000000908102825297891688026014820152959097169095026028850152603c840192909252605c830152607c820152609c8101919091529015157f01000000000000000000000000000000000000000000000000000000000000000260bc82015260bd016040519081900390209a9950505050505050505050565b60009081526009602052604090206008015460ff1690565b600160a060020a031660009081526005602052604090205460ff1690565b6000838383604051808481526020018381526020018281526020019350505050604051809103902090509392505050565b6000806064851115801561168f5750600085115b151561169a57600080fd5b606484111580156116ab5750600084115b15156116b657600080fd5b6116c185858561164a565b90506060604051908101604090815286825260208083018790528183018690526000848152600890915220815181556020820151816001015560408201516002909101555090509392505050565b60025481565b600154600160a060020a031681565b60008060008060006117346126d4565b60008781526009602052604081206008015481908190819081908c9060ff16151561175e57600080fd5b60008d81526009602052604090206001810154909b5061178690600160a060020a0316611e85565b60008181526007602052604080822054929c50600160a060020a03909216916318160ddd919051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156117df57600080fd5b6102c65a03f115156117f057600080fd5b505050604051805160048d01546000908152600860205260409081902054919b509099508c9150610160905190810160409081528254600160a060020a039081168352600184015481166020840152600284015491830191909152600383015416606082015260048201546080820152600582015460a082015260088083015460ff808216151560c08501526101008083048216151560e08601526201000090920481161515828501526009850154610120850152600a90940154610140840152908e015491995090041680156118cb57508a600901544310155b15611a7f5760048b015460009081526008602052604090206001015460058c015490965086908a908115156118fc57fe5b0410611a7f57600192505b60028b0154831161194f57600083815260068c0160205260409020548590111561194457600083815260068c016020526040902054945091925082915b600190920191611907565b60008d81526009602081905260408083208054600160a060020a0319908116825560018201805482169055600282018590556003820180549091169055600481018490556005810184905560088101805462ffffff19169055918201839055600a909101919091558d907f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc9086905190815260200160405180910390a28660600151600160a060020a031663310ce4e28e89602001518760006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515611a5a57600080fd5b6102c65a03f11515611a6b57600080fd5b505050604051805190505060019b50611bc8565b600091505b60028b01548211611bc357600082815260068c0160205260409020546064898b0204901115611bb85760008d81526009602081905260408083208054600160a060020a0319908116825560018201805482169055600282018590556003820180549091169055600481018490556005810184905560088101805462ffffff19169055918201839055600a909101919091558d907f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc9085905190815260200160405180910390a28660600151600160a060020a031663310ce4e28e89602001518560006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515611a5a57600080fd5b600190910190611a84565b60009b505b5050505050505050505050919050565b600080805b8451811015611c175783858281518110611bf357fe5b906020019060200201511415611c0f5760018192509250611c17565b600101611bdd565b509250929050565b60005433600160a060020a03908116911614611c3a57600080fd5b600160a060020a0381161515611c4f57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60045481565b600080611cbe612690565b600085815260096020526040902060080154610100900460ff1615611ce257611e7e565b600085815260096020526040902060010154600160a060020a03169250821515611d0b57600080fd5b611d1483611e85565b60008181526007602052604090819020919350610100905190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820190815260079092015460ff16151560e08201529150518411611d9e57fe5b8060200151600160a060020a03166323b872dd3383604001518760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515611e1057600080fd5b6102c65a03f11515611e2157600080fd5b505050604051805150506000858152600960205260409020600a0154611e4d908563ffffffff611f6216565b6000868152600960205260409020600a8101919091556008015462010000900460ff1615611e7e57611e7e856123e8565b5050505050565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515611ece57600080fd5b6102c65a03f11515611edf57600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611f4157600080fd5b6102c65a03f11515611f5257600080fd5b5050506040518051949350505050565b600082820183811015610eee57fe5b8154600090829011611f7f57fe5b50805b825460001901811015611fce578281600101815481101515611fa057fe5b9060005260206000209001548382815481101515611fba57fe5b600091825260209091200155600101611f82565b8254611fde84600019830161274b565b50505050565b6000806000611ff1612690565b60008881526009602052604081206001810154909450819061201b90600160a060020a0316611e85565b60008181526007602052604090819020919550610100905190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460a0820152600682015460c082015260079091015460ff908116151560e083015260088701549194506101009091041680156120b9575084600901544310155b156120ce576120c78a611724565b95506122a4565b60028501548911156120df57600080fd5b8251600160a060020a031663db89c0448960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561213757600080fd5b6102c65a03f1151561214857600080fd5b50505060405180519250508682101561216057600080fd5b86151561216b578196505b600160a060020a038816600090815260078601602052604090206001015415612198576121988a896122dc565b60008981526006860160205260409020546121ba90889063ffffffff611f6216565b60008a815260068701602052604090205560058501546121e190889063ffffffff611f6216565b60058601556040805190810160409081528a825260208083018a9052600160a060020a038b1660009081526007890190915220815181556020820151816001015590505033600160a060020a031688600160a060020a0316141515612244575060015b600160a060020a0388168a7f98919cf2e7177b2b2794b7596166eb688e15f8422b46387aab412d792035c0128b8585604051928352602083019190915215156040808301919091526060909101905180910390a36122a18a611724565b95505b5050505050949350505050565b6000808315156122c457600091506108e3565b508282028284828115156122d457fe5b0414610eee57fe5b60006122e6612679565b6000848152600960209081526040808320600160a060020a0387168452600781019092529182902090935090805190810160405281548152600190910154602082019081529091506123589051600684016000845181526020019081526020016000205461264190919063ffffffff16565b600683016000835181526020019081526020016000208190555061238b816020015160058401549063ffffffff61264116565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907f694e00fc5266ab4e93df364ff0161f5d7e3a035126b13d918755bfed6d8ab299905160405180910390a350505050565b6000806123f3612690565b600084815260096020526040812060010154600160a060020a0316935080808086151561241f57600080fd5b61242887611e85565b60008181526007602052604090819020919750610100905190810160409081528254600160a060020a0390811683526001840154811660208085019190915260028501548216838501526003850154606085015260048501546080850152600585015460a085015260068086015460c086015260079095015460ff908116151560e0860152918c1660009081529481528285208d865260099091529190932060080154919750955062010000900416156124e157612637565b84606001516002858101549102935083901015612540576002840180546001810161250c838261274b565b5060009182526020808320919091018a90558982526009905260409020600801805462ff0000191662010000179055612637565b61259c8460020180548060200260200160405190810160405280929190818152602001828054801561259257602002820191906000526020600020905b8154815260019091019060200180831161257d575b5050505050610820565b9092509050816125ab89610e20565b11156126375760006009600086600201858154811015156125c857fe5b600091825260208083209091015483528281019390935260409182018120600890810180549515156201000090810262ff000019978816179091558d835260099094529190200180549092161790556002840180548991908490811061262a57fe5b6000918252602090912001555b5050505050505050565b60008282111561264d57fe5b50900390565b604080519081016040526002815b60008152602001906001900390816126615790505090565b604080519081016040526000808252602082015290565b6101006040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e082015290565b6101606040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820181905260e082018190526101008201819052610120820181905261014082015290565b6101a060405190810160405260008152600c60208201612661565b81548183558181151161276f5760008381526020902061276f918101908301612774565b505050565b61279291905b8082111561278e576000815560010161277a565b5090565b905600a165627a7a72305820586b8eda348ec257bffafee67b76cca0e7d8dc7b9d8954ea56343820384a87e80029", + "sourceMap": "182:25519:2:-;;;3974:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;3974:217:2;;-1:-1:-1;4081:102:2;;-1:-1:-1;4112:12:2;;4139:4;;3974:217;;4081:16;;;;;;:102;:::i;:::-;3974:217;;;182:25519;;1314:347:22;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;182:25519:2:-;;;;;;;", + "deployedSourceMap": "182:25519:2:-;;;;;;;;;-1:-1:-1;;;182:25519:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3127:62;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3127:62:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10755:322;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10755:322:2;;-1:-1:-1;10755:322:2;;-1:-1:-1;;;;;;10755:322:2;;;;;;;;;;;;;;;;;;;;;;19339:213;;;;;;;;;;;;-1:-1:-1;;;;;19339:213:2;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;13772:1248:2;;;;;;;;;;-1:-1:-1;;;;;13772:1248:2;;;;;;;11374:322;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11374:322:2;;-1:-1:-1;11374:322:2;;-1:-1:-1;;;;;;11374:322:2;3306:43;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3306:43:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15815:407;;;;;;;;;;;;;;-1:-1:-1;;;;;15815:407:2;;;;;;;;;;;;;;;;;;;;;;9207:791;;;;;;;;;;;;;;10249:208;;;;;;;;;;;;;;;;;;;;;;;;;;;;;407:26:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;407:26:22;;;;;;;;;;;;;;1314:347;;;;;;;;;;-1:-1:-1;;;;;1314:347:22;;;;;;;;;;;;;;;4299:1090:2;;;;;;;;;;-1:-1:-1;;;;;4299:1090:2;;;;;;;;;;;;;;;;;;;;;;;;;;;3196:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3069:51;;;;;;;;;;-1:-1:-1;;;;;3069:51:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;19896:435;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;19896:435:2;84:5:-1;71:3;;;64:6;52:2;45:3;8:100;;7896:1062:2;;;;;;;;;;;;;;-1:-1:-1;;;;;7896:1062:2;;;;;;;;;;3421:44;;;;;;;;;;;;238:20:29;;;;;;;;;;;;866:315:22;;;;;;;;;;-1:-1:-1;;;;;866:315:22;;;;;16438:131:2;;;;;;;;;;;;;;15170:162;;;;;;;;;;;;;;;;18817:142;;;;;;;;;;;;;;15340:202;;;;;;;;;;;;;;;;;;;;5397:655;;;;;;;;;;-1:-1:-1;;;;;5397:655:2;;;;;;;;;;;;;;;;;;;;;;;;;;;20491:125;;;;;;;;;;;;;;1189:117:22;;;;;;;;;;-1:-1:-1;;;;;1189:117:22;;;;;7128:186:2;;;;;;;;;;;;;;;;;;6500:537;;;;;;;;;;;;;;;;;;385:15:22;;;;;;;;;;;;346:32;;;;;;;;;;;;16928:1881:2;;;;;;;;;;;;;;12015:272;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12015:272:2;;-1:-1:-1;;12015:272:2;;;-1:-1:-1;12015:272:2;;-1:-1:-1;;;12015:272:2;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;440:31:22;;;;;;;;;;;;12527:1069:2;;;;;;;;;;;;;;;;3127:62;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3127:62:2;;;;;;;;;;;;;;;;;;;;;;:::o;10755:322::-;10822:10;;;10855:215;10878:9;:16;10874:3;:20;10855:215;;;10954:3;10922:29;10936:9;10946:3;10936:14;;;;;;;;;;;;;;;;10922:13;:29::i;:::-;:35;10918:141;;;10986:3;10978:11;;11014:29;11028:9;11038:3;11028:14;;;;;;;11014:29;11008:35;;10918:141;10896:5;;10855:215;;;10755:322;;;;:::o;19339:213::-;19418:7;;:::i;:::-;19438:18;;:::i;:::-;19459:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;19459:37:2;;;;:29;;:37;;;;;;;;:22;19438:58;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19438:58:2;19507:37;;;;;;;19515:5;:10;19507:37;;;;19527:5;:16;;;19507:37;;;-1:-1:-1;19339:213:2;;;;;;:::o;13772:1248::-;13952:21;14031:30;;:::i;:::-;14113:24;;;;-1:-1:-1;;;;;13895:21:2;;;;13887:30;;;;;;13976:44;14011:7;13976:27;:44::i;:::-;14064:38;;;;:23;:38;;;;;;;13952:68;;-1:-1:-1;14031:71:2;;;;;;;;;;;;-1:-1:-1;;;;;14031:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14140:22;;;14031:71;14140:22;;;;;;;;14031:71;;-1:-1:-1;14140:22:2;-1:-1:-1;14245:28:2;14221:20;;;;:52;14217:91;;14290:7;;14217:91;14370:26;;;:33;:38;14366:77;;;14425:7;;14366:77;14492:20;;;;:22;;;;;;;14577:26;;;14564:40;;;;14577:26;14564:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;:40::i;:::-;14549:55;;;;;14643:9;:47;14653:3;:26;;14680:8;14653:36;;;;;;;;;;;;;;;;;;;;;;14643:47;;;;;;;;;;;;;;;14701:26;;;;:33;;-1:-1:-1;;;;14701:33:2;;;;;14745:32;;;14825:19;;;;14805:40;;;;;;14745:24;14805:55;;14643:47;;-1:-1:-1;14805:55:2;-1:-1:-1;14894:27:2;:12;14805:55;14894:27;:16;:27;:::i;:::-;14871:20;;;:50;14959:53;14975:26;;;15003:8;14959:15;:53::i;:::-;13772:1248;;;;;;;:::o;11374:322::-;11441:10;;;11474:215;11497:9;:16;11493:3;:20;11474:215;;;11573:3;11541:29;11555:9;11565:3;11555:14;;;;;;;11541:29;:35;11537:141;;;11605:3;11597:11;;11633:29;11647:9;11657:3;11647:14;;;;;;;11633:29;11627:35;;11537:141;11515:5;;11474:215;;3306:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3306:43:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15815:407::-;15950:4;3708:22;;;:9;:22;;;;;:28;15950:4;;15908:11;;3694:10;-1:-1:-1;;;;;3694:42:2;;;3708:28;;3694:42;3686:51;;;;;;3916:22;;;;:9;:22;;;;;:29;;;15929:11;;3916:29;;3908:38;;;;;;;;16023:22;;;;:9;:22;;;;;:29;;;15988:66;;-1:-1:-1;;;;;16023:29:2;15988:27;:66::i;:::-;16071:35;;;;:23;:35;;;;;;;;:46;;15967:87;;-1:-1:-1;16071:46:2;;16069:48;16065:87;;;16134:7;;16065:87;16171:43;16184:11;16197:5;16204:6;16212:1;16171:12;:43::i;:::-;16164:50;;3957:1;3748;15815:407;;;;;;;:::o;9207:791::-;9319:4;3708:22;;;:9;:22;;;;;:28;9319:4;;;;;;;;9277:11;;3694:10;-1:-1:-1;;;;;3694:42:2;;;3708:28;;3694:42;3686:51;;;;;;3916:22;;;;:9;:22;;;;;:29;;;9298:11;;3916:29;;3908:38;;;;;;;;9353:22;;;;:9;:22;;;;;:29;;;-1:-1:-1;;;;;9353:29:2;;-1:-1:-1;9414:43:2;9353:29;9414:27;:43::i;:::-;9474:35;;;;:23;:35;;;;;;;;:46;;9393:64;;-1:-1:-1;9474:46:2;;9472:48;9468:93;;;9544:5;9537:12;;;;9468:93;9697:70;9709:13;:21;9723:6;-1:-1:-1;;;;;9709:21:2;-1:-1:-1;;;;;9709:21:2;;;;;;;;;;;;:44;;9697:70;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9755:11;9697;:70::i;:::-;9678:89;;-1:-1:-1;9678:89:2;-1:-1:-1;9778:108:2;;;;-1:-1:-1;;;;;9822:21:2;;;;;;:13;:21;;;;;9806:68;;9822:44;;9868:5;9806:15;:68::i;:::-;9905:22;;;;:9;:22;;;;;;;;9898:29;;-1:-1:-1;;;;;;9898:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9898:29:2;;;;;;;;;;;;;;;;;9915:11;;9938:30;;;;;;;;;;9986:4;9979:11;;3957:1;3748;9207:791;;;;;;;;:::o;10249:208::-;10317:4;10334:24;;:::i;:::-;10361:22;;;;:9;:22;;;;;;;;10334:49;;;;;;;;;;;;-1:-1:-1;;;;;10334:49:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10402:46:2;;10428:19;10402:8;:21;;;:25;:46;:25;:46;:::i;:::-;10394:55;10249:208;-1:-1:-1;;;10249:208:2:o;407:26:22:-;;;-1:-1:-1;;;;;407:26:22;;:::o;1314:347::-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;4299:1090:2:-;4608:7;4633:18;4654:266;4689:17;4721:11;4747:12;4774:19;4808:18;4841;4874:9;4898:11;4654:20;:266::i;:::-;4633:287;;4969:384;;;;;;;;;;-1:-1:-1;;;;;4969:384:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4931:35:2;;;:23;:35;;;;4969:384;4931:422;;;-1:-1:-1;;;;;;4931:422:2;-1:-1:-1;;;;;4931:422:2;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4931:422:2;-1:-1:-1;;;;;4931:422:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;4931:422:2;-1:-1:-1;;;;;4931:422:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4931:422:2;;;;;;;;;;-1:-1:-1;5371:10:2;4299:1090;-1:-1:-1;;;;;;;;;4299:1090:2:o;3196:63::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3069:51::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;19896:435::-;19965:8;;:::i;:::-;19986:25;20047:11;20095:29;;:::i;:::-;20177:8;20014:22;;;:9;:22;;;;;20061:15;;;;20014:22;;-1:-1:-1;20061:15:2;;:23;;20083:1;20061:23;;;20079:1;20061:23;20047:37;;;-1:-1:-1;20047:37:2;20135:13;20149:2;20135:17;;;:26;-1:-1:-1;20188:1:2;20172:121;20196:21;;;;20191:26;;20172:121;;20262:19;;;;:14;;;:19;;;;;;20241:13;20277:3;20241:18;;;;;;;;;;:40;20219:5;;20172:121;;;-1:-1:-1;20310:13:2;19896:435;-1:-1:-1;;;;19896:435:2:o;7896:1062::-;8062:7;8435:18;8550:24;;:::i;:::-;8154:1;8138:13;:17;:56;;;;;3463:2;8159:13;:35;;8138:56;8130:65;;;;;;;;-1:-1:-1;;;;;8253:22:2;;;;;;:13;:22;;;;;:35;;;8245:44;;;;;;;;8342:32;;;;:19;:32;;;;;:40;:45;;8334:54;;;;;;8466:4;8472:12;;8456:29;;-1:-1:-1;;;;;8456:29:2;;;;;;;;;;;;;;;;;;;;;;8496:12;:14;;;;;;;;;8585:19;;;:33;;;8629:21;;;;:37;;;-1:-1:-1;;;;;8677:25:2;;;:15;;;;:25;;;;8713:33;;;-1:-1:-1;8713:19:2;;:33;8774:10;8757:27;;;;;8795:15;;;:22;;;;8496:12;8828:21;;;:9;:21;;;;;8456:29;;-1:-1:-1;8585:8:2;;;8828:32;;;-1:-1:-1;;;;;;8828:32:2;-1:-1:-1;;;;;8828:32:2;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8828:32:2;-1:-1:-1;;;;;8828:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8828:32:2;-1:-1:-1;;;;;8828:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8828:32:2;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8828:32:2;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8828:32:2;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8886:10:2;8871:51;8898:10;8910:11;8871:51;;-1:-1:-1;;;;;8871:51:2;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8940:10:2;7896:1062;-1:-1:-1;;;;;7896:1062:2:o;3421:44::-;3463:2;3421:44;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;866:315:22:-;980:1;974:3;;:7;973:39;;;;-1:-1:-1;;;;;;989:22:22;;;;;;:13;:22;;;;;;;;987:24;973:39;969:123;;;1029:11;;1063;;1076:3;;-1:-1:-1;;;;;1029:11:22;;;;:24;;1054:7;;1063:11;;;1029;:51;;;;;;;-1:-1:-1;;;1029:51:22;;;;;;-1:-1:-1;;;;;1029:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;969:123:22;-1:-1:-1;;;;;1102:22:22;;;;;;:13;:22;;;;;;;:29;;-1:-1:-1;;1102:29:22;1127:4;1102:29;;;1142:31;;1116:7;;1142:31;-1:-1:-1;;;;;1142:31:22;;;;;;;;;;;;;;866:315;:::o;16438:131:2:-;3916:22;;;;:9;:22;;;;;:29;;;16494:11;;3916:29;;3908:38;;;;;;;;16518:43;16537:11;16550:10;16518:18;:43::i;:::-;16438:131;;:::o;15170:162::-;15253:4;3916:22;;;:9;:22;;;;;:29;;;15232:11;;3916:29;;3908:38;;;;;;;;15277:47;15290:11;15303:5;15310:10;15322:1;15277:12;:47::i;:::-;15270:54;15170:162;-1:-1:-1;;;;15170:162:2:o;18817:142::-;18890:4;18915:22;;;:9;:22;;;;;:35;;;;18817:142::o;15340:202::-;15460:4;3916:22;;;:9;:22;;;;;:29;;;15439:11;;3916:29;;3908:38;;;;;;;;15484:50;15497:11;15510:5;15517:10;15529:4;15484:12;:50::i;:::-;15477:57;15340:202;-1:-1:-1;;;;;;15340:202:2:o;5397:655::-;5715:7;5740:18;5785:17;5817:11;5843:12;5870:19;5904:18;5937;5970:9;5994:11;5761:255;;-1:-1:-1;;;;;5761:255:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5397:655;-1:-1:-1;;;;;;;;;;5397:655:2:o;20491:125::-;20555:4;20579:22;;;:9;:22;;;;;:29;;;;;;20491:125::o;1189:117:22:-;-1:-1:-1;;;;;1276:22:22;1252:4;1276:22;;;:13;:22;;;;;;;;;1189:117::o;7128:186:2:-;7234:7;7271:8;7281:7;7290:15;7261:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7254:52;;7128:186;;;;;:::o;6500:537::-;6597:7;6717:24;6637:3;6625:8;:15;;:31;;;;;6655:1;6644:8;:12;6625:31;6617:40;;;;;;;;6687:3;6676:7;:14;;:29;;;;;6704:1;6694:7;:11;6676:29;6668:38;;;;;;;;6744:61;6770:8;6780:7;6789:15;6744:25;:61::i;:::-;6717:88;;6856:139;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6816:37:2;;;:19;:37;;;;6856:139;6816:179;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7013:16:2;-1:-1:-1;6500:537:2;;;;;:::o;385:15:22:-;;;;:::o;346:32::-;;;-1:-1:-1;;;;;346:32:22;;:::o;16928:1881:2:-;17002:4;17019:25;17082:21;17169:20;17272:12;17346:27;;:::i;:::-;17520:11;3916:22;;;:9;:22;;;;;:29;;;17520:11;;;;;;;;16981;;3916:29;;3908:38;;;;;;;;17047:22;;;;:9;:22;;;;;17141:15;;;;17047:22;;-1:-1:-1;17106:52:2;;-1:-1:-1;;;;;17141:15:2;17106:27;:52::i;:::-;17192:38;;;;:23;:38;;;;;;:55;17082:76;;-1:-1:-1;;;;;;17192:55:2;;;;:67;;:38;:69;;;;;;;;;-1:-1:-1;;;17192:69:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17307:19;;;;17287:40;;;;:19;:40;;;;;;;:48;17192:69;;-1:-1:-1;17287:48:2;;-1:-1:-1;17307:8:2;;-1:-1:-1;17346:38:2;;;;;;;;;;;;-1:-1:-1;;;;;17346:38:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17437:26;;;;17346:38;;-1:-1:-1;17437:26:2;;;:66;;;;;17483:8;:20;;;17467:12;:36;;17437:66;17433:905;;;17554:19;;;;17534:40;;;;:19;:40;;;;;:47;;;17651:19;;;;17534:47;;-1:-1:-1;17534:47:2;;17671:15;;17651:35;;;;;;;;:45;17647:680;;17853:1;17842:12;;17837:242;17861:21;;;;17856:26;;17837:242;;17918:19;;;;:14;;;:19;;;;;;:25;;;17914:146;;;17978:19;;;;:14;;;:19;;;;;;;-1:-1:-1;17993:3:2;;-1:-1:-1;17993:3:2;;17914:146;17884:5;;;;;17837:242;;;18104:22;;;;:9;:22;;;;;;;;18097:29;;-1:-1:-1;;;;;;18097:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18097:29:2;;;;;;;;;;;;;;;;;18114:11;;18145:39;;18177:6;;18145:39;;;;;;;;;;;;;18204:11;:22;;;-1:-1:-1;;;;;18203:32:2;;18236:11;18249;:18;;;18273:6;18203:78;;;;;;;;-1:-1:-1;;;18203:78:2;;;;;;;;;;;;;-1:-1:-1;;;;;18203:78:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18307:4;18300:11;;;;17647:680;18413:1;18401:13;;18396:383;18422:21;;;;18416:27;;18396:383;;18472:20;;;;:14;;;:20;;;;;;18519:3;18495:23;;;:27;18472:50;;18468:300;;;18550:22;;;;:9;:22;;;;;;;;18543:29;;-1:-1:-1;;;;;;18543:29:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18543:29:2;;;;;;;;;;;;;;;;;18560:11;;18591:36;;18623:3;;18591:36;;;;;;;;;;;;;18647:11;:22;;;-1:-1:-1;;;;;18646:32:2;;18679:11;18692;:18;;;18716:4;18646:76;;;;;;;;-1:-1:-1;;;18646:76:2;;;;;;;;;;;;;-1:-1:-1;;;;;18646:76:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18468:300;18445:6;;;;;18396:383;;;18796:5;18789:12;;3957:1;16928:1881;;;;;;;;;;;;;;:::o;12015:272::-;12090:12;;;12127:153;12150:9;:16;12146:3;:20;12127:153;;;12212:3;12194:9;12204:3;12194:9;:14;;;;;;;;;;;;;;;:21;12190:79;;;12243:4;12249:3;12236:17;;;;;;12190:79;12168:5;;12127:153;;;12015:272;;;;;;:::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;;;;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;440:31:22:-;;;;:::o;12527:1069:2:-;12803:14;12924:21;13002:30;;:::i;:::-;12670:22;;;;:9;:22;;;;;:40;;;;;;;;12666:79;;;12727:7;;12666:79;12820:22;;;;:9;:22;;;;;:29;;;-1:-1:-1;;;;;12820:29:2;;-1:-1:-1;12868:20:2;;;12860:29;;;;;;12948:43;12983:6;12948:27;:43::i;:::-;13035:38;;;;:23;:38;;;;;;;12924:67;;-1:-1:-1;13002:71:2;;;;;;;;;;;;-1:-1:-1;;;;;13002:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13172:18:2;13158:32;;13151:40;;;;13202:9;:20;;;-1:-1:-1;;;;;13202:33:2;;13236:10;13248:9;:21;;;13271:11;13202:81;;;;;;;;-1:-1:-1;;;13202:81:2;;;;;;-1:-1:-1;;;;;13202:81:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13354:22:2;;;;:9;:22;;;;;:35;;;:52;;13394:11;13354:52;:39;:52;:::i;:::-;13316:22;;;;:9;:22;;;;;:35;;;:90;;;;13484:38;;;;;;;;13480:109;;;13539:38;13565:11;13539:25;:38::i;:::-;12527:1069;;;;;:::o;1761:212:22:-;1840:7;1860:21;1895:7;-1:-1:-1;;;;;1895:13:22;;:15;;;;;;;;;;;-1:-1:-1;;;1895:15:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1929:30:22;;;1960:4;1929:36;;;;;;;;-1:-1:-1;;;1929:36:22;;;;;;-1:-1:-1;;;;;1929:36:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1761:212;-1:-1:-1;;;;1761:212:22:o;698:129:28:-;756:7;783:5;;;801:6;;;;794:14;;;23229:282:2;23323:16;;23365:8;;23323:25;;;23316:33;;;;-1:-1:-1;23376:6:2;23360:115;23388:16;;-1:-1:-1;;23388:18:2;23384:22;;23360:115;;;23447:9;23457:3;23461:1;23457:5;23447:16;;;;;;;;;;;;;;;;;;;23430:9;23440:3;23430:14;;;;;;;;;;;;;;;;;;;:33;23408:5;;23360:115;;;23485:18;;;:9;-1:-1:-1;;23485:18:2;;;:::i;:::-;;23229:282;;;:::o;23973:1723::-;24071:4;24088:25;24149:18;24233:30;;:::i;:::-;24634:15;24116:22;;;:9;:22;;;;;24205:15;;;;24116:22;;-1:-1:-1;24634:15:2;;24170:52;;-1:-1:-1;;;;;24205:15:2;24170:27;:52::i;:::-;24266:35;;;;:23;:35;;;;;;;24149:73;;-1:-1:-1;24233:68:2;;;;;;;;;;;;-1:-1:-1;;;;;24233:68:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;24371:26;;;;24233:68;;-1:-1:-1;24233:68:2;24371:26;;;;:66;;;;;24417:8;:20;;;24401:12;:36;;24371:66;24367:126;;;24461:20;24469:11;24461:7;:20::i;:::-;24454:27;;;;24367:126;24552:21;;;;24543:30;;;24535:39;;;;;;24652:9;:26;-1:-1:-1;;;;;24652:39:2;;24692:6;24652:47;;;;;;;;-1:-1:-1;;;24652:47:2;;;;;;-1:-1:-1;;;;;24652:47:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;24718:18:2;;;;24710:27;;;;;;24752:9;;24748:59;;;24785:10;24778:17;;24748:59;-1:-1:-1;;;;;24891:23:2;;;;;;:15;;;:23;;;;;:34;;;:39;24887:111;;24947:39;24966:11;24979:6;24947:18;:39::i;:::-;25074:21;;;;:14;;;:21;;;;;;25065:31;;:4;;:31;:8;:31;:::i;:::-;25041:21;;;;:14;;;:21;;;;;:55;25138:19;;;;25129:29;;:4;;:29;:8;:29;:::i;:::-;25107:19;;;:51;25195:75;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;25169:23:2;;-1:-1:-1;25169:23:2;;;:15;;;:23;;;;25195:75;25169:101;;;;;;;;;;;;;;25356:10;-1:-1:-1;;;;;25346:20:2;:6;-1:-1:-1;;;;;25346:20:2;;;25342:71;;;-1:-1:-1;25397:4:2;25342:71;-1:-1:-1;;;;;25444:144:2;;25474:11;25444:144;25521:5;25541:10;25566:11;25444:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;25668:20;25676:11;25668:7;:20::i;:::-;25661:27;;23973:1723;;;;;;;;;;;;:::o;138:173:28:-;196:7;;215:6;;211:35;;;238:1;231:8;;;;211:35;-1:-1:-1;263:5:28;;;267:1;263;:5;281;;;;;;;;:10;274:18;;;22586:456:2;22671:25;22732:18;;:::i;:::-;22699:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;22753:23:2;;;;:15;;;:23;;;;;;;22699:22;;-1:-1:-1;22753:23:2;22699:22;22732:44;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;22818:50:2;;22851:16;22819:14;;;:26;22834:5;:10;22819:26;;;;;;;;;;;;22818:32;;:50;;;;:::i;:::-;22789:14;;;:26;22804:5;:10;22789:26;;;;;;;;;;;:79;;;;22901:43;22927:5;:16;;;22902:19;;;;;22901:43;:25;:43;:::i;:::-;22879:19;;;:65;-1:-1:-1;;;;;22964:23:2;;;;;;:15;;;:23;;;;;;22957:30;;;;;;;;;23014:11;;22998:36;;;;;;;;;;22586:456;;;;:::o;20904:1452::-;21028:14;21149:21;21227:30;;:::i;:::-;21309:24;21045:22;;;:9;:22;;;;;:29;;;-1:-1:-1;;;;;21045:29:2;;-1:-1:-1;21309:24:2;;;21093:20;;;21085:29;;;;;;21173:43;21208:6;21173:27;:43::i;:::-;21260:38;;;;:23;:38;;;;;;;21149:67;;-1:-1:-1;21227:71:2;;;;;;;;;;;;-1:-1:-1;;;;;21227:71:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;21336:21;;;21227:71;21336:21;;;;;;;;;21424:22;;;:9;:22;;;;;;;:38;;;21227:71;;-1:-1:-1;21336:21:2;-1:-1:-1;21424:38:2;;;;21420:77;;;21479:7;;21420:77;21643:9;:28;;;21641:1;21686:26;;;:33;21641:30;;;-1:-1:-1;21686:51:2;;;21682:209;;;21754:26;;;:44;;;;;;:26;:44;;:::i;:::-;-1:-1:-1;21754:44:2;;;;;;;;;;;;;;;21813:22;;;:9;:22;;;;;:38;;:45;;-1:-1:-1;;21813:45:2;;;;;21873:7;;21682:209;22032:40;22045:3;:26;;22032:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:12;:40::i;:::-;22009:63;;-1:-1:-1;22009:63:2;-1:-1:-1;22009:63:2;22087:26;22101:11;22087:13;:26::i;:::-;:37;22083:266;;;22207:5;22141:9;:47;22151:3;:26;;22178:8;22151:36;;;;;;;;;;;;;;;;;;;;;;22141:47;;;;;;;;;;;;;;;:63;;;;:71;;;;;;;;;-1:-1:-1;;22141:71:2;;;;;;;22227:22;;;:9;:22;;;;;;:38;:45;;;;;;;;22141:63;22287:26;;:36;;22237:11;;22287:26;22314:8;;22287:36;;;;;;;;;;;;;;;:50;22083:266;20904:1452;;;;;;;;:::o;584:110:28:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;182:25519:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../controller/Reputation.sol\";\r\nimport \"./IntVoteInterface.sol\";\r\nimport \"../universalSchemes/UniversalScheme.sol\";\r\n\r\n\r\n// ToDo: Write tests!\r\n\r\ncontract EmergentVoteScheme is IntVoteInterface, UniversalScheme {\r\n using SafeMath for uint;\r\n\r\n struct Organization {\r\n bool isRegistered;\r\n uint boostedProposals; // Currently amount of boosted proposals\r\n bytes32[] awaitingBoostProposals; // Array that contains a waiting list of proposals to be boosted\r\n }\r\n\r\n struct OrgParameters {\r\n Reputation reputationSystem; // the reputation system that is being used\r\n StandardToken boostToken; // The token that will be used in order to boost proposals\r\n address beneficiary; // The tokens that has been spent for boosting proposals will be transfered to this address\r\n uint attentionBandwidth; // Limit the amount of boosted proposals\r\n uint minBoostTimeFrame; // The boost time can not be less than that time frame\r\n uint maxBoostTimeFrame; // The boost time can not be more than that time frame\r\n uint minBoost; // Minimum amount of token can be paid for boosting proposals\r\n bool allowOwner; // does this proposal has a owner who has owner rights?\r\n }\r\n\r\n struct ProposalParameters {\r\n uint precReq; // how many percentages are required for the porpsal to be passed\r\n uint quorum; // Qurum that will be rellevant only if the proposal will get boosted\r\n uint boostTimeFrame; // The time frame that the porpoal will be boosted\r\n }\r\n\r\n struct Voter {\r\n uint vote; // 0 - 'abstain'\r\n uint reputation; // amount of voter's reputation\r\n }\r\n\r\n struct Proposal {\r\n address owner; // the proposal's owner\r\n address avatar; // the avatar of the organization that owns the proposal\r\n uint numOfChoices; // Number of choices in the proposal\r\n ExecutableInterface executable; // will be executed if the perposal will pass\r\n bytes32 paramsHash; // the hash of the parameters of the proposal\r\n uint totalVotes; // Totals proposal's votes\r\n mapping(uint=>uint) votes;\r\n mapping(address=>Voter) voters;\r\n bool opened; // voting opened flag\r\n bool isBoostModeActive; // Is the proposal boosted?\r\n bool isAwaitingBoost; // Is in the waiting list for being boosted\r\n uint closingTime; // Will be setted only if the proposal is boosted, will determine the closing time of the proposal\r\n uint boostedFunds; // amount of funds that has been invested in this proposal\r\n }\r\n\r\n event LogNewProposal(bytes32 indexed _proposalId, address _proposer, bytes32 _paramsHash);\r\n event LogCancelProposal(bytes32 indexed _proposalId);\r\n event LogExecuteProposal(bytes32 indexed _proposalId, uint _decision);\r\n event LogVoteProposal(bytes32 indexed _proposalId, address indexed _voter, uint _vote, uint _reputation, bool _isOwnerVote);\r\n event LogCancelVoting(bytes32 indexed _proposalId, address indexed _voter);\r\n\r\n mapping(address=>Organization) public organizations;\r\n mapping(bytes32=>OrgParameters) public organizationsParameters;\r\n mapping(bytes32=>ProposalParameters) public proposalsParameters; // A mapping from hashes to parameters\r\n mapping(bytes32=>Proposal) public proposals; // Mapping from the ID of the proposal to the proposal itself.\r\n\r\n uint constant public MAX_NUM_OF_CHOICES = 10;\r\n uint proposalsCnt; // Total amount of proposals\r\n\r\n /**\r\n * @dev Check that there is owner for the proposal and he sent the transaction\r\n */\r\n modifier onlyProposalOwner(bytes32 _proposalId) {\r\n require(msg.sender == proposals[_proposalId].owner);\r\n _;\r\n }\r\n\r\n /**\r\n * @dev Check that the proposal is votable (opened and not executed yet)\r\n */\r\n modifier votable(bytes32 _proposalId) {\r\n require(proposals[_proposalId].opened);\r\n _;\r\n }\r\n\r\n function EmergentVoteScheme(StandardToken _nativeToken, uint _fee, address _beneficiary) public {\r\n updateParameters(\r\n _nativeToken,\r\n _fee, _beneficiary,\r\n bytes32(0));\r\n }\r\n\r\n /**\r\n * @dev hash the parameters, save them if necessary, and return the hash value\r\n */\r\n function setOrgParameters(\r\n Reputation _reputationSystem,\r\n StandardToken _boostToken,\r\n address _beneficiary,\r\n uint _attentionBandwidth,\r\n uint _minBoostTimeFrame,\r\n uint _maxBoostTimeFrame,\r\n uint _minBoost,\r\n bool _allowOwner\r\n ) public returns(bytes32)\r\n {\r\n bytes32 paramsHash = getOrgParametersHash(\r\n _reputationSystem,\r\n _boostToken,\r\n _beneficiary,\r\n _attentionBandwidth,\r\n _minBoostTimeFrame,\r\n _maxBoostTimeFrame,\r\n _minBoost,\r\n _allowOwner\r\n );\r\n organizationsParameters[paramsHash] = OrgParameters({\r\n reputationSystem: _reputationSystem,\r\n boostToken: _boostToken,\r\n beneficiary: _beneficiary,\r\n attentionBandwidth: _attentionBandwidth,\r\n minBoostTimeFrame: _minBoostTimeFrame,\r\n maxBoostTimeFrame: _maxBoostTimeFrame,\r\n minBoost: _minBoost,\r\n allowOwner: _allowOwner\r\n });\r\n return paramsHash;\r\n }\r\n\r\n function getOrgParametersHash(\r\n Reputation _reputationSystem,\r\n StandardToken _boostToken,\r\n address _beneficiary,\r\n uint _attentionBandwidth,\r\n uint _minBoostTimeFrame,\r\n uint _maxBoostTimeFrame,\r\n uint _minBoost,\r\n bool _allowOwner\r\n ) public pure returns(bytes32)\r\n {\r\n bytes32 paramsHash = keccak256(\r\n _reputationSystem,\r\n _boostToken,\r\n _beneficiary,\r\n _attentionBandwidth,\r\n _minBoostTimeFrame,\r\n _maxBoostTimeFrame,\r\n _minBoost,\r\n _allowOwner\r\n );\r\n return paramsHash;\r\n }\r\n\r\n /**\r\n * @dev Set proposals parameters\r\n * @param _precReq the percentage that are required for the proposal to be executed\r\n * @param _quorum the 'quorum' percentages that are required for the winning choice (will be rellevant only if boosted)\r\n * @param _boostTimeFrame the time frame of the proposal after being boosted, after the time passed, a decision will be made\r\n * @return bytes32 the hashed parameters\r\n */\r\n function setProposalParameters(uint _precReq, uint _quorum, uint _boostTimeFrame) public returns(bytes32) {\r\n require(_precReq <= 100 && _precReq > 0);\r\n require(_quorum <= 100 && _quorum > 0);\r\n bytes32 hashedParameters = getProposalParametersHash(_precReq, _quorum, _boostTimeFrame);\r\n proposalsParameters[hashedParameters] = ProposalParameters({\r\n precReq: _precReq,\r\n quorum: _quorum,\r\n boostTimeFrame: _boostTimeFrame\r\n });\r\n return hashedParameters;\r\n }\r\n\r\n /**\r\n * @dev hashParameters returns a hash of the given parameters\r\n */\r\n function getProposalParametersHash(uint _precReq, uint _quorum, uint _boostTimeFrame) public pure returns(bytes32) {\r\n return keccak256(_precReq, _quorum, _boostTimeFrame);\r\n }\r\n\r\n /**\r\n * @dev register a new proposal with the given parameters. Every proposal has a unique ID which is being\r\n * generated by calculating keccak256 of a incremented counter.\r\n * @param _numOfChoices the number of choices inthe proposal\r\n * @param _paramsHash defined the parameters of the voting machine used for this proposal\r\n * @param _avatar an address to be sent as the payload to the _executable contract.\r\n * @param _executable This contract will be executed when vote is over.\r\n * @return bytes32 proposalId the ID of the proposal\r\n */\r\n function propose(\r\n uint _numOfChoices,\r\n bytes32 _paramsHash,\r\n address _avatar,\r\n ExecutableInterface _executable\r\n ) public returns(bytes32)\r\n {\r\n // ToDo: check parameters are OK:\r\n require(_numOfChoices > 0 && _numOfChoices <= MAX_NUM_OF_CHOICES);\r\n\r\n // Check org is registered:\r\n require(organizations[_avatar].isRegistered);\r\n\r\n // Check params exist:\r\n require(proposalsParameters[_paramsHash].precReq != 0);\r\n\r\n // Generate a unique ID:\r\n bytes32 proposalId = keccak256(this, proposalsCnt);\r\n proposalsCnt++;\r\n\r\n // Open proposal:\r\n Proposal memory proposal;\r\n proposal.paramsHash = _paramsHash;\r\n proposal.numOfChoices = _numOfChoices;\r\n proposal.avatar = _avatar;\r\n proposal.executable = _executable;\r\n proposal.owner = msg.sender;\r\n proposal.opened = true;\r\n proposals[proposalId] = proposal;\r\n LogNewProposal(proposalId, msg.sender, _paramsHash);\r\n return proposalId;\r\n }\r\n\r\n /**\r\n * @dev Cancel a proposal, only the owner can call this function and only if allowOwner flag is true.\r\n * @param _proposalId the proposal ID\r\n * @return bool True if the proposal is canceled and False if it wasn't\r\n */\r\n function cancelProposal(bytes32 _proposalId) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool) {\r\n address avatar = proposals[_proposalId].avatar;\r\n bytes32 paramsHash = getParametersFromController(Avatar(avatar));\r\n if (! organizationsParameters[paramsHash].allowOwner) {\r\n return false;\r\n }\r\n\r\n // Check if on the awaiting list, if so, delete it:\r\n bool isFound;\r\n uint index;\r\n (isFound, index) = findInArray(organizations[avatar].awaitingBoostProposals, _proposalId);\r\n if (isFound) {\r\n deleteFromArray(organizations[avatar].awaitingBoostProposals, index);\r\n }\r\n\r\n delete proposals[_proposalId];\r\n LogCancelProposal(_proposalId);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev Get the score of a specific proposal\r\n * The score is evaluated by multiplying the number of votes with the funds that are invested\r\n * @param _proposalId the proposal ID\r\n * @return uint Proposal's score\r\n */\r\n function proposalScore(bytes32 _proposalId) public constant returns(uint) {\r\n Proposal memory proposal = proposals[_proposalId];\r\n return (proposal.boostedFunds.mul(proposal.totalVotes));\r\n }\r\n\r\n /**\r\n * @dev Get the minimum score of a given list proposal ids\r\n * @param _idsArray the proposal ids that will be checked\r\n * @return uint index the index of the proposal containing the smallest score in the list\r\n * @return uint min the minimum score in the list\r\n */\r\n function findMinScore(bytes32[] _idsArray) public constant returns(uint index, uint min) {\r\n for (uint cnt = 0; cnt<_idsArray.length; cnt++) {\r\n if (proposalScore(_idsArray[cnt]) < min) {\r\n index = cnt;\r\n min = proposalScore(_idsArray[cnt]);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @dev Get the maximum score of a given list proposal ids\r\n * @param _idsArray the proposal ids that will be checked\r\n * @return uint index the index of the proposal containing the highest score in the list\r\n * @return uint max the maximum score in the list\r\n */\r\n function findMaxScore(bytes32[] _idsArray) public constant returns(uint index, uint max) {\r\n for (uint cnt = 0; cnt<_idsArray.length; cnt++) {\r\n if (proposalScore(_idsArray[cnt]) > max) {\r\n index = cnt;\r\n max = proposalScore(_idsArray[cnt]);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @dev Helper function to find an ID in a given array\r\n * @param _idsArray an array of id's\r\n * @param _id the id we want ot find in the array\r\n * @return bool isFound that indicated if the id has been found in the array\r\n * @return uint index the index of the id in the array\r\n */\r\n function findInArray(bytes32[] _idsArray, bytes32 _id) public pure returns(bool isFound, uint index) {\r\n for (uint cnt = 0; cnt<_idsArray.length; cnt++) {\r\n if (_idsArray[cnt] == _id) {\r\n return(true, cnt);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * @dev Internal function to boost a proposal\r\n * @param _proposalId the id of the proposal that is being checked\r\n * @param _boostValue amount of tokens to use for boosting, must be greater then minBoost\r\n */\r\n function boostProposal(bytes32 _proposalId, uint _boostValue) public {\r\n\r\n // Check proposal is not already in boost mode:\r\n if (proposals[_proposalId].isBoostModeActive) {\r\n return;\r\n }\r\n\r\n // Retrieve org and parameters hash:\r\n address avatar = proposals[_proposalId].avatar;\r\n require(avatar != address(0)); // Check propsal exists\r\n bytes32 orgParamsHash = getParametersFromController(Avatar(avatar));\r\n OrgParameters memory orgParams = organizationsParameters[orgParamsHash];\r\n\r\n // Collect boosting fee and add value to boosted funds:\r\n assert(_boostValue > orgParams.minBoost);\r\n orgParams.boostToken.transferFrom(msg.sender, orgParams.beneficiary, _boostValue); // ToDo: Move to end?\r\n proposals[_proposalId].boostedFunds = proposals[_proposalId].boostedFunds.add(_boostValue);\r\n\r\n // If proposal is not in awaiting list, try to add:\r\n if (proposals[_proposalId].isAwaitingBoost) {\r\n tryAwaitingBoostProposals(_proposalId);\r\n }\r\n }\r\n\r\n /**\r\n * @dev Move the top proposal form the waiting list to the boosted proposals\r\n * @param _avatar avatar of the organization\r\n */\r\n // [TODO] event\r\n function moveTopAwaitingBoostMode(address _avatar) public {\r\n // Retrieve org and parameters hash:\r\n require(_avatar != address(0)); // Check propsal exists\r\n bytes32 orgParamsHash = getParametersFromController(Avatar(_avatar));\r\n OrgParameters memory orgParams = organizationsParameters[orgParamsHash];\r\n Organization storage org = organizations[_avatar];\r\n\r\n // Check we have free bandwidth:\r\n if (org.boostedProposals >= orgParams.attentionBandwidth) {\r\n return;\r\n }\r\n\r\n // Check awaiting list is not empty:\r\n if (org.awaitingBoostProposals.length == 0) {\r\n return;\r\n }\r\n\r\n // Find maximum and add it:\r\n org.boostedProposals++;\r\n uint maxIndex;\r\n (maxIndex, ) = findMaxScore(org.awaitingBoostProposals);\r\n Proposal storage proposal = proposals[org.awaitingBoostProposals[maxIndex]];\r\n proposal.isBoostModeActive = true;\r\n proposal.isAwaitingBoost = false;\r\n uint timeFrame = proposalsParameters[proposal.paramsHash].boostTimeFrame;\r\n proposal.closingTime = block.number.add(timeFrame);\r\n\r\n // Shift array:\r\n deleteFromArray(org.awaitingBoostProposals, maxIndex);\r\n }\r\n\r\n /**\r\n * @dev voting function\r\n * @param _proposalId id of the proposal\r\n * @param _vote yes (1) / no (-1) / abstain (0)\r\n */\r\n function vote(bytes32 _proposalId, uint _vote) public votable(_proposalId) returns(bool) {\r\n return internalVote(_proposalId, _vote, msg.sender, 0);\r\n }\r\n\r\n function voteWithSpecifiedAmounts(bytes32 _proposalId, uint _vote, uint _rep, uint) public votable(_proposalId) returns(bool) {\r\n return internalVote(_proposalId, _vote, msg.sender, _rep);\r\n }\r\n\r\n /**\r\n * @dev voting function with owner functionality (can vote on behalf of someone else)\r\n * @param _proposalId id of the proposal\r\n * @param _vote yes (1) / no (-1) / abstain (0)\r\n * @param _voter will be voted with that voter's address\r\n */\r\n function ownerVote(bytes32 _proposalId, uint _vote, address _voter) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool) {\r\n bytes32 paramsHash = getParametersFromController(Avatar(proposals[_proposalId].avatar));\r\n if (! organizationsParameters[paramsHash].allowOwner) {\r\n return;\r\n }\r\n\r\n return internalVote(_proposalId, _vote, _voter, 0);\r\n }\r\n\r\n /**\r\n * @dev Cancel the vote of the msg.sender: subtract the reputation amount from the votes\r\n * and delete the voter from the proposal struct\r\n * @param _proposalId id of the proposal\r\n */\r\n function cancelVote(bytes32 _proposalId) public votable(_proposalId) {\r\n cancelVoteInternal(_proposalId, msg.sender);\r\n }\r\n\r\n /**\r\n * @dev check if the proposal has been decided, and if so, execute the proposal\r\n * @param _proposalId the id of the proposal\r\n * @return bool is the proposal has been executed or not?\r\n */\r\n // TODO: do we want to delete the vote from the proposals mapping?\r\n // TODO: add to the event if this proposal was bossted or not\r\n function execute(bytes32 _proposalId) public votable(_proposalId) returns(bool) {\r\n Proposal storage proposal = proposals[_proposalId];\r\n\r\n bytes32 orgParamsHash = getParametersFromController(Avatar(proposal.avatar));\r\n uint totalReputation = organizationsParameters[orgParamsHash].reputationSystem.totalSupply();\r\n uint precReq = proposalsParameters[proposal.paramsHash].precReq;\r\n Proposal memory tmpProposal = proposal;\r\n\r\n // Check boosted propsals:\r\n if (proposal.isBoostModeActive && block.number >= proposal.closingTime) {\r\n uint quorum = proposalsParameters[proposal.paramsHash].quorum;\r\n\r\n // Check if quorum has been reached\r\n if (proposal.totalVotes/totalReputation >= quorum) {\r\n uint max;\r\n uint maxInd;\r\n\r\n // Count which choice is the winning choice\r\n for (uint cnt = 1; cnt<=proposal.numOfChoices; cnt++) {\r\n if (proposal.votes[cnt] > max) {\r\n max = proposal.votes[cnt];\r\n maxInd = cnt;\r\n }\r\n }\r\n delete proposals[_proposalId];\r\n LogExecuteProposal(_proposalId, maxInd);\r\n (tmpProposal.executable).execute(_proposalId, tmpProposal.avatar, int(maxInd));\r\n return true;\r\n }\r\n }\r\n\r\n // Check if someone crossed the bar:\r\n for (uint cnt2 = 0; cnt2<=proposal.numOfChoices; cnt2++) {\r\n if (proposal.votes[cnt2] > totalReputation*precReq/100) {\r\n delete proposals[_proposalId];\r\n LogExecuteProposal(_proposalId, cnt);\r\n (tmpProposal.executable).execute(_proposalId, tmpProposal.avatar, int(cnt2));\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n function getNumberOfChoices(bytes32 _proposalId) public constant returns(uint) {\r\n return (proposals[_proposalId].numOfChoices);\r\n }\r\n\r\n /**\r\n * @dev voteInfo returns the vote and the amount of reputation of the user committed to this proposal\r\n * @param _proposalId the ID of the proposal\r\n * @param _voter the address of the voter\r\n * @return uint[2] array that contains the vote's info:\r\n * amount of reputation committed by _voter to _proposalId, and the voters vote (1/-1/-0)\r\n */\r\n function voteInfo(bytes32 _proposalId, address _voter) public constant returns(uint[2]) {\r\n Voter memory voter = proposals[_proposalId].voters[_voter];\r\n return [voter.vote, voter.reputation];\r\n }\r\n\r\n /**\r\n * @dev proposalStatus returns the number of yes, no, and abstain and if the proposal is ended of a given proposal id\r\n * @param _proposalId the ID of the proposal\r\n * @return int[10] array that contains the proposal's info:\r\n * number of yes, no, and abstain, and if the voting for the proposal has ended\r\n */\r\n function proposalStatus(bytes32 _proposalId) public constant returns(uint[13]) {\r\n Proposal storage proposal = proposals[_proposalId];\r\n uint opened = proposal.opened ? 1 : 0;\r\n uint[13] memory returnedArray;\r\n returnedArray[12] = opened;\r\n for (uint cnt = 0; cnt<=proposal.numOfChoices; cnt++) {\r\n returnedArray[cnt] = proposal.votes[cnt];\r\n }\r\n return returnedArray;\r\n }\r\n\r\n /**\r\n * @dev isVotable check if the proposal is open\r\n * @param _proposalId the ID of the proposal\r\n * @return bool true or false\r\n */\r\n function isVotable(bytes32 _proposalId) public constant returns(bool) {\r\n return proposals[_proposalId].opened;\r\n }\r\n\r\n /**\r\n * @dev Will try to insert a proposal to the waiting list (if there is place in the waiting list)\r\n * This function will be called only from boostProposal function\r\n * @param _proposalId the id of the proposal that is being checked\r\n */\r\n // [TODO] event\r\n function tryAwaitingBoostProposals(bytes32 _proposalId) internal {\r\n\r\n // Retrieve org and parameters hash:\r\n address avatar = proposals[_proposalId].avatar;\r\n require(avatar != address(0)); // Check propsal exists\r\n bytes32 orgParamsHash = getParametersFromController(Avatar(avatar));\r\n OrgParameters memory orgParams = organizationsParameters[orgParamsHash];\r\n Organization storage org = organizations[avatar];\r\n\r\n // If proposal already awaiting, return:\r\n if (proposals[_proposalId].isAwaitingBoost) {\r\n return;\r\n }\r\n\r\n // If there is room just add proposal:\r\n // The Waiting list is twice the attentionBandwidth\r\n uint maxAwaitingList = 2*orgParams.attentionBandwidth;\r\n if (org.awaitingBoostProposals.length < maxAwaitingList) {\r\n org.awaitingBoostProposals.push(_proposalId);\r\n proposals[_proposalId].isAwaitingBoost = true;\r\n return;\r\n }\r\n\r\n // Find minimum, if lower than current, replace:\r\n uint minIndex;\r\n uint minScore;\r\n (minIndex, minScore) = findMinScore(org.awaitingBoostProposals);\r\n if (proposalScore(_proposalId) > minIndex) {\r\n proposals[org.awaitingBoostProposals[minIndex]].isAwaitingBoost = false;\r\n proposals[_proposalId].isAwaitingBoost = true;\r\n org.awaitingBoostProposals[minIndex] = _proposalId;\r\n }\r\n }\r\n\r\n /**\r\n * @dev Internal function that actually cancel the vote and delete it from storage\r\n * @param _proposalId id of the proposal\r\n * @param _voter the address of the voter we want to cancel his vote\r\n */\r\n function cancelVoteInternal(bytes32 _proposalId, address _voter) internal {\r\n Proposal storage proposal = proposals[_proposalId];\r\n Voter memory voter = proposal.voters[_voter];\r\n\r\n proposal.votes[voter.vote] = (proposal.votes[voter.vote]).sub(voter.reputation);\r\n proposal.totalVotes = (proposal.totalVotes).sub(voter.reputation);\r\n\r\n delete proposal.voters[_voter];\r\n LogCancelVoting(_proposalId, _voter);\r\n }\r\n\r\n /**\r\n * @dev Delete an index from an array which in the storage\r\n * @param _idsArray the pointer for the array\r\n * @param _index the index we want to delete\r\n */\r\n function deleteFromArray(bytes32[] storage _idsArray, uint _index) internal {\r\n assert(_idsArray.length > _index);\r\n for (uint cnt = _index; cnt<_idsArray.length-1; cnt++) {\r\n _idsArray[cnt] = _idsArray[cnt+1];\r\n }\r\n _idsArray.length--;\r\n }\r\n\r\n /**\r\n * @dev Vote for a proposal, if the voter already voted, cancel the last vote and set a new one instead\r\n * @param _proposalId id of the proposal\r\n * @param _vote yes (1) / no (-1) / abstain (0)\r\n * @param _voter used in case the vote is cast for someone else\r\n * @return true in case of success\r\n * throws if proposal is not opened or if it is executed\r\n * NB: executes the proposal if a decision has been reached\r\n */\r\n function internalVote(bytes32 _proposalId, uint _vote, address _voter, uint _rep) private returns(bool) {\r\n Proposal storage proposal = proposals[_proposalId];\r\n bytes32 paramsHash = getParametersFromController(Avatar(proposal.avatar));\r\n OrgParameters memory orgParams = organizationsParameters[paramsHash];\r\n\r\n // If boosted proposal and ended, exectute:\r\n if (proposal.isBoostModeActive && block.number >= proposal.closingTime) {\r\n return execute(_proposalId);\r\n }\r\n\r\n // Check valid vote:\r\n require(_vote <= proposal.numOfChoices);\r\n\r\n // Check voter has enough reputation:\r\n uint reputation = orgParams.reputationSystem.reputationOf(_voter);\r\n require(reputation >= _rep);\r\n if (_rep == 0) {\r\n _rep = reputation;\r\n }\r\n\r\n // If this voter has already voted, first cancel the vote:\r\n if (proposal.voters[_voter].reputation != 0) {\r\n cancelVoteInternal(_proposalId, _voter);\r\n }\r\n\r\n // The voting itself:\r\n proposal.votes[_vote] = _rep.add(proposal.votes[_vote]);\r\n proposal.totalVotes = _rep.add(proposal.totalVotes);\r\n proposal.voters[_voter] = Voter({\r\n reputation: _rep,\r\n vote: _vote\r\n });\r\n\r\n // Check if ownerVote:\r\n bool isOwnerVote;\r\n if (_voter != msg.sender) {\r\n isOwnerVote = true;\r\n }\r\n\r\n // Event:\r\n LogVoteProposal(\r\n _proposalId,\r\n _voter,\r\n _vote,\r\n reputation,\r\n isOwnerVote\r\n );\r\n\r\n // execute the proposal if this vote was decisive:\r\n return execute(_proposalId);\r\n }\r\n\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\VotingMachines\\EmergentVoteScheme.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/EmergentVoteScheme.sol", + "exportedSymbols": { + "EmergentVoteScheme": [ + 2542 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 879, + "name": "PragmaDirective", + "src": "0:24:2" + }, + { + "attributes": { + "SourceUnit": 4358, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Reputation.sol", + "file": "../controller/Reputation.sol", + "scope": 2543, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 880, + "name": "ImportDirective", + "src": "28:38:2" + }, + { + "attributes": { + "SourceUnit": 2659, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/IntVoteInterface.sol", + "file": "./IntVoteInterface.sol", + "scope": 2543, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 881, + "name": "ImportDirective", + "src": "68:32:2" + }, + { + "attributes": { + "SourceUnit": 7230, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "file": "../universalSchemes/UniversalScheme.sol", + "scope": 2543, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 882, + "name": "ImportDirective", + "src": "102:49:2" + }, + { + "attributes": { + "contractDependencies": [ + 2658, + 7229, + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 2542, + 7229, + 7259, + 9140, + 2658 + ], + "name": "EmergentVoteScheme", + "scope": 2543 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 883, + "name": "UserDefinedTypeName", + "src": "213:16:2" + } + ], + "id": 884, + "name": "InheritanceSpecifier", + "src": "213:16:2" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalScheme", + "referencedDeclaration": 7229, + "type": "contract UniversalScheme" + }, + "id": 885, + "name": "UserDefinedTypeName", + "src": "231:15:2" + } + ], + "id": 886, + "name": "InheritanceSpecifier", + "src": "231:15:2" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 9084, + "type": "library SafeMath" + }, + "id": 887, + "name": "UserDefinedTypeName", + "src": "260:8:2" + }, + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 888, + "name": "ElementaryTypeName", + "src": "273:4:2" + } + ], + "id": 889, + "name": "UsingForDirective", + "src": "254:24:2" + }, + { + "attributes": { + "canonicalName": "EmergentVoteScheme.Organization", + "name": "Organization", + "scope": 2542, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "isRegistered", + "scope": 897, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 890, + "name": "ElementaryTypeName", + "src": "317:4:2" + } + ], + "id": 891, + "name": "VariableDeclaration", + "src": "317:17:2" + }, + { + "attributes": { + "constant": false, + "name": "boostedProposals", + "scope": 897, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 892, + "name": "ElementaryTypeName", + "src": "345:4:2" + } + ], + "id": 893, + "name": "VariableDeclaration", + "src": "345:21:2" + }, + { + "attributes": { + "constant": false, + "name": "awaitingBoostProposals", + "scope": 897, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 894, + "name": "ElementaryTypeName", + "src": "418:7:2" + } + ], + "id": 895, + "name": "ArrayTypeName", + "src": "418:9:2" + } + ], + "id": 896, + "name": "VariableDeclaration", + "src": "418:32:2" + } + ], + "id": 897, + "name": "StructDefinition", + "src": "286:237:2" + }, + { + "attributes": { + "canonicalName": "EmergentVoteScheme.OrgParameters", + "name": "OrgParameters", + "scope": 2542, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "reputationSystem", + "scope": 914, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 898, + "name": "UserDefinedTypeName", + "src": "563:10:2" + } + ], + "id": 899, + "name": "VariableDeclaration", + "src": "563:27:2" + }, + { + "attributes": { + "constant": false, + "name": "boostToken", + "scope": 914, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 900, + "name": "UserDefinedTypeName", + "src": "645:13:2" + } + ], + "id": 901, + "name": "VariableDeclaration", + "src": "645:24:2" + }, + { + "attributes": { + "constant": false, + "name": "beneficiary", + "scope": 914, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 902, + "name": "ElementaryTypeName", + "src": "739:7:2" + } + ], + "id": 903, + "name": "VariableDeclaration", + "src": "739:19:2" + }, + { + "attributes": { + "constant": false, + "name": "attentionBandwidth", + "scope": 914, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 904, + "name": "ElementaryTypeName", + "src": "861:4:2" + } + ], + "id": 905, + "name": "VariableDeclaration", + "src": "861:23:2" + }, + { + "attributes": { + "constant": false, + "name": "minBoostTimeFrame", + "scope": 914, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 906, + "name": "ElementaryTypeName", + "src": "936:4:2" + } + ], + "id": 907, + "name": "VariableDeclaration", + "src": "936:22:2" + }, + { + "attributes": { + "constant": false, + "name": "maxBoostTimeFrame", + "scope": 914, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 908, + "name": "ElementaryTypeName", + "src": "1024:4:2" + } + ], + "id": 909, + "name": "VariableDeclaration", + "src": "1024:22:2" + }, + { + "attributes": { + "constant": false, + "name": "minBoost", + "scope": 914, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 910, + "name": "ElementaryTypeName", + "src": "1112:4:2" + } + ], + "id": 911, + "name": "VariableDeclaration", + "src": "1112:13:2" + }, + { + "attributes": { + "constant": false, + "name": "allowOwner", + "scope": 914, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 912, + "name": "ElementaryTypeName", + "src": "1198:4:2" + } + ], + "id": 913, + "name": "VariableDeclaration", + "src": "1198:15:2" + } + ], + "id": 914, + "name": "StructDefinition", + "src": "531:746:2" + }, + { + "attributes": { + "canonicalName": "EmergentVoteScheme.ProposalParameters", + "name": "ProposalParameters", + "scope": 2542, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "precReq", + "scope": 921, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 915, + "name": "ElementaryTypeName", + "src": "1322:4:2" + } + ], + "id": 916, + "name": "VariableDeclaration", + "src": "1322:12:2" + }, + { + "attributes": { + "constant": false, + "name": "quorum", + "scope": 921, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 917, + "name": "ElementaryTypeName", + "src": "1411:4:2" + } + ], + "id": 918, + "name": "VariableDeclaration", + "src": "1411:11:2" + }, + { + "attributes": { + "constant": false, + "name": "boostTimeFrame", + "scope": 921, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 919, + "name": "ElementaryTypeName", + "src": "1503:4:2" + } + ], + "id": 920, + "name": "VariableDeclaration", + "src": "1503:19:2" + } + ], + "id": 921, + "name": "StructDefinition", + "src": "1285:296:2" + }, + { + "attributes": { + "canonicalName": "EmergentVoteScheme.Voter", + "name": "Voter", + "scope": 2542, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "vote", + "scope": 926, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 922, + "name": "ElementaryTypeName", + "src": "1613:4:2" + } + ], + "id": 923, + "name": "VariableDeclaration", + "src": "1613:9:2" + }, + { + "attributes": { + "constant": false, + "name": "reputation", + "scope": 926, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 924, + "name": "ElementaryTypeName", + "src": "1650:4:2" + } + ], + "id": 925, + "name": "VariableDeclaration", + "src": "1650:15:2" + } + ], + "id": 926, + "name": "StructDefinition", + "src": "1589:116:2" + }, + { + "attributes": { + "canonicalName": "EmergentVoteScheme.Proposal", + "name": "Proposal", + "scope": 2542, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "owner", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 927, + "name": "ElementaryTypeName", + "src": "1740:7:2" + } + ], + "id": 928, + "name": "VariableDeclaration", + "src": "1740:13:2" + }, + { + "attributes": { + "constant": false, + "name": "avatar", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 929, + "name": "ElementaryTypeName", + "src": "1788:7:2" + } + ], + "id": 930, + "name": "VariableDeclaration", + "src": "1788:14:2" + }, + { + "attributes": { + "constant": false, + "name": "numOfChoices", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 931, + "name": "ElementaryTypeName", + "src": "1870:4:2" + } + ], + "id": 932, + "name": "VariableDeclaration", + "src": "1870:17:2" + }, + { + "attributes": { + "constant": false, + "name": "executable", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ExecutableInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ExecutableInterface", + "referencedDeclaration": 5155, + "type": "contract ExecutableInterface" + }, + "id": 933, + "name": "UserDefinedTypeName", + "src": "1935:19:2" + } + ], + "id": 934, + "name": "VariableDeclaration", + "src": "1935:30:2" + }, + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 935, + "name": "ElementaryTypeName", + "src": "2022:7:2" + } + ], + "id": 936, + "name": "VariableDeclaration", + "src": "2022:18:2" + }, + { + "attributes": { + "constant": false, + "name": "totalVotes", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 937, + "name": "ElementaryTypeName", + "src": "2097:4:2" + } + ], + "id": 938, + "name": "VariableDeclaration", + "src": "2097:15:2" + }, + { + "attributes": { + "constant": false, + "name": "votes", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "mapping(uint256 => uint256)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 939, + "name": "ElementaryTypeName", + "src": "2158:4:2" + }, + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 940, + "name": "ElementaryTypeName", + "src": "2164:4:2" + } + ], + "id": 941, + "name": "Mapping", + "src": "2150:19:2" + } + ], + "id": 942, + "name": "VariableDeclaration", + "src": "2150:25:2" + }, + { + "attributes": { + "constant": false, + "name": "voters", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 943, + "name": "ElementaryTypeName", + "src": "2194:7:2" + }, + { + "attributes": { + "contractScope": null, + "name": "Voter", + "referencedDeclaration": 926, + "type": "struct EmergentVoteScheme.Voter storage pointer" + }, + "id": 944, + "name": "UserDefinedTypeName", + "src": "2203:5:2" + } + ], + "id": 945, + "name": "Mapping", + "src": "2186:23:2" + } + ], + "id": 946, + "name": "VariableDeclaration", + "src": "2186:30:2" + }, + { + "attributes": { + "constant": false, + "name": "opened", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 947, + "name": "ElementaryTypeName", + "src": "2227:4:2" + } + ], + "id": 948, + "name": "VariableDeclaration", + "src": "2227:11:2" + }, + { + "attributes": { + "constant": false, + "name": "isBoostModeActive", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 949, + "name": "ElementaryTypeName", + "src": "2271:4:2" + } + ], + "id": 950, + "name": "VariableDeclaration", + "src": "2271:22:2" + }, + { + "attributes": { + "constant": false, + "name": "isAwaitingBoost", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 951, + "name": "ElementaryTypeName", + "src": "2332:4:2" + } + ], + "id": 952, + "name": "VariableDeclaration", + "src": "2332:20:2" + }, + { + "attributes": { + "constant": false, + "name": "closingTime", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 953, + "name": "ElementaryTypeName", + "src": "2407:4:2" + } + ], + "id": 954, + "name": "VariableDeclaration", + "src": "2407:16:2" + }, + { + "attributes": { + "constant": false, + "name": "boostedFunds", + "scope": 957, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 955, + "name": "ElementaryTypeName", + "src": "2533:4:2" + } + ], + "id": 956, + "name": "VariableDeclaration", + "src": "2533:17:2" + } + ], + "id": 957, + "name": "StructDefinition", + "src": "1713:904:2" + }, + { + "attributes": { + "anonymous": false, + "name": "LogNewProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 965, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 958, + "name": "ElementaryTypeName", + "src": "2646:7:2" + } + ], + "id": 959, + "name": "VariableDeclaration", + "src": "2646:27:2" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_proposer", + "scope": 965, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 960, + "name": "ElementaryTypeName", + "src": "2675:7:2" + } + ], + "id": 961, + "name": "VariableDeclaration", + "src": "2675:17:2" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_paramsHash", + "scope": 965, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 962, + "name": "ElementaryTypeName", + "src": "2694:7:2" + } + ], + "id": 963, + "name": "VariableDeclaration", + "src": "2694:19:2" + } + ], + "id": 964, + "name": "ParameterList", + "src": "2645:69:2" + } + ], + "id": 965, + "name": "EventDefinition", + "src": "2625:90:2" + }, + { + "attributes": { + "anonymous": false, + "name": "LogCancelProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 969, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 966, + "name": "ElementaryTypeName", + "src": "2745:7:2" + } + ], + "id": 967, + "name": "VariableDeclaration", + "src": "2745:27:2" + } + ], + "id": 968, + "name": "ParameterList", + "src": "2744:29:2" + } + ], + "id": 969, + "name": "EventDefinition", + "src": "2721:53:2" + }, + { + "attributes": { + "anonymous": false, + "name": "LogExecuteProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 975, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 970, + "name": "ElementaryTypeName", + "src": "2805:7:2" + } + ], + "id": 971, + "name": "VariableDeclaration", + "src": "2805:27:2" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_decision", + "scope": 975, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 972, + "name": "ElementaryTypeName", + "src": "2834:4:2" + } + ], + "id": 973, + "name": "VariableDeclaration", + "src": "2834:14:2" + } + ], + "id": 974, + "name": "ParameterList", + "src": "2804:45:2" + } + ], + "id": 975, + "name": "EventDefinition", + "src": "2780:70:2" + }, + { + "attributes": { + "anonymous": false, + "name": "LogVoteProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 987, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 976, + "name": "ElementaryTypeName", + "src": "2878:7:2" + } + ], + "id": 977, + "name": "VariableDeclaration", + "src": "2878:27:2" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_voter", + "scope": 987, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 978, + "name": "ElementaryTypeName", + "src": "2907:7:2" + } + ], + "id": 979, + "name": "VariableDeclaration", + "src": "2907:22:2" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_vote", + "scope": 987, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 980, + "name": "ElementaryTypeName", + "src": "2931:4:2" + } + ], + "id": 981, + "name": "VariableDeclaration", + "src": "2931:10:2" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_reputation", + "scope": 987, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 982, + "name": "ElementaryTypeName", + "src": "2943:4:2" + } + ], + "id": 983, + "name": "VariableDeclaration", + "src": "2943:16:2" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_isOwnerVote", + "scope": 987, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 984, + "name": "ElementaryTypeName", + "src": "2961:4:2" + } + ], + "id": 985, + "name": "VariableDeclaration", + "src": "2961:17:2" + } + ], + "id": 986, + "name": "ParameterList", + "src": "2877:102:2" + } + ], + "id": 987, + "name": "EventDefinition", + "src": "2856:124:2" + }, + { + "attributes": { + "anonymous": false, + "name": "LogCancelVoting" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 993, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 988, + "name": "ElementaryTypeName", + "src": "3008:7:2" + } + ], + "id": 989, + "name": "VariableDeclaration", + "src": "3008:27:2" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_voter", + "scope": 993, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 990, + "name": "ElementaryTypeName", + "src": "3037:7:2" + } + ], + "id": 991, + "name": "VariableDeclaration", + "src": "3037:22:2" + } + ], + "id": 992, + "name": "ParameterList", + "src": "3007:53:2" + } + ], + "id": 993, + "name": "EventDefinition", + "src": "2986:75:2" + }, + { + "attributes": { + "constant": false, + "name": "organizations", + "scope": 2542, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 994, + "name": "ElementaryTypeName", + "src": "3077:7:2" + }, + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 897, + "type": "struct EmergentVoteScheme.Organization storage pointer" + }, + "id": 995, + "name": "UserDefinedTypeName", + "src": "3086:12:2" + } + ], + "id": 996, + "name": "Mapping", + "src": "3069:30:2" + } + ], + "id": 997, + "name": "VariableDeclaration", + "src": "3069:51:2" + }, + { + "attributes": { + "constant": false, + "name": "organizationsParameters", + "scope": 2542, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 998, + "name": "ElementaryTypeName", + "src": "3135:7:2" + }, + { + "attributes": { + "contractScope": null, + "name": "OrgParameters", + "referencedDeclaration": 914, + "type": "struct EmergentVoteScheme.OrgParameters storage pointer" + }, + "id": 999, + "name": "UserDefinedTypeName", + "src": "3144:13:2" + } + ], + "id": 1000, + "name": "Mapping", + "src": "3127:31:2" + } + ], + "id": 1001, + "name": "VariableDeclaration", + "src": "3127:62:2" + }, + { + "attributes": { + "constant": false, + "name": "proposalsParameters", + "scope": 2542, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1002, + "name": "ElementaryTypeName", + "src": "3204:7:2" + }, + { + "attributes": { + "contractScope": null, + "name": "ProposalParameters", + "referencedDeclaration": 921, + "type": "struct EmergentVoteScheme.ProposalParameters storage pointer" + }, + "id": 1003, + "name": "UserDefinedTypeName", + "src": "3213:18:2" + } + ], + "id": 1004, + "name": "Mapping", + "src": "3196:36:2" + } + ], + "id": 1005, + "name": "VariableDeclaration", + "src": "3196:63:2" + }, + { + "attributes": { + "constant": false, + "name": "proposals", + "scope": 2542, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1006, + "name": "ElementaryTypeName", + "src": "3314:7:2" + }, + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 957, + "type": "struct EmergentVoteScheme.Proposal storage pointer" + }, + "id": 1007, + "name": "UserDefinedTypeName", + "src": "3323:8:2" + } + ], + "id": 1008, + "name": "Mapping", + "src": "3306:26:2" + } + ], + "id": 1009, + "name": "VariableDeclaration", + "src": "3306:43:2" + }, + { + "attributes": { + "constant": true, + "name": "MAX_NUM_OF_CHOICES", + "scope": 2542, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1010, + "name": "ElementaryTypeName", + "src": "3421:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3130", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 10", + "value": "10" + }, + "id": 1011, + "name": "Literal", + "src": "3463:2:2" + } + ], + "id": 1012, + "name": "VariableDeclaration", + "src": "3421:44:2" + }, + { + "attributes": { + "constant": false, + "name": "proposalsCnt", + "scope": 2542, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1013, + "name": "ElementaryTypeName", + "src": "3472:4:2" + } + ], + "id": 1014, + "name": "VariableDeclaration", + "src": "3472:17:2" + }, + { + "attributes": { + "name": "onlyProposalOwner", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 1030, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1015, + "name": "ElementaryTypeName", + "src": "3654:7:2" + } + ], + "id": 1016, + "name": "VariableDeclaration", + "src": "3654:19:2" + } + ], + "id": 1017, + "name": "ParameterList", + "src": "3653:21:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1018, + "name": "Identifier", + "src": "3686:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 1019, + "name": "Identifier", + "src": "3694:3:2" + } + ], + "id": 1020, + "name": "MemberAccess", + "src": "3694:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 928, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1021, + "name": "Identifier", + "src": "3708:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1016, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1022, + "name": "Identifier", + "src": "3718:11:2" + } + ], + "id": 1023, + "name": "IndexAccess", + "src": "3708:22:2" + } + ], + "id": 1024, + "name": "MemberAccess", + "src": "3708:28:2" + } + ], + "id": 1025, + "name": "BinaryOperation", + "src": "3694:42:2" + } + ], + "id": 1026, + "name": "FunctionCall", + "src": "3686:51:2" + } + ], + "id": 1027, + "name": "ExpressionStatement", + "src": "3686:51:2" + }, + { + "id": 1028, + "name": "PlaceholderStatement", + "src": "3748:1:2" + } + ], + "id": 1029, + "name": "Block", + "src": "3675:82:2" + } + ], + "id": 1030, + "name": "ModifierDefinition", + "src": "3627:130:2" + }, + { + "attributes": { + "name": "votable", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 1043, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1031, + "name": "ElementaryTypeName", + "src": "3876:7:2" + } + ], + "id": 1032, + "name": "VariableDeclaration", + "src": "3876:19:2" + } + ], + "id": 1033, + "name": "ParameterList", + "src": "3875:21:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1034, + "name": "Identifier", + "src": "3908:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "opened", + "referencedDeclaration": 948, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1035, + "name": "Identifier", + "src": "3916:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1032, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1036, + "name": "Identifier", + "src": "3926:11:2" + } + ], + "id": 1037, + "name": "IndexAccess", + "src": "3916:22:2" + } + ], + "id": 1038, + "name": "MemberAccess", + "src": "3916:29:2" + } + ], + "id": 1039, + "name": "FunctionCall", + "src": "3908:38:2" + } + ], + "id": 1040, + "name": "ExpressionStatement", + "src": "3908:38:2" + }, + { + "id": 1041, + "name": "PlaceholderStatement", + "src": "3957:1:2" + } + ], + "id": 1042, + "name": "Block", + "src": "3897:69:2" + } + ], + "id": 1043, + "name": "ModifierDefinition", + "src": "3859:107:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "EmergentVoteScheme", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 1062, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 1044, + "name": "UserDefinedTypeName", + "src": "4002:13:2" + } + ], + "id": 1045, + "name": "VariableDeclaration", + "src": "4002:26:2" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 1062, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1046, + "name": "ElementaryTypeName", + "src": "4030:4:2" + } + ], + "id": 1047, + "name": "VariableDeclaration", + "src": "4030:9:2" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 1062, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1048, + "name": "ElementaryTypeName", + "src": "4041:7:2" + } + ], + "id": 1049, + "name": "VariableDeclaration", + "src": "4041:20:2" + } + ], + "id": 1050, + "name": "ParameterList", + "src": "4001:61:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1051, + "name": "ParameterList", + "src": "4070:0:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 7207 + ], + "referencedDeclaration": 7207, + "type": "function (contract StandardToken,uint256,address,bytes32)", + "value": "updateParameters" + }, + "id": 1052, + "name": "Identifier", + "src": "4081:16:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1045, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 1053, + "name": "Identifier", + "src": "4112:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1047, + "type": "uint256", + "value": "_fee" + }, + "id": 1054, + "name": "Identifier", + "src": "4139:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1049, + "type": "address", + "value": "_beneficiary" + }, + "id": 1055, + "name": "Identifier", + "src": "4145:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 1056, + "name": "ElementaryTypeNameExpression", + "src": "4172:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1057, + "name": "Literal", + "src": "4180:1:2" + } + ], + "id": 1058, + "name": "FunctionCall", + "src": "4172:10:2" + } + ], + "id": 1059, + "name": "FunctionCall", + "src": "4081:102:2" + } + ], + "id": 1060, + "name": "ExpressionStatement", + "src": "4081:102:2" + } + ], + "id": 1061, + "name": "Block", + "src": "4070:121:2" + } + ], + "id": 1062, + "name": "FunctionDefinition", + "src": "3974:217:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setOrgParameters", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_reputationSystem", + "scope": 1114, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 1063, + "name": "UserDefinedTypeName", + "src": "4335:10:2" + } + ], + "id": 1064, + "name": "VariableDeclaration", + "src": "4335:28:2" + }, + { + "attributes": { + "constant": false, + "name": "_boostToken", + "scope": 1114, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 1065, + "name": "UserDefinedTypeName", + "src": "4374:13:2" + } + ], + "id": 1066, + "name": "VariableDeclaration", + "src": "4374:25:2" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 1114, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1067, + "name": "ElementaryTypeName", + "src": "4410:7:2" + } + ], + "id": 1068, + "name": "VariableDeclaration", + "src": "4410:20:2" + }, + { + "attributes": { + "constant": false, + "name": "_attentionBandwidth", + "scope": 1114, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1069, + "name": "ElementaryTypeName", + "src": "4441:4:2" + } + ], + "id": 1070, + "name": "VariableDeclaration", + "src": "4441:24:2" + }, + { + "attributes": { + "constant": false, + "name": "_minBoostTimeFrame", + "scope": 1114, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1071, + "name": "ElementaryTypeName", + "src": "4476:4:2" + } + ], + "id": 1072, + "name": "VariableDeclaration", + "src": "4476:23:2" + }, + { + "attributes": { + "constant": false, + "name": "_maxBoostTimeFrame", + "scope": 1114, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1073, + "name": "ElementaryTypeName", + "src": "4510:4:2" + } + ], + "id": 1074, + "name": "VariableDeclaration", + "src": "4510:23:2" + }, + { + "attributes": { + "constant": false, + "name": "_minBoost", + "scope": 1114, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1075, + "name": "ElementaryTypeName", + "src": "4544:4:2" + } + ], + "id": 1076, + "name": "VariableDeclaration", + "src": "4544:14:2" + }, + { + "attributes": { + "constant": false, + "name": "_allowOwner", + "scope": 1114, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1077, + "name": "ElementaryTypeName", + "src": "4569:4:2" + } + ], + "id": 1078, + "name": "VariableDeclaration", + "src": "4569:16:2" + } + ], + "id": 1079, + "name": "ParameterList", + "src": "4324:268:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1114, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1080, + "name": "ElementaryTypeName", + "src": "4608:7:2" + } + ], + "id": 1081, + "name": "VariableDeclaration", + "src": "4608:7:2" + } + ], + "id": 1082, + "name": "ParameterList", + "src": "4607:9:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1084 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 1114, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1083, + "name": "ElementaryTypeName", + "src": "4633:7:2" + } + ], + "id": 1084, + "name": "VariableDeclaration", + "src": "4633:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Reputation_$4357", + "typeString": "contract Reputation" + }, + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "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_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1151, + "type": "function (contract Reputation,contract StandardToken,address,uint256,uint256,uint256,uint256,bool) pure returns (bytes32)", + "value": "getOrgParametersHash" + }, + "id": 1085, + "name": "Identifier", + "src": "4654:20:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1064, + "type": "contract Reputation", + "value": "_reputationSystem" + }, + "id": 1086, + "name": "Identifier", + "src": "4689:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1066, + "type": "contract StandardToken", + "value": "_boostToken" + }, + "id": 1087, + "name": "Identifier", + "src": "4721:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1068, + "type": "address", + "value": "_beneficiary" + }, + "id": 1088, + "name": "Identifier", + "src": "4747:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1070, + "type": "uint256", + "value": "_attentionBandwidth" + }, + "id": 1089, + "name": "Identifier", + "src": "4774:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1072, + "type": "uint256", + "value": "_minBoostTimeFrame" + }, + "id": 1090, + "name": "Identifier", + "src": "4808:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1074, + "type": "uint256", + "value": "_maxBoostTimeFrame" + }, + "id": 1091, + "name": "Identifier", + "src": "4841:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1076, + "type": "uint256", + "value": "_minBoost" + }, + "id": 1092, + "name": "Identifier", + "src": "4874:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1078, + "type": "bool", + "value": "_allowOwner" + }, + "id": 1093, + "name": "Identifier", + "src": "4898:11:2" + } + ], + "id": 1094, + "name": "FunctionCall", + "src": "4654:266:2" + } + ], + "id": 1095, + "name": "VariableDeclarationStatement", + "src": "4633:287:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct EmergentVoteScheme.OrgParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct EmergentVoteScheme.OrgParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1001, + "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)", + "value": "organizationsParameters" + }, + "id": 1096, + "name": "Identifier", + "src": "4931:23:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1084, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 1097, + "name": "Identifier", + "src": "4955:10:2" + } + ], + "id": 1098, + "name": "IndexAccess", + "src": "4931:35:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "reputationSystem", + "boostToken", + "beneficiary", + "attentionBandwidth", + "minBoostTimeFrame", + "maxBoostTimeFrame", + "minBoost", + "allowOwner" + ], + "type": "struct EmergentVoteScheme.OrgParameters memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 914, + "type": "type(struct EmergentVoteScheme.OrgParameters storage pointer)", + "value": "OrgParameters" + }, + "id": 1099, + "name": "Identifier", + "src": "4969:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1064, + "type": "contract Reputation", + "value": "_reputationSystem" + }, + "id": 1100, + "name": "Identifier", + "src": "5016:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1066, + "type": "contract StandardToken", + "value": "_boostToken" + }, + "id": 1101, + "name": "Identifier", + "src": "5060:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1068, + "type": "address", + "value": "_beneficiary" + }, + "id": 1102, + "name": "Identifier", + "src": "5099:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1070, + "type": "uint256", + "value": "_attentionBandwidth" + }, + "id": 1103, + "name": "Identifier", + "src": "5146:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1072, + "type": "uint256", + "value": "_minBoostTimeFrame" + }, + "id": 1104, + "name": "Identifier", + "src": "5199:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1074, + "type": "uint256", + "value": "_maxBoostTimeFrame" + }, + "id": 1105, + "name": "Identifier", + "src": "5251:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1076, + "type": "uint256", + "value": "_minBoost" + }, + "id": 1106, + "name": "Identifier", + "src": "5294:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1078, + "type": "bool", + "value": "_allowOwner" + }, + "id": 1107, + "name": "Identifier", + "src": "5330:11:2" + } + ], + "id": 1108, + "name": "FunctionCall", + "src": "4969:384:2" + } + ], + "id": 1109, + "name": "Assignment", + "src": "4931:422:2" + } + ], + "id": 1110, + "name": "ExpressionStatement", + "src": "4931:422:2" + }, + { + "attributes": { + "functionReturnParameters": 1082 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1084, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 1111, + "name": "Identifier", + "src": "5371:10:2" + } + ], + "id": 1112, + "name": "Return", + "src": "5364:17:2" + } + ], + "id": 1113, + "name": "Block", + "src": "4622:767:2" + } + ], + "id": 1114, + "name": "FunctionDefinition", + "src": "4299:1090:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getOrgParametersHash", + "payable": false, + "scope": 2542, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_reputationSystem", + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 1115, + "name": "UserDefinedTypeName", + "src": "5437:10:2" + } + ], + "id": 1116, + "name": "VariableDeclaration", + "src": "5437:28:2" + }, + { + "attributes": { + "constant": false, + "name": "_boostToken", + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 1117, + "name": "UserDefinedTypeName", + "src": "5476:13:2" + } + ], + "id": 1118, + "name": "VariableDeclaration", + "src": "5476:25:2" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1119, + "name": "ElementaryTypeName", + "src": "5512:7:2" + } + ], + "id": 1120, + "name": "VariableDeclaration", + "src": "5512:20:2" + }, + { + "attributes": { + "constant": false, + "name": "_attentionBandwidth", + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1121, + "name": "ElementaryTypeName", + "src": "5543:4:2" + } + ], + "id": 1122, + "name": "VariableDeclaration", + "src": "5543:24:2" + }, + { + "attributes": { + "constant": false, + "name": "_minBoostTimeFrame", + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1123, + "name": "ElementaryTypeName", + "src": "5578:4:2" + } + ], + "id": 1124, + "name": "VariableDeclaration", + "src": "5578:23:2" + }, + { + "attributes": { + "constant": false, + "name": "_maxBoostTimeFrame", + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1125, + "name": "ElementaryTypeName", + "src": "5612:4:2" + } + ], + "id": 1126, + "name": "VariableDeclaration", + "src": "5612:23:2" + }, + { + "attributes": { + "constant": false, + "name": "_minBoost", + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1127, + "name": "ElementaryTypeName", + "src": "5646:4:2" + } + ], + "id": 1128, + "name": "VariableDeclaration", + "src": "5646:14:2" + }, + { + "attributes": { + "constant": false, + "name": "_allowOwner", + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1129, + "name": "ElementaryTypeName", + "src": "5671:4:2" + } + ], + "id": 1130, + "name": "VariableDeclaration", + "src": "5671:16:2" + } + ], + "id": 1131, + "name": "ParameterList", + "src": "5426:268:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1132, + "name": "ElementaryTypeName", + "src": "5715:7:2" + } + ], + "id": 1133, + "name": "VariableDeclaration", + "src": "5715:7:2" + } + ], + "id": 1134, + "name": "ParameterList", + "src": "5714:9:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1136 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 1151, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1135, + "name": "ElementaryTypeName", + "src": "5740:7:2" + } + ], + "id": 1136, + "name": "VariableDeclaration", + "src": "5740:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Reputation_$4357", + "typeString": "contract Reputation" + }, + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "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_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 1137, + "name": "Identifier", + "src": "5761:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1116, + "type": "contract Reputation", + "value": "_reputationSystem" + }, + "id": 1138, + "name": "Identifier", + "src": "5785:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1118, + "type": "contract StandardToken", + "value": "_boostToken" + }, + "id": 1139, + "name": "Identifier", + "src": "5817:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1120, + "type": "address", + "value": "_beneficiary" + }, + "id": 1140, + "name": "Identifier", + "src": "5843:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1122, + "type": "uint256", + "value": "_attentionBandwidth" + }, + "id": 1141, + "name": "Identifier", + "src": "5870:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1124, + "type": "uint256", + "value": "_minBoostTimeFrame" + }, + "id": 1142, + "name": "Identifier", + "src": "5904:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1126, + "type": "uint256", + "value": "_maxBoostTimeFrame" + }, + "id": 1143, + "name": "Identifier", + "src": "5937:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1128, + "type": "uint256", + "value": "_minBoost" + }, + "id": 1144, + "name": "Identifier", + "src": "5970:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1130, + "type": "bool", + "value": "_allowOwner" + }, + "id": 1145, + "name": "Identifier", + "src": "5994:11:2" + } + ], + "id": 1146, + "name": "FunctionCall", + "src": "5761:255:2" + } + ], + "id": 1147, + "name": "VariableDeclarationStatement", + "src": "5740:276:2" + }, + { + "attributes": { + "functionReturnParameters": 1134 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1136, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 1148, + "name": "Identifier", + "src": "6034:10:2" + } + ], + "id": 1149, + "name": "Return", + "src": "6027:17:2" + } + ], + "id": 1150, + "name": "Block", + "src": "5729:323:2" + } + ], + "id": 1151, + "name": "FunctionDefinition", + "src": "5397:655:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setProposalParameters", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_precReq", + "scope": 1203, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1152, + "name": "ElementaryTypeName", + "src": "6531:4:2" + } + ], + "id": 1153, + "name": "VariableDeclaration", + "src": "6531:13:2" + }, + { + "attributes": { + "constant": false, + "name": "_quorum", + "scope": 1203, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1154, + "name": "ElementaryTypeName", + "src": "6546:4:2" + } + ], + "id": 1155, + "name": "VariableDeclaration", + "src": "6546:12:2" + }, + { + "attributes": { + "constant": false, + "name": "_boostTimeFrame", + "scope": 1203, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1156, + "name": "ElementaryTypeName", + "src": "6560:4:2" + } + ], + "id": 1157, + "name": "VariableDeclaration", + "src": "6560:20:2" + } + ], + "id": 1158, + "name": "ParameterList", + "src": "6530:51:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1203, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1159, + "name": "ElementaryTypeName", + "src": "6597:7:2" + } + ], + "id": 1160, + "name": "VariableDeclaration", + "src": "6597:7:2" + } + ], + "id": 1161, + "name": "ParameterList", + "src": "6596:9:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1162, + "name": "Identifier", + "src": "6617:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1153, + "type": "uint256", + "value": "_precReq" + }, + "id": 1163, + "name": "Identifier", + "src": "6625:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "313030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 100", + "value": "100" + }, + "id": 1164, + "name": "Literal", + "src": "6637:3:2" + } + ], + "id": 1165, + "name": "BinaryOperation", + "src": "6625:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1153, + "type": "uint256", + "value": "_precReq" + }, + "id": 1166, + "name": "Identifier", + "src": "6644:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1167, + "name": "Literal", + "src": "6655:1:2" + } + ], + "id": 1168, + "name": "BinaryOperation", + "src": "6644:12:2" + } + ], + "id": 1169, + "name": "BinaryOperation", + "src": "6625:31:2" + } + ], + "id": 1170, + "name": "FunctionCall", + "src": "6617:40:2" + } + ], + "id": 1171, + "name": "ExpressionStatement", + "src": "6617:40:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1172, + "name": "Identifier", + "src": "6668:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1155, + "type": "uint256", + "value": "_quorum" + }, + "id": 1173, + "name": "Identifier", + "src": "6676:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "313030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 100", + "value": "100" + }, + "id": 1174, + "name": "Literal", + "src": "6687:3:2" + } + ], + "id": 1175, + "name": "BinaryOperation", + "src": "6676:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1155, + "type": "uint256", + "value": "_quorum" + }, + "id": 1176, + "name": "Identifier", + "src": "6694:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1177, + "name": "Literal", + "src": "6704:1:2" + } + ], + "id": 1178, + "name": "BinaryOperation", + "src": "6694:11:2" + } + ], + "id": 1179, + "name": "BinaryOperation", + "src": "6676:29:2" + } + ], + "id": 1180, + "name": "FunctionCall", + "src": "6668:38:2" + } + ], + "id": 1181, + "name": "ExpressionStatement", + "src": "6668:38:2" + }, + { + "attributes": { + "assignments": [ + 1183 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "hashedParameters", + "scope": 1203, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1182, + "name": "ElementaryTypeName", + "src": "6717:7:2" + } + ], + "id": 1183, + "name": "VariableDeclaration", + "src": "6717:24:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1221, + "type": "function (uint256,uint256,uint256) pure returns (bytes32)", + "value": "getProposalParametersHash" + }, + "id": 1184, + "name": "Identifier", + "src": "6744:25:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1153, + "type": "uint256", + "value": "_precReq" + }, + "id": 1185, + "name": "Identifier", + "src": "6770:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1155, + "type": "uint256", + "value": "_quorum" + }, + "id": 1186, + "name": "Identifier", + "src": "6780:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1157, + "type": "uint256", + "value": "_boostTimeFrame" + }, + "id": 1187, + "name": "Identifier", + "src": "6789:15:2" + } + ], + "id": 1188, + "name": "FunctionCall", + "src": "6744:61:2" + } + ], + "id": 1189, + "name": "VariableDeclarationStatement", + "src": "6717:88:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct EmergentVoteScheme.ProposalParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct EmergentVoteScheme.ProposalParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1005, + "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)", + "value": "proposalsParameters" + }, + "id": 1190, + "name": "Identifier", + "src": "6816:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1183, + "type": "bytes32", + "value": "hashedParameters" + }, + "id": 1191, + "name": "Identifier", + "src": "6836:16:2" + } + ], + "id": 1192, + "name": "IndexAccess", + "src": "6816:37:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "precReq", + "quorum", + "boostTimeFrame" + ], + "type": "struct EmergentVoteScheme.ProposalParameters memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 921, + "type": "type(struct EmergentVoteScheme.ProposalParameters storage pointer)", + "value": "ProposalParameters" + }, + "id": 1193, + "name": "Identifier", + "src": "6856:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1153, + "type": "uint256", + "value": "_precReq" + }, + "id": 1194, + "name": "Identifier", + "src": "6899:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1155, + "type": "uint256", + "value": "_quorum" + }, + "id": 1195, + "name": "Identifier", + "src": "6930:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1157, + "type": "uint256", + "value": "_boostTimeFrame" + }, + "id": 1196, + "name": "Identifier", + "src": "6968:15:2" + } + ], + "id": 1197, + "name": "FunctionCall", + "src": "6856:139:2" + } + ], + "id": 1198, + "name": "Assignment", + "src": "6816:179:2" + } + ], + "id": 1199, + "name": "ExpressionStatement", + "src": "6816:179:2" + }, + { + "attributes": { + "functionReturnParameters": 1161 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1183, + "type": "bytes32", + "value": "hashedParameters" + }, + "id": 1200, + "name": "Identifier", + "src": "7013:16:2" + } + ], + "id": 1201, + "name": "Return", + "src": "7006:23:2" + } + ], + "id": 1202, + "name": "Block", + "src": "6606:431:2" + } + ], + "id": 1203, + "name": "FunctionDefinition", + "src": "6500:537:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getProposalParametersHash", + "payable": false, + "scope": 2542, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_precReq", + "scope": 1221, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1204, + "name": "ElementaryTypeName", + "src": "7163:4:2" + } + ], + "id": 1205, + "name": "VariableDeclaration", + "src": "7163:13:2" + }, + { + "attributes": { + "constant": false, + "name": "_quorum", + "scope": 1221, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1206, + "name": "ElementaryTypeName", + "src": "7178:4:2" + } + ], + "id": 1207, + "name": "VariableDeclaration", + "src": "7178:12:2" + }, + { + "attributes": { + "constant": false, + "name": "_boostTimeFrame", + "scope": 1221, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1208, + "name": "ElementaryTypeName", + "src": "7192:4:2" + } + ], + "id": 1209, + "name": "VariableDeclaration", + "src": "7192:20:2" + } + ], + "id": 1210, + "name": "ParameterList", + "src": "7162:51:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1221, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1211, + "name": "ElementaryTypeName", + "src": "7234:7:2" + } + ], + "id": 1212, + "name": "VariableDeclaration", + "src": "7234:7:2" + } + ], + "id": 1213, + "name": "ParameterList", + "src": "7233:9:2" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 1213 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 1214, + "name": "Identifier", + "src": "7261:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1205, + "type": "uint256", + "value": "_precReq" + }, + "id": 1215, + "name": "Identifier", + "src": "7271:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1207, + "type": "uint256", + "value": "_quorum" + }, + "id": 1216, + "name": "Identifier", + "src": "7281:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1209, + "type": "uint256", + "value": "_boostTimeFrame" + }, + "id": 1217, + "name": "Identifier", + "src": "7290:15:2" + } + ], + "id": 1218, + "name": "FunctionCall", + "src": "7261:45:2" + } + ], + "id": 1219, + "name": "Return", + "src": "7254:52:2" + } + ], + "id": 1220, + "name": "Block", + "src": "7243:71:2" + } + ], + "id": 1221, + "name": "FunctionDefinition", + "src": "7128:186:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "propose", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": 2570, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_numOfChoices", + "scope": 1326, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1222, + "name": "ElementaryTypeName", + "src": "7923:4:2" + } + ], + "id": 1223, + "name": "VariableDeclaration", + "src": "7923:18:2" + }, + { + "attributes": { + "constant": false, + "name": "_paramsHash", + "scope": 1326, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1224, + "name": "ElementaryTypeName", + "src": "7952:7:2" + } + ], + "id": 1225, + "name": "VariableDeclaration", + "src": "7952:19:2" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 1326, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1226, + "name": "ElementaryTypeName", + "src": "7982:7:2" + } + ], + "id": 1227, + "name": "VariableDeclaration", + "src": "7982:15:2" + }, + { + "attributes": { + "constant": false, + "name": "_executable", + "scope": 1326, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ExecutableInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ExecutableInterface", + "referencedDeclaration": 5155, + "type": "contract ExecutableInterface" + }, + "id": 1228, + "name": "UserDefinedTypeName", + "src": "8008:19:2" + } + ], + "id": 1229, + "name": "VariableDeclaration", + "src": "8008:31:2" + } + ], + "id": 1230, + "name": "ParameterList", + "src": "7912:134:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1326, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1231, + "name": "ElementaryTypeName", + "src": "8062:7:2" + } + ], + "id": 1232, + "name": "VariableDeclaration", + "src": "8062:7:2" + } + ], + "id": 1233, + "name": "ParameterList", + "src": "8061:9:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1234, + "name": "Identifier", + "src": "8130:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1223, + "type": "uint256", + "value": "_numOfChoices" + }, + "id": 1235, + "name": "Identifier", + "src": "8138:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1236, + "name": "Literal", + "src": "8154:1:2" + } + ], + "id": 1237, + "name": "BinaryOperation", + "src": "8138:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1223, + "type": "uint256", + "value": "_numOfChoices" + }, + "id": 1238, + "name": "Identifier", + "src": "8159:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1012, + "type": "uint256", + "value": "MAX_NUM_OF_CHOICES" + }, + "id": 1239, + "name": "Identifier", + "src": "8176:18:2" + } + ], + "id": 1240, + "name": "BinaryOperation", + "src": "8159:35:2" + } + ], + "id": 1241, + "name": "BinaryOperation", + "src": "8138:56:2" + } + ], + "id": 1242, + "name": "FunctionCall", + "src": "8130:65:2" + } + ], + "id": 1243, + "name": "ExpressionStatement", + "src": "8130:65:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1244, + "name": "Identifier", + "src": "8245:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "isRegistered", + "referencedDeclaration": 891, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 997, + "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)", + "value": "organizations" + }, + "id": 1245, + "name": "Identifier", + "src": "8253:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1227, + "type": "address", + "value": "_avatar" + }, + "id": 1246, + "name": "Identifier", + "src": "8267:7:2" + } + ], + "id": 1247, + "name": "IndexAccess", + "src": "8253:22:2" + } + ], + "id": 1248, + "name": "MemberAccess", + "src": "8253:35:2" + } + ], + "id": 1249, + "name": "FunctionCall", + "src": "8245:44:2" + } + ], + "id": 1250, + "name": "ExpressionStatement", + "src": "8245:44:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1251, + "name": "Identifier", + "src": "8334:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "precReq", + "referencedDeclaration": 916, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.ProposalParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1005, + "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)", + "value": "proposalsParameters" + }, + "id": 1252, + "name": "Identifier", + "src": "8342:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1225, + "type": "bytes32", + "value": "_paramsHash" + }, + "id": 1253, + "name": "Identifier", + "src": "8362:11:2" + } + ], + "id": 1254, + "name": "IndexAccess", + "src": "8342:32:2" + } + ], + "id": 1255, + "name": "MemberAccess", + "src": "8342:40:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1256, + "name": "Literal", + "src": "8386:1:2" + } + ], + "id": 1257, + "name": "BinaryOperation", + "src": "8342:45:2" + } + ], + "id": 1258, + "name": "FunctionCall", + "src": "8334:54:2" + } + ], + "id": 1259, + "name": "ExpressionStatement", + "src": "8334:54:2" + }, + { + "attributes": { + "assignments": [ + 1261 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposalId", + "scope": 1326, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1260, + "name": "ElementaryTypeName", + "src": "8435:7:2" + } + ], + "id": 1261, + "name": "VariableDeclaration", + "src": "8435:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_EmergentVoteScheme_$2542", + "typeString": "contract EmergentVoteScheme" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 1262, + "name": "Identifier", + "src": "8456:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9789, + "type": "contract EmergentVoteScheme", + "value": "this" + }, + "id": 1263, + "name": "Identifier", + "src": "8466:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1014, + "type": "uint256", + "value": "proposalsCnt" + }, + "id": 1264, + "name": "Identifier", + "src": "8472:12:2" + } + ], + "id": 1265, + "name": "FunctionCall", + "src": "8456:29:2" + } + ], + "id": 1266, + "name": "VariableDeclarationStatement", + "src": "8435:50:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1014, + "type": "uint256", + "value": "proposalsCnt" + }, + "id": 1267, + "name": "Identifier", + "src": "8496:12:2" + } + ], + "id": 1268, + "name": "UnaryOperation", + "src": "8496:14:2" + } + ], + "id": 1269, + "name": "ExpressionStatement", + "src": "8496:14:2" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 1326, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct EmergentVoteScheme.Proposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 957, + "type": "struct EmergentVoteScheme.Proposal storage pointer" + }, + "id": 1270, + "name": "UserDefinedTypeName", + "src": "8550:8:2" + } + ], + "id": 1271, + "name": "VariableDeclaration", + "src": "8550:24:2" + } + ], + "id": 1272, + "name": "VariableDeclarationStatement", + "src": "8550:24:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "paramsHash", + "referencedDeclaration": 936, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1271, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "proposal" + }, + "id": 1273, + "name": "Identifier", + "src": "8585:8:2" + } + ], + "id": 1275, + "name": "MemberAccess", + "src": "8585:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1225, + "type": "bytes32", + "value": "_paramsHash" + }, + "id": 1276, + "name": "Identifier", + "src": "8607:11:2" + } + ], + "id": 1277, + "name": "Assignment", + "src": "8585:33:2" + } + ], + "id": 1278, + "name": "ExpressionStatement", + "src": "8585:33:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "numOfChoices", + "referencedDeclaration": 932, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1271, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "proposal" + }, + "id": 1279, + "name": "Identifier", + "src": "8629:8:2" + } + ], + "id": 1281, + "name": "MemberAccess", + "src": "8629:21:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1223, + "type": "uint256", + "value": "_numOfChoices" + }, + "id": 1282, + "name": "Identifier", + "src": "8653:13:2" + } + ], + "id": 1283, + "name": "Assignment", + "src": "8629:37:2" + } + ], + "id": 1284, + "name": "ExpressionStatement", + "src": "8629:37:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "avatar", + "referencedDeclaration": 930, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1271, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "proposal" + }, + "id": 1285, + "name": "Identifier", + "src": "8677:8:2" + } + ], + "id": 1287, + "name": "MemberAccess", + "src": "8677:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1227, + "type": "address", + "value": "_avatar" + }, + "id": 1288, + "name": "Identifier", + "src": "8695:7:2" + } + ], + "id": 1289, + "name": "Assignment", + "src": "8677:25:2" + } + ], + "id": 1290, + "name": "ExpressionStatement", + "src": "8677:25:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "executable", + "referencedDeclaration": 934, + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1271, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "proposal" + }, + "id": 1291, + "name": "Identifier", + "src": "8713:8:2" + } + ], + "id": 1293, + "name": "MemberAccess", + "src": "8713:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1229, + "type": "contract ExecutableInterface", + "value": "_executable" + }, + "id": 1294, + "name": "Identifier", + "src": "8735:11:2" + } + ], + "id": 1295, + "name": "Assignment", + "src": "8713:33:2" + } + ], + "id": 1296, + "name": "ExpressionStatement", + "src": "8713:33:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "owner", + "referencedDeclaration": 928, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1271, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "proposal" + }, + "id": 1297, + "name": "Identifier", + "src": "8757:8:2" + } + ], + "id": 1299, + "name": "MemberAccess", + "src": "8757:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 1300, + "name": "Identifier", + "src": "8774:3:2" + } + ], + "id": 1301, + "name": "MemberAccess", + "src": "8774:10:2" + } + ], + "id": 1302, + "name": "Assignment", + "src": "8757:27:2" + } + ], + "id": 1303, + "name": "ExpressionStatement", + "src": "8757:27:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "opened", + "referencedDeclaration": 948, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1271, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "proposal" + }, + "id": 1304, + "name": "Identifier", + "src": "8795:8:2" + } + ], + "id": 1306, + "name": "MemberAccess", + "src": "8795:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1307, + "name": "Literal", + "src": "8813:4:2" + } + ], + "id": 1308, + "name": "Assignment", + "src": "8795:22:2" + } + ], + "id": 1309, + "name": "ExpressionStatement", + "src": "8795:22:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1310, + "name": "Identifier", + "src": "8828:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1261, + "type": "bytes32", + "value": "proposalId" + }, + "id": 1311, + "name": "Identifier", + "src": "8838:10:2" + } + ], + "id": 1312, + "name": "IndexAccess", + "src": "8828:21:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1271, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "proposal" + }, + "id": 1313, + "name": "Identifier", + "src": "8852:8:2" + } + ], + "id": 1314, + "name": "Assignment", + "src": "8828:32:2" + } + ], + "id": 1315, + "name": "ExpressionStatement", + "src": "8828:32:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 965, + 7117 + ], + "referencedDeclaration": 965, + "type": "function (bytes32,address,bytes32)", + "value": "LogNewProposal" + }, + "id": 1316, + "name": "Identifier", + "src": "8871:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1261, + "type": "bytes32", + "value": "proposalId" + }, + "id": 1317, + "name": "Identifier", + "src": "8886:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 1318, + "name": "Identifier", + "src": "8898:3:2" + } + ], + "id": 1319, + "name": "MemberAccess", + "src": "8898:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1225, + "type": "bytes32", + "value": "_paramsHash" + }, + "id": 1320, + "name": "Identifier", + "src": "8910:11:2" + } + ], + "id": 1321, + "name": "FunctionCall", + "src": "8871:51:2" + } + ], + "id": 1322, + "name": "ExpressionStatement", + "src": "8871:51:2" + }, + { + "attributes": { + "functionReturnParameters": 1233 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1261, + "type": "bytes32", + "value": "proposalId" + }, + "id": 1323, + "name": "Identifier", + "src": "8940:10:2" + } + ], + "id": 1324, + "name": "Return", + "src": "8933:17:2" + } + ], + "id": 1325, + "name": "Block", + "src": "8076:882:2" + } + ], + "id": 1326, + "name": "FunctionDefinition", + "src": "7896:1062:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "cancelProposal", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": 2583, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 1404, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1327, + "name": "ElementaryTypeName", + "src": "9231:7:2" + } + ], + "id": 1328, + "name": "VariableDeclaration", + "src": "9231:19:2" + } + ], + "id": 1329, + "name": "ParameterList", + "src": "9230:21:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1404, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1336, + "name": "ElementaryTypeName", + "src": "9319:4:2" + } + ], + "id": 1337, + "name": "VariableDeclaration", + "src": "9319:4:2" + } + ], + "id": 1338, + "name": "ParameterList", + "src": "9318:6:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1030, + "type": "modifier (bytes32)", + "value": "onlyProposalOwner" + }, + "id": 1330, + "name": "Identifier", + "src": "9259:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1328, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1331, + "name": "Identifier", + "src": "9277:11:2" + } + ], + "id": 1332, + "name": "ModifierInvocation", + "src": "9259:30:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1043, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 1333, + "name": "Identifier", + "src": "9290:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1328, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1334, + "name": "Identifier", + "src": "9298:11:2" + } + ], + "id": 1335, + "name": "ModifierInvocation", + "src": "9290:20:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1340 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "avatar", + "scope": 1404, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1339, + "name": "ElementaryTypeName", + "src": "9336:7:2" + } + ], + "id": 1340, + "name": "VariableDeclaration", + "src": "9336:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "avatar", + "referencedDeclaration": 930, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1341, + "name": "Identifier", + "src": "9353:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1328, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1342, + "name": "Identifier", + "src": "9363:11:2" + } + ], + "id": 1343, + "name": "IndexAccess", + "src": "9353:22:2" + } + ], + "id": 1344, + "name": "MemberAccess", + "src": "9353:29:2" + } + ], + "id": 1345, + "name": "VariableDeclarationStatement", + "src": "9336:46:2" + }, + { + "attributes": { + "assignments": [ + 1347 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 1404, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1346, + "name": "ElementaryTypeName", + "src": "9393:7:2" + } + ], + "id": 1347, + "name": "VariableDeclaration", + "src": "9393:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 1348, + "name": "Identifier", + "src": "9414:27:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 1349, + "name": "Identifier", + "src": "9442:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1340, + "type": "address", + "value": "avatar" + }, + "id": 1350, + "name": "Identifier", + "src": "9449:6:2" + } + ], + "id": 1351, + "name": "FunctionCall", + "src": "9442:14:2" + } + ], + "id": 1352, + "name": "FunctionCall", + "src": "9414:43:2" + } + ], + "id": 1353, + "name": "VariableDeclarationStatement", + "src": "9393:64:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "allowOwner", + "referencedDeclaration": 913, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.OrgParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1001, + "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)", + "value": "organizationsParameters" + }, + "id": 1354, + "name": "Identifier", + "src": "9474:23:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1347, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 1355, + "name": "Identifier", + "src": "9498:10:2" + } + ], + "id": 1356, + "name": "IndexAccess", + "src": "9474:35:2" + } + ], + "id": 1357, + "name": "MemberAccess", + "src": "9474:46:2" + } + ], + "id": 1358, + "name": "UnaryOperation", + "src": "9472:48:2" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 1338 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 1359, + "name": "Literal", + "src": "9544:5:2" + } + ], + "id": 1360, + "name": "Return", + "src": "9537:12:2" + } + ], + "id": 1361, + "name": "Block", + "src": "9522:39:2" + } + ], + "id": 1362, + "name": "IfStatement", + "src": "9468:93:2" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "isFound", + "scope": 1404, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1363, + "name": "ElementaryTypeName", + "src": "9634:4:2" + } + ], + "id": 1364, + "name": "VariableDeclaration", + "src": "9634:12:2" + } + ], + "id": 1365, + "name": "VariableDeclarationStatement", + "src": "9634:12:2" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "index", + "scope": 1404, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1366, + "name": "ElementaryTypeName", + "src": "9657:4:2" + } + ], + "id": 1367, + "name": "VariableDeclaration", + "src": "9657:10:2" + } + ], + "id": 1368, + "name": "VariableDeclarationStatement", + "src": "9657:10:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "tuple(bool,uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1364, + "type": "bool", + "value": "isFound" + }, + "id": 1369, + "name": "Identifier", + "src": "9679:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1367, + "type": "uint256", + "value": "index" + }, + "id": 1370, + "name": "Identifier", + "src": "9688:5:2" + } + ], + "id": 1371, + "name": "TupleExpression", + "src": "9678:16:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple(bool,uint256)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1553, + "type": "function (bytes32[] memory,bytes32) pure returns (bool,uint256)", + "value": "findInArray" + }, + "id": 1372, + "name": "Identifier", + "src": "9697:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 997, + "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)", + "value": "organizations" + }, + "id": 1373, + "name": "Identifier", + "src": "9709:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1340, + "type": "address", + "value": "avatar" + }, + "id": 1374, + "name": "Identifier", + "src": "9723:6:2" + } + ], + "id": 1375, + "name": "IndexAccess", + "src": "9709:21:2" + } + ], + "id": 1376, + "name": "MemberAccess", + "src": "9709:44:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1328, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1377, + "name": "Identifier", + "src": "9755:11:2" + } + ], + "id": 1378, + "name": "FunctionCall", + "src": "9697:70:2" + } + ], + "id": 1379, + "name": "Assignment", + "src": "9678:89:2" + } + ], + "id": 1380, + "name": "ExpressionStatement", + "src": "9678:89:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1364, + "type": "bool", + "value": "isFound" + }, + "id": 1381, + "name": "Identifier", + "src": "9782:7:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2388, + "type": "function (bytes32[] storage pointer,uint256)", + "value": "deleteFromArray" + }, + "id": 1382, + "name": "Identifier", + "src": "9806:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 997, + "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)", + "value": "organizations" + }, + "id": 1383, + "name": "Identifier", + "src": "9822:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1340, + "type": "address", + "value": "avatar" + }, + "id": 1384, + "name": "Identifier", + "src": "9836:6:2" + } + ], + "id": 1385, + "name": "IndexAccess", + "src": "9822:21:2" + } + ], + "id": 1386, + "name": "MemberAccess", + "src": "9822:44:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1367, + "type": "uint256", + "value": "index" + }, + "id": 1387, + "name": "Identifier", + "src": "9868:5:2" + } + ], + "id": 1388, + "name": "FunctionCall", + "src": "9806:68:2" + } + ], + "id": 1389, + "name": "ExpressionStatement", + "src": "9806:68:2" + } + ], + "id": 1390, + "name": "Block", + "src": "9791:95:2" + } + ], + "id": 1391, + "name": "IfStatement", + "src": "9778:108:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1392, + "name": "Identifier", + "src": "9905:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1328, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1393, + "name": "Identifier", + "src": "9915:11:2" + } + ], + "id": 1394, + "name": "IndexAccess", + "src": "9905:22:2" + } + ], + "id": 1395, + "name": "UnaryOperation", + "src": "9898:29:2" + } + ], + "id": 1396, + "name": "ExpressionStatement", + "src": "9898:29:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 969, + "type": "function (bytes32)", + "value": "LogCancelProposal" + }, + "id": 1397, + "name": "Identifier", + "src": "9938:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1328, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1398, + "name": "Identifier", + "src": "9956:11:2" + } + ], + "id": 1399, + "name": "FunctionCall", + "src": "9938:30:2" + } + ], + "id": 1400, + "name": "ExpressionStatement", + "src": "9938:30:2" + }, + { + "attributes": { + "functionReturnParameters": 1338 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1401, + "name": "Literal", + "src": "9986:4:2" + } + ], + "id": 1402, + "name": "Return", + "src": "9979:11:2" + } + ], + "id": 1403, + "name": "Block", + "src": "9325:673:2" + } + ], + "id": 1404, + "name": "FunctionDefinition", + "src": "9207:791:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "proposalScore", + "payable": false, + "scope": 2542, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 1426, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1405, + "name": "ElementaryTypeName", + "src": "10272:7:2" + } + ], + "id": 1406, + "name": "VariableDeclaration", + "src": "10272:19:2" + } + ], + "id": 1407, + "name": "ParameterList", + "src": "10271:21:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1426, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1408, + "name": "ElementaryTypeName", + "src": "10317:4:2" + } + ], + "id": 1409, + "name": "VariableDeclaration", + "src": "10317:4:2" + } + ], + "id": 1410, + "name": "ParameterList", + "src": "10316:6:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1412 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 1426, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct EmergentVoteScheme.Proposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 957, + "type": "struct EmergentVoteScheme.Proposal storage pointer" + }, + "id": 1411, + "name": "UserDefinedTypeName", + "src": "10334:8:2" + } + ], + "id": 1412, + "name": "VariableDeclaration", + "src": "10334:24:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1413, + "name": "Identifier", + "src": "10361:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1406, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1414, + "name": "Identifier", + "src": "10371:11:2" + } + ], + "id": 1415, + "name": "IndexAccess", + "src": "10361:22:2" + } + ], + "id": 1416, + "name": "VariableDeclarationStatement", + "src": "10334:49:2" + }, + { + "attributes": { + "functionReturnParameters": 1410 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 9021, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "boostedFunds", + "referencedDeclaration": 956, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1412, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "proposal" + }, + "id": 1417, + "name": "Identifier", + "src": "10402:8:2" + } + ], + "id": 1418, + "name": "MemberAccess", + "src": "10402:21:2" + } + ], + "id": 1419, + "name": "MemberAccess", + "src": "10402:25:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalVotes", + "referencedDeclaration": 938, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1412, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "proposal" + }, + "id": 1420, + "name": "Identifier", + "src": "10428:8:2" + } + ], + "id": 1421, + "name": "MemberAccess", + "src": "10428:19:2" + } + ], + "id": 1422, + "name": "FunctionCall", + "src": "10402:46:2" + } + ], + "id": 1423, + "name": "TupleExpression", + "src": "10401:48:2" + } + ], + "id": 1424, + "name": "Return", + "src": "10394:55:2" + } + ], + "id": 1425, + "name": "Block", + "src": "10323:134:2" + } + ], + "id": 1426, + "name": "FunctionDefinition", + "src": "10249:208:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "findMinScore", + "payable": false, + "scope": 2542, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_idsArray", + "scope": 1471, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1427, + "name": "ElementaryTypeName", + "src": "10777:7:2" + } + ], + "id": 1428, + "name": "ArrayTypeName", + "src": "10777:9:2" + } + ], + "id": 1429, + "name": "VariableDeclaration", + "src": "10777:19:2" + } + ], + "id": 1430, + "name": "ParameterList", + "src": "10776:21:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "index", + "scope": 1471, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1431, + "name": "ElementaryTypeName", + "src": "10822:4:2" + } + ], + "id": 1432, + "name": "VariableDeclaration", + "src": "10822:10:2" + }, + { + "attributes": { + "constant": false, + "name": "min", + "scope": 1471, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1433, + "name": "ElementaryTypeName", + "src": "10834:4:2" + } + ], + "id": 1434, + "name": "VariableDeclaration", + "src": "10834:8:2" + } + ], + "id": 1435, + "name": "ParameterList", + "src": "10821:22:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "assignments": [ + 1437 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 1471, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1436, + "name": "ElementaryTypeName", + "src": "10860:4:2" + } + ], + "id": 1437, + "name": "VariableDeclaration", + "src": "10860:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1438, + "name": "Literal", + "src": "10871:1:2" + } + ], + "id": 1439, + "name": "VariableDeclarationStatement", + "src": "10860:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1437, + "type": "uint256", + "value": "cnt" + }, + "id": 1440, + "name": "Identifier", + "src": "10874:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1429, + "type": "bytes32[] memory", + "value": "_idsArray" + }, + "id": 1441, + "name": "Identifier", + "src": "10878:9:2" + } + ], + "id": 1442, + "name": "MemberAccess", + "src": "10878:16:2" + } + ], + "id": 1443, + "name": "BinaryOperation", + "src": "10874:20:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1437, + "type": "uint256", + "value": "cnt" + }, + "id": 1444, + "name": "Identifier", + "src": "10896:3:2" + } + ], + "id": 1445, + "name": "UnaryOperation", + "src": "10896:5:2" + } + ], + "id": 1446, + "name": "ExpressionStatement", + "src": "10896:5:2" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1426, + "type": "function (bytes32) view returns (uint256)", + "value": "proposalScore" + }, + "id": 1447, + "name": "Identifier", + "src": "10922:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1429, + "type": "bytes32[] memory", + "value": "_idsArray" + }, + "id": 1448, + "name": "Identifier", + "src": "10936:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1437, + "type": "uint256", + "value": "cnt" + }, + "id": 1449, + "name": "Identifier", + "src": "10946:3:2" + } + ], + "id": 1450, + "name": "IndexAccess", + "src": "10936:14:2" + } + ], + "id": 1451, + "name": "FunctionCall", + "src": "10922:29:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1434, + "type": "uint256", + "value": "min" + }, + "id": 1452, + "name": "Identifier", + "src": "10954:3:2" + } + ], + "id": 1453, + "name": "BinaryOperation", + "src": "10922:35:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1432, + "type": "uint256", + "value": "index" + }, + "id": 1454, + "name": "Identifier", + "src": "10978:5:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1437, + "type": "uint256", + "value": "cnt" + }, + "id": 1455, + "name": "Identifier", + "src": "10986:3:2" + } + ], + "id": 1456, + "name": "Assignment", + "src": "10978:11:2" + } + ], + "id": 1457, + "name": "ExpressionStatement", + "src": "10978:11:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1434, + "type": "uint256", + "value": "min" + }, + "id": 1458, + "name": "Identifier", + "src": "11008:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1426, + "type": "function (bytes32) view returns (uint256)", + "value": "proposalScore" + }, + "id": 1459, + "name": "Identifier", + "src": "11014:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1429, + "type": "bytes32[] memory", + "value": "_idsArray" + }, + "id": 1460, + "name": "Identifier", + "src": "11028:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1437, + "type": "uint256", + "value": "cnt" + }, + "id": 1461, + "name": "Identifier", + "src": "11038:3:2" + } + ], + "id": 1462, + "name": "IndexAccess", + "src": "11028:14:2" + } + ], + "id": 1463, + "name": "FunctionCall", + "src": "11014:29:2" + } + ], + "id": 1464, + "name": "Assignment", + "src": "11008:35:2" + } + ], + "id": 1465, + "name": "ExpressionStatement", + "src": "11008:35:2" + } + ], + "id": 1466, + "name": "Block", + "src": "10959:100:2" + } + ], + "id": 1467, + "name": "IfStatement", + "src": "10918:141:2" + } + ], + "id": 1468, + "name": "Block", + "src": "10903:167:2" + } + ], + "id": 1469, + "name": "ForStatement", + "src": "10855:215:2" + } + ], + "id": 1470, + "name": "Block", + "src": "10844:233:2" + } + ], + "id": 1471, + "name": "FunctionDefinition", + "src": "10755:322:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "findMaxScore", + "payable": false, + "scope": 2542, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_idsArray", + "scope": 1516, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1472, + "name": "ElementaryTypeName", + "src": "11396:7:2" + } + ], + "id": 1473, + "name": "ArrayTypeName", + "src": "11396:9:2" + } + ], + "id": 1474, + "name": "VariableDeclaration", + "src": "11396:19:2" + } + ], + "id": 1475, + "name": "ParameterList", + "src": "11395:21:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "index", + "scope": 1516, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1476, + "name": "ElementaryTypeName", + "src": "11441:4:2" + } + ], + "id": 1477, + "name": "VariableDeclaration", + "src": "11441:10:2" + }, + { + "attributes": { + "constant": false, + "name": "max", + "scope": 1516, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1478, + "name": "ElementaryTypeName", + "src": "11453:4:2" + } + ], + "id": 1479, + "name": "VariableDeclaration", + "src": "11453:8:2" + } + ], + "id": 1480, + "name": "ParameterList", + "src": "11440:22:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "assignments": [ + 1482 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 1516, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1481, + "name": "ElementaryTypeName", + "src": "11479:4:2" + } + ], + "id": 1482, + "name": "VariableDeclaration", + "src": "11479:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1483, + "name": "Literal", + "src": "11490:1:2" + } + ], + "id": 1484, + "name": "VariableDeclarationStatement", + "src": "11479:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1482, + "type": "uint256", + "value": "cnt" + }, + "id": 1485, + "name": "Identifier", + "src": "11493:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1474, + "type": "bytes32[] memory", + "value": "_idsArray" + }, + "id": 1486, + "name": "Identifier", + "src": "11497:9:2" + } + ], + "id": 1487, + "name": "MemberAccess", + "src": "11497:16:2" + } + ], + "id": 1488, + "name": "BinaryOperation", + "src": "11493:20:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1482, + "type": "uint256", + "value": "cnt" + }, + "id": 1489, + "name": "Identifier", + "src": "11515:3:2" + } + ], + "id": 1490, + "name": "UnaryOperation", + "src": "11515:5:2" + } + ], + "id": 1491, + "name": "ExpressionStatement", + "src": "11515:5:2" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1426, + "type": "function (bytes32) view returns (uint256)", + "value": "proposalScore" + }, + "id": 1492, + "name": "Identifier", + "src": "11541:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1474, + "type": "bytes32[] memory", + "value": "_idsArray" + }, + "id": 1493, + "name": "Identifier", + "src": "11555:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1482, + "type": "uint256", + "value": "cnt" + }, + "id": 1494, + "name": "Identifier", + "src": "11565:3:2" + } + ], + "id": 1495, + "name": "IndexAccess", + "src": "11555:14:2" + } + ], + "id": 1496, + "name": "FunctionCall", + "src": "11541:29:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1479, + "type": "uint256", + "value": "max" + }, + "id": 1497, + "name": "Identifier", + "src": "11573:3:2" + } + ], + "id": 1498, + "name": "BinaryOperation", + "src": "11541:35:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1477, + "type": "uint256", + "value": "index" + }, + "id": 1499, + "name": "Identifier", + "src": "11597:5:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1482, + "type": "uint256", + "value": "cnt" + }, + "id": 1500, + "name": "Identifier", + "src": "11605:3:2" + } + ], + "id": 1501, + "name": "Assignment", + "src": "11597:11:2" + } + ], + "id": 1502, + "name": "ExpressionStatement", + "src": "11597:11:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1479, + "type": "uint256", + "value": "max" + }, + "id": 1503, + "name": "Identifier", + "src": "11627:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1426, + "type": "function (bytes32) view returns (uint256)", + "value": "proposalScore" + }, + "id": 1504, + "name": "Identifier", + "src": "11633:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1474, + "type": "bytes32[] memory", + "value": "_idsArray" + }, + "id": 1505, + "name": "Identifier", + "src": "11647:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1482, + "type": "uint256", + "value": "cnt" + }, + "id": 1506, + "name": "Identifier", + "src": "11657:3:2" + } + ], + "id": 1507, + "name": "IndexAccess", + "src": "11647:14:2" + } + ], + "id": 1508, + "name": "FunctionCall", + "src": "11633:29:2" + } + ], + "id": 1509, + "name": "Assignment", + "src": "11627:35:2" + } + ], + "id": 1510, + "name": "ExpressionStatement", + "src": "11627:35:2" + } + ], + "id": 1511, + "name": "Block", + "src": "11578:100:2" + } + ], + "id": 1512, + "name": "IfStatement", + "src": "11537:141:2" + } + ], + "id": 1513, + "name": "Block", + "src": "11522:167:2" + } + ], + "id": 1514, + "name": "ForStatement", + "src": "11474:215:2" + } + ], + "id": 1515, + "name": "Block", + "src": "11463:233:2" + } + ], + "id": 1516, + "name": "FunctionDefinition", + "src": "11374:322:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "findInArray", + "payable": false, + "scope": 2542, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_idsArray", + "scope": 1553, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1517, + "name": "ElementaryTypeName", + "src": "12036:7:2" + } + ], + "id": 1518, + "name": "ArrayTypeName", + "src": "12036:9:2" + } + ], + "id": 1519, + "name": "VariableDeclaration", + "src": "12036:19:2" + }, + { + "attributes": { + "constant": false, + "name": "_id", + "scope": 1553, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1520, + "name": "ElementaryTypeName", + "src": "12057:7:2" + } + ], + "id": 1521, + "name": "VariableDeclaration", + "src": "12057:11:2" + } + ], + "id": 1522, + "name": "ParameterList", + "src": "12035:34:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "isFound", + "scope": 1553, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1523, + "name": "ElementaryTypeName", + "src": "12090:4:2" + } + ], + "id": 1524, + "name": "VariableDeclaration", + "src": "12090:12:2" + }, + { + "attributes": { + "constant": false, + "name": "index", + "scope": 1553, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1525, + "name": "ElementaryTypeName", + "src": "12104:4:2" + } + ], + "id": 1526, + "name": "VariableDeclaration", + "src": "12104:10:2" + } + ], + "id": 1527, + "name": "ParameterList", + "src": "12089:26:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "assignments": [ + 1529 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 1553, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1528, + "name": "ElementaryTypeName", + "src": "12132:4:2" + } + ], + "id": 1529, + "name": "VariableDeclaration", + "src": "12132:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1530, + "name": "Literal", + "src": "12143:1:2" + } + ], + "id": 1531, + "name": "VariableDeclarationStatement", + "src": "12132:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1529, + "type": "uint256", + "value": "cnt" + }, + "id": 1532, + "name": "Identifier", + "src": "12146:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1519, + "type": "bytes32[] memory", + "value": "_idsArray" + }, + "id": 1533, + "name": "Identifier", + "src": "12150:9:2" + } + ], + "id": 1534, + "name": "MemberAccess", + "src": "12150:16:2" + } + ], + "id": 1535, + "name": "BinaryOperation", + "src": "12146:20:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1529, + "type": "uint256", + "value": "cnt" + }, + "id": 1536, + "name": "Identifier", + "src": "12168:3:2" + } + ], + "id": 1537, + "name": "UnaryOperation", + "src": "12168:5:2" + } + ], + "id": 1538, + "name": "ExpressionStatement", + "src": "12168:5:2" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1519, + "type": "bytes32[] memory", + "value": "_idsArray" + }, + "id": 1539, + "name": "Identifier", + "src": "12194:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1529, + "type": "uint256", + "value": "cnt" + }, + "id": 1540, + "name": "Identifier", + "src": "12204:3:2" + } + ], + "id": 1541, + "name": "IndexAccess", + "src": "12194:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1521, + "type": "bytes32", + "value": "_id" + }, + "id": 1542, + "name": "Identifier", + "src": "12212:3:2" + } + ], + "id": 1543, + "name": "BinaryOperation", + "src": "12194:21:2" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 1527 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "tuple(bool,uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1544, + "name": "Literal", + "src": "12243:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1529, + "type": "uint256", + "value": "cnt" + }, + "id": 1545, + "name": "Identifier", + "src": "12249:3:2" + } + ], + "id": 1546, + "name": "TupleExpression", + "src": "12242:11:2" + } + ], + "id": 1547, + "name": "Return", + "src": "12236:17:2" + } + ], + "id": 1548, + "name": "Block", + "src": "12217:52:2" + } + ], + "id": 1549, + "name": "IfStatement", + "src": "12190:79:2" + } + ], + "id": 1550, + "name": "Block", + "src": "12175:105:2" + } + ], + "id": 1551, + "name": "ForStatement", + "src": "12127:153:2" + } + ], + "id": 1552, + "name": "Block", + "src": "12116:171:2" + } + ], + "id": 1553, + "name": "FunctionDefinition", + "src": "12015:272:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "boostProposal", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 1639, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1554, + "name": "ElementaryTypeName", + "src": "12550:7:2" + } + ], + "id": 1555, + "name": "VariableDeclaration", + "src": "12550:19:2" + }, + { + "attributes": { + "constant": false, + "name": "_boostValue", + "scope": 1639, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1556, + "name": "ElementaryTypeName", + "src": "12571:4:2" + } + ], + "id": 1557, + "name": "VariableDeclaration", + "src": "12571:16:2" + } + ], + "id": 1558, + "name": "ParameterList", + "src": "12549:39:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1559, + "name": "ParameterList", + "src": "12596:0:2" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "isBoostModeActive", + "referencedDeclaration": 950, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1560, + "name": "Identifier", + "src": "12670:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1555, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1561, + "name": "Identifier", + "src": "12680:11:2" + } + ], + "id": 1562, + "name": "IndexAccess", + "src": "12670:22:2" + } + ], + "id": 1563, + "name": "MemberAccess", + "src": "12670:40:2" + }, + { + "children": [ + { + "attributes": { + "expression": null, + "functionReturnParameters": 1559 + }, + "id": 1564, + "name": "Return", + "src": "12727:7:2" + } + ], + "id": 1565, + "name": "Block", + "src": "12712:33:2" + } + ], + "id": 1566, + "name": "IfStatement", + "src": "12666:79:2" + }, + { + "attributes": { + "assignments": [ + 1568 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "avatar", + "scope": 1639, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1567, + "name": "ElementaryTypeName", + "src": "12803:7:2" + } + ], + "id": 1568, + "name": "VariableDeclaration", + "src": "12803:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "avatar", + "referencedDeclaration": 930, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1569, + "name": "Identifier", + "src": "12820:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1555, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1570, + "name": "Identifier", + "src": "12830:11:2" + } + ], + "id": 1571, + "name": "IndexAccess", + "src": "12820:22:2" + } + ], + "id": 1572, + "name": "MemberAccess", + "src": "12820:29:2" + } + ], + "id": 1573, + "name": "VariableDeclarationStatement", + "src": "12803:46:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1574, + "name": "Identifier", + "src": "12860:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1568, + "type": "address", + "value": "avatar" + }, + "id": 1575, + "name": "Identifier", + "src": "12868:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 1576, + "name": "ElementaryTypeNameExpression", + "src": "12878:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1577, + "name": "Literal", + "src": "12886:1:2" + } + ], + "id": 1578, + "name": "FunctionCall", + "src": "12878:10:2" + } + ], + "id": 1579, + "name": "BinaryOperation", + "src": "12868:20:2" + } + ], + "id": 1580, + "name": "FunctionCall", + "src": "12860:29:2" + } + ], + "id": 1581, + "name": "ExpressionStatement", + "src": "12860:29:2" + }, + { + "attributes": { + "assignments": [ + 1583 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "orgParamsHash", + "scope": 1639, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1582, + "name": "ElementaryTypeName", + "src": "12924:7:2" + } + ], + "id": 1583, + "name": "VariableDeclaration", + "src": "12924:21:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 1584, + "name": "Identifier", + "src": "12948:27:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 1585, + "name": "Identifier", + "src": "12976:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1568, + "type": "address", + "value": "avatar" + }, + "id": 1586, + "name": "Identifier", + "src": "12983:6:2" + } + ], + "id": 1587, + "name": "FunctionCall", + "src": "12976:14:2" + } + ], + "id": 1588, + "name": "FunctionCall", + "src": "12948:43:2" + } + ], + "id": 1589, + "name": "VariableDeclarationStatement", + "src": "12924:67:2" + }, + { + "attributes": { + "assignments": [ + 1591 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "orgParams", + "scope": 1639, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct EmergentVoteScheme.OrgParameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "OrgParameters", + "referencedDeclaration": 914, + "type": "struct EmergentVoteScheme.OrgParameters storage pointer" + }, + "id": 1590, + "name": "UserDefinedTypeName", + "src": "13002:13:2" + } + ], + "id": 1591, + "name": "VariableDeclaration", + "src": "13002:30:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.OrgParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1001, + "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)", + "value": "organizationsParameters" + }, + "id": 1592, + "name": "Identifier", + "src": "13035:23:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1583, + "type": "bytes32", + "value": "orgParamsHash" + }, + "id": 1593, + "name": "Identifier", + "src": "13059:13:2" + } + ], + "id": 1594, + "name": "IndexAccess", + "src": "13035:38:2" + } + ], + "id": 1595, + "name": "VariableDeclarationStatement", + "src": "13002:71:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9727, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 1596, + "name": "Identifier", + "src": "13151:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1557, + "type": "uint256", + "value": "_boostValue" + }, + "id": 1597, + "name": "Identifier", + "src": "13158:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "minBoost", + "referencedDeclaration": 911, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1591, + "type": "struct EmergentVoteScheme.OrgParameters memory", + "value": "orgParams" + }, + "id": 1598, + "name": "Identifier", + "src": "13172:9:2" + } + ], + "id": 1599, + "name": "MemberAccess", + "src": "13172:18:2" + } + ], + "id": 1600, + "name": "BinaryOperation", + "src": "13158:32:2" + } + ], + "id": 1601, + "name": "FunctionCall", + "src": "13151:40:2" + } + ], + "id": 1602, + "name": "ExpressionStatement", + "src": "13151:40:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferFrom", + "referencedDeclaration": 9554, + "type": "function (address,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "boostToken", + "referencedDeclaration": 901, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1591, + "type": "struct EmergentVoteScheme.OrgParameters memory", + "value": "orgParams" + }, + "id": 1603, + "name": "Identifier", + "src": "13202:9:2" + } + ], + "id": 1606, + "name": "MemberAccess", + "src": "13202:20:2" + } + ], + "id": 1607, + "name": "MemberAccess", + "src": "13202:33:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 1608, + "name": "Identifier", + "src": "13236:3:2" + } + ], + "id": 1609, + "name": "MemberAccess", + "src": "13236:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 903, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1591, + "type": "struct EmergentVoteScheme.OrgParameters memory", + "value": "orgParams" + }, + "id": 1610, + "name": "Identifier", + "src": "13248:9:2" + } + ], + "id": 1611, + "name": "MemberAccess", + "src": "13248:21:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1557, + "type": "uint256", + "value": "_boostValue" + }, + "id": 1612, + "name": "Identifier", + "src": "13271:11:2" + } + ], + "id": 1613, + "name": "FunctionCall", + "src": "13202:81:2" + } + ], + "id": 1614, + "name": "ExpressionStatement", + "src": "13202:81:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "boostedFunds", + "referencedDeclaration": 956, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1615, + "name": "Identifier", + "src": "13316:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1555, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1616, + "name": "Identifier", + "src": "13326:11:2" + } + ], + "id": 1617, + "name": "IndexAccess", + "src": "13316:22:2" + } + ], + "id": 1618, + "name": "MemberAccess", + "src": "13316:35:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "boostedFunds", + "referencedDeclaration": 956, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1619, + "name": "Identifier", + "src": "13354:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1555, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1620, + "name": "Identifier", + "src": "13364:11:2" + } + ], + "id": 1621, + "name": "IndexAccess", + "src": "13354:22:2" + } + ], + "id": 1622, + "name": "MemberAccess", + "src": "13354:35:2" + } + ], + "id": 1623, + "name": "MemberAccess", + "src": "13354:39:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1557, + "type": "uint256", + "value": "_boostValue" + }, + "id": 1624, + "name": "Identifier", + "src": "13394:11:2" + } + ], + "id": 1625, + "name": "FunctionCall", + "src": "13354:52:2" + } + ], + "id": 1626, + "name": "Assignment", + "src": "13316:90:2" + } + ], + "id": 1627, + "name": "ExpressionStatement", + "src": "13316:90:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "isAwaitingBoost", + "referencedDeclaration": 952, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1628, + "name": "Identifier", + "src": "13484:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1555, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1629, + "name": "Identifier", + "src": "13494:11:2" + } + ], + "id": 1630, + "name": "IndexAccess", + "src": "13484:22:2" + } + ], + "id": 1631, + "name": "MemberAccess", + "src": "13484:38:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2280, + "type": "function (bytes32)", + "value": "tryAwaitingBoostProposals" + }, + "id": 1632, + "name": "Identifier", + "src": "13539:25:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1555, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1633, + "name": "Identifier", + "src": "13565:11:2" + } + ], + "id": 1634, + "name": "FunctionCall", + "src": "13539:38:2" + } + ], + "id": 1635, + "name": "ExpressionStatement", + "src": "13539:38:2" + } + ], + "id": 1636, + "name": "Block", + "src": "13524:65:2" + } + ], + "id": 1637, + "name": "IfStatement", + "src": "13480:109:2" + } + ], + "id": 1638, + "name": "Block", + "src": "12596:1000:2" + } + ], + "id": 1639, + "name": "FunctionDefinition", + "src": "12527:1069:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "moveTopAwaitingBoostMode", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 1750, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1640, + "name": "ElementaryTypeName", + "src": "13806:7:2" + } + ], + "id": 1641, + "name": "VariableDeclaration", + "src": "13806:15:2" + } + ], + "id": 1642, + "name": "ParameterList", + "src": "13805:17:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1643, + "name": "ParameterList", + "src": "13830:0:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 1644, + "name": "Identifier", + "src": "13887:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1641, + "type": "address", + "value": "_avatar" + }, + "id": 1645, + "name": "Identifier", + "src": "13895:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 1646, + "name": "ElementaryTypeNameExpression", + "src": "13906:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1647, + "name": "Literal", + "src": "13914:1:2" + } + ], + "id": 1648, + "name": "FunctionCall", + "src": "13906:10:2" + } + ], + "id": 1649, + "name": "BinaryOperation", + "src": "13895:21:2" + } + ], + "id": 1650, + "name": "FunctionCall", + "src": "13887:30:2" + } + ], + "id": 1651, + "name": "ExpressionStatement", + "src": "13887:30:2" + }, + { + "attributes": { + "assignments": [ + 1653 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "orgParamsHash", + "scope": 1750, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1652, + "name": "ElementaryTypeName", + "src": "13952:7:2" + } + ], + "id": 1653, + "name": "VariableDeclaration", + "src": "13952:21:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 1654, + "name": "Identifier", + "src": "13976:27:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 1655, + "name": "Identifier", + "src": "14004:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1641, + "type": "address", + "value": "_avatar" + }, + "id": 1656, + "name": "Identifier", + "src": "14011:7:2" + } + ], + "id": 1657, + "name": "FunctionCall", + "src": "14004:15:2" + } + ], + "id": 1658, + "name": "FunctionCall", + "src": "13976:44:2" + } + ], + "id": 1659, + "name": "VariableDeclarationStatement", + "src": "13952:68:2" + }, + { + "attributes": { + "assignments": [ + 1661 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "orgParams", + "scope": 1750, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct EmergentVoteScheme.OrgParameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "OrgParameters", + "referencedDeclaration": 914, + "type": "struct EmergentVoteScheme.OrgParameters storage pointer" + }, + "id": 1660, + "name": "UserDefinedTypeName", + "src": "14031:13:2" + } + ], + "id": 1661, + "name": "VariableDeclaration", + "src": "14031:30:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.OrgParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1001, + "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)", + "value": "organizationsParameters" + }, + "id": 1662, + "name": "Identifier", + "src": "14064:23:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1653, + "type": "bytes32", + "value": "orgParamsHash" + }, + "id": 1663, + "name": "Identifier", + "src": "14088:13:2" + } + ], + "id": 1664, + "name": "IndexAccess", + "src": "14064:38:2" + } + ], + "id": 1665, + "name": "VariableDeclarationStatement", + "src": "14031:71:2" + }, + { + "attributes": { + "assignments": [ + 1667 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "org", + "scope": 1750, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 897, + "type": "struct EmergentVoteScheme.Organization storage pointer" + }, + "id": 1666, + "name": "UserDefinedTypeName", + "src": "14113:12:2" + } + ], + "id": 1667, + "name": "VariableDeclaration", + "src": "14113:24:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 997, + "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)", + "value": "organizations" + }, + "id": 1668, + "name": "Identifier", + "src": "14140:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1641, + "type": "address", + "value": "_avatar" + }, + "id": 1669, + "name": "Identifier", + "src": "14154:7:2" + } + ], + "id": 1670, + "name": "IndexAccess", + "src": "14140:22:2" + } + ], + "id": 1671, + "name": "VariableDeclarationStatement", + "src": "14113:49:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "boostedProposals", + "referencedDeclaration": 893, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1667, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 1672, + "name": "Identifier", + "src": "14221:3:2" + } + ], + "id": 1673, + "name": "MemberAccess", + "src": "14221:20:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "attentionBandwidth", + "referencedDeclaration": 905, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1661, + "type": "struct EmergentVoteScheme.OrgParameters memory", + "value": "orgParams" + }, + "id": 1674, + "name": "Identifier", + "src": "14245:9:2" + } + ], + "id": 1675, + "name": "MemberAccess", + "src": "14245:28:2" + } + ], + "id": 1676, + "name": "BinaryOperation", + "src": "14221:52:2" + }, + { + "children": [ + { + "attributes": { + "expression": null, + "functionReturnParameters": 1643 + }, + "id": 1677, + "name": "Return", + "src": "14290:7:2" + } + ], + "id": 1678, + "name": "Block", + "src": "14275:33:2" + } + ], + "id": 1679, + "name": "IfStatement", + "src": "14217:91:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1667, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 1680, + "name": "Identifier", + "src": "14370:3:2" + } + ], + "id": 1681, + "name": "MemberAccess", + "src": "14370:26:2" + } + ], + "id": 1682, + "name": "MemberAccess", + "src": "14370:33:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1683, + "name": "Literal", + "src": "14407:1:2" + } + ], + "id": 1684, + "name": "BinaryOperation", + "src": "14370:38:2" + }, + { + "children": [ + { + "attributes": { + "expression": null, + "functionReturnParameters": 1643 + }, + "id": 1685, + "name": "Return", + "src": "14425:7:2" + } + ], + "id": 1686, + "name": "Block", + "src": "14410:33:2" + } + ], + "id": 1687, + "name": "IfStatement", + "src": "14366:77:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "boostedProposals", + "referencedDeclaration": 893, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1667, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 1688, + "name": "Identifier", + "src": "14492:3:2" + } + ], + "id": 1690, + "name": "MemberAccess", + "src": "14492:20:2" + } + ], + "id": 1691, + "name": "UnaryOperation", + "src": "14492:22:2" + } + ], + "id": 1692, + "name": "ExpressionStatement", + "src": "14492:22:2" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "maxIndex", + "scope": 1750, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1693, + "name": "ElementaryTypeName", + "src": "14525:4:2" + } + ], + "id": 1694, + "name": "VariableDeclaration", + "src": "14525:13:2" + } + ], + "id": 1695, + "name": "VariableDeclarationStatement", + "src": "14525:13:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "tuple(uint256,)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1694, + "type": "uint256", + "value": "maxIndex" + }, + "id": 1696, + "name": "Identifier", + "src": "14550:8:2" + } + ], + "id": 1697, + "name": "TupleExpression", + "src": "14549:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple(uint256,uint256)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1516, + "type": "function (bytes32[] memory) view returns (uint256,uint256)", + "value": "findMaxScore" + }, + "id": 1698, + "name": "Identifier", + "src": "14564:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1667, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 1699, + "name": "Identifier", + "src": "14577:3:2" + } + ], + "id": 1700, + "name": "MemberAccess", + "src": "14577:26:2" + } + ], + "id": 1701, + "name": "FunctionCall", + "src": "14564:40:2" + } + ], + "id": 1702, + "name": "Assignment", + "src": "14549:55:2" + } + ], + "id": 1703, + "name": "ExpressionStatement", + "src": "14549:55:2" + }, + { + "attributes": { + "assignments": [ + 1705 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 1750, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 957, + "type": "struct EmergentVoteScheme.Proposal storage pointer" + }, + "id": 1704, + "name": "UserDefinedTypeName", + "src": "14615:8:2" + } + ], + "id": 1705, + "name": "VariableDeclaration", + "src": "14615:25:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1706, + "name": "Identifier", + "src": "14643:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1667, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 1707, + "name": "Identifier", + "src": "14653:3:2" + } + ], + "id": 1708, + "name": "MemberAccess", + "src": "14653:26:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1694, + "type": "uint256", + "value": "maxIndex" + }, + "id": 1709, + "name": "Identifier", + "src": "14680:8:2" + } + ], + "id": 1710, + "name": "IndexAccess", + "src": "14653:36:2" + } + ], + "id": 1711, + "name": "IndexAccess", + "src": "14643:47:2" + } + ], + "id": 1712, + "name": "VariableDeclarationStatement", + "src": "14615:75:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "isBoostModeActive", + "referencedDeclaration": 950, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1713, + "name": "Identifier", + "src": "14701:8:2" + } + ], + "id": 1715, + "name": "MemberAccess", + "src": "14701:26:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1716, + "name": "Literal", + "src": "14730:4:2" + } + ], + "id": 1717, + "name": "Assignment", + "src": "14701:33:2" + } + ], + "id": 1718, + "name": "ExpressionStatement", + "src": "14701:33:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "isAwaitingBoost", + "referencedDeclaration": 952, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1719, + "name": "Identifier", + "src": "14745:8:2" + } + ], + "id": 1721, + "name": "MemberAccess", + "src": "14745:24:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 1722, + "name": "Literal", + "src": "14772:5:2" + } + ], + "id": 1723, + "name": "Assignment", + "src": "14745:32:2" + } + ], + "id": 1724, + "name": "ExpressionStatement", + "src": "14745:32:2" + }, + { + "attributes": { + "assignments": [ + 1726 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "timeFrame", + "scope": 1750, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1725, + "name": "ElementaryTypeName", + "src": "14788:4:2" + } + ], + "id": 1726, + "name": "VariableDeclaration", + "src": "14788:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "boostTimeFrame", + "referencedDeclaration": 920, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.ProposalParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1005, + "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)", + "value": "proposalsParameters" + }, + "id": 1727, + "name": "Identifier", + "src": "14805:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 936, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1728, + "name": "Identifier", + "src": "14825:8:2" + } + ], + "id": 1729, + "name": "MemberAccess", + "src": "14825:19:2" + } + ], + "id": 1730, + "name": "IndexAccess", + "src": "14805:40:2" + } + ], + "id": 1731, + "name": "MemberAccess", + "src": "14805:55:2" + } + ], + "id": 1732, + "name": "VariableDeclarationStatement", + "src": "14788:72:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "closingTime", + "referencedDeclaration": 954, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1705, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1733, + "name": "Identifier", + "src": "14871:8:2" + } + ], + "id": 1735, + "name": "MemberAccess", + "src": "14871:20:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "number", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9728, + "type": "block", + "value": "block" + }, + "id": 1736, + "name": "Identifier", + "src": "14894:5:2" + } + ], + "id": 1737, + "name": "MemberAccess", + "src": "14894:12:2" + } + ], + "id": 1738, + "name": "MemberAccess", + "src": "14894:16:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1726, + "type": "uint256", + "value": "timeFrame" + }, + "id": 1739, + "name": "Identifier", + "src": "14911:9:2" + } + ], + "id": 1740, + "name": "FunctionCall", + "src": "14894:27:2" + } + ], + "id": 1741, + "name": "Assignment", + "src": "14871:50:2" + } + ], + "id": 1742, + "name": "ExpressionStatement", + "src": "14871:50:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2388, + "type": "function (bytes32[] storage pointer,uint256)", + "value": "deleteFromArray" + }, + "id": 1743, + "name": "Identifier", + "src": "14959:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1667, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 1744, + "name": "Identifier", + "src": "14975:3:2" + } + ], + "id": 1745, + "name": "MemberAccess", + "src": "14975:26:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1694, + "type": "uint256", + "value": "maxIndex" + }, + "id": 1746, + "name": "Identifier", + "src": "15003:8:2" + } + ], + "id": 1747, + "name": "FunctionCall", + "src": "14959:53:2" + } + ], + "id": 1748, + "name": "ExpressionStatement", + "src": "14959:53:2" + } + ], + "id": 1749, + "name": "Block", + "src": "13830:1190:2" + } + ], + "id": 1750, + "name": "FunctionDefinition", + "src": "13772:1248:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "vote", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": 2609, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 1771, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1751, + "name": "ElementaryTypeName", + "src": "15184:7:2" + } + ], + "id": 1752, + "name": "VariableDeclaration", + "src": "15184:19:2" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 1771, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1753, + "name": "ElementaryTypeName", + "src": "15205:4:2" + } + ], + "id": 1754, + "name": "VariableDeclaration", + "src": "15205:10:2" + } + ], + "id": 1755, + "name": "ParameterList", + "src": "15183:33:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1771, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1759, + "name": "ElementaryTypeName", + "src": "15253:4:2" + } + ], + "id": 1760, + "name": "VariableDeclaration", + "src": "15253:4:2" + } + ], + "id": 1761, + "name": "ParameterList", + "src": "15252:6:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1043, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 1756, + "name": "Identifier", + "src": "15224:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1752, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1757, + "name": "Identifier", + "src": "15232:11:2" + } + ], + "id": 1758, + "name": "ModifierInvocation", + "src": "15224:20:2" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 1761 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2541, + "type": "function (bytes32,uint256,address,uint256) returns (bool)", + "value": "internalVote" + }, + "id": 1762, + "name": "Identifier", + "src": "15277:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1752, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1763, + "name": "Identifier", + "src": "15290:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1754, + "type": "uint256", + "value": "_vote" + }, + "id": 1764, + "name": "Identifier", + "src": "15303:5:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 1765, + "name": "Identifier", + "src": "15310:3:2" + } + ], + "id": 1766, + "name": "MemberAccess", + "src": "15310:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1767, + "name": "Literal", + "src": "15322:1:2" + } + ], + "id": 1768, + "name": "FunctionCall", + "src": "15277:47:2" + } + ], + "id": 1769, + "name": "Return", + "src": "15270:54:2" + } + ], + "id": 1770, + "name": "Block", + "src": "15259:73:2" + } + ], + "id": 1771, + "name": "FunctionDefinition", + "src": "15170:162:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "voteWithSpecifiedAmounts", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": 2625, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 1796, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1772, + "name": "ElementaryTypeName", + "src": "15374:7:2" + } + ], + "id": 1773, + "name": "VariableDeclaration", + "src": "15374:19:2" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 1796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1774, + "name": "ElementaryTypeName", + "src": "15395:4:2" + } + ], + "id": 1775, + "name": "VariableDeclaration", + "src": "15395:10:2" + }, + { + "attributes": { + "constant": false, + "name": "_rep", + "scope": 1796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1776, + "name": "ElementaryTypeName", + "src": "15407:4:2" + } + ], + "id": 1777, + "name": "VariableDeclaration", + "src": "15407:9:2" + }, + { + "attributes": { + "constant": false, + "name": "", + "scope": 1796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1778, + "name": "ElementaryTypeName", + "src": "15418:4:2" + } + ], + "id": 1779, + "name": "VariableDeclaration", + "src": "15418:4:2" + } + ], + "id": 1780, + "name": "ParameterList", + "src": "15373:50:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1796, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1784, + "name": "ElementaryTypeName", + "src": "15460:4:2" + } + ], + "id": 1785, + "name": "VariableDeclaration", + "src": "15460:4:2" + } + ], + "id": 1786, + "name": "ParameterList", + "src": "15459:6:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1043, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 1781, + "name": "Identifier", + "src": "15431:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1773, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1782, + "name": "Identifier", + "src": "15439:11:2" + } + ], + "id": 1783, + "name": "ModifierInvocation", + "src": "15431:20:2" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 1786 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2541, + "type": "function (bytes32,uint256,address,uint256) returns (bool)", + "value": "internalVote" + }, + "id": 1787, + "name": "Identifier", + "src": "15484:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1773, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1788, + "name": "Identifier", + "src": "15497:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1775, + "type": "uint256", + "value": "_vote" + }, + "id": 1789, + "name": "Identifier", + "src": "15510:5:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 1790, + "name": "Identifier", + "src": "15517:3:2" + } + ], + "id": 1791, + "name": "MemberAccess", + "src": "15517:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1777, + "type": "uint256", + "value": "_rep" + }, + "id": 1792, + "name": "Identifier", + "src": "15529:4:2" + } + ], + "id": 1793, + "name": "FunctionCall", + "src": "15484:50:2" + } + ], + "id": 1794, + "name": "Return", + "src": "15477:57:2" + } + ], + "id": 1795, + "name": "Block", + "src": "15466:76:2" + } + ], + "id": 1796, + "name": "FunctionDefinition", + "src": "15340:202:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "ownerVote", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": 2597, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 1840, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1797, + "name": "ElementaryTypeName", + "src": "15834:7:2" + } + ], + "id": 1798, + "name": "VariableDeclaration", + "src": "15834:19:2" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 1840, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1799, + "name": "ElementaryTypeName", + "src": "15855:4:2" + } + ], + "id": 1800, + "name": "VariableDeclaration", + "src": "15855:10:2" + }, + { + "attributes": { + "constant": false, + "name": "_voter", + "scope": 1840, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 1801, + "name": "ElementaryTypeName", + "src": "15867:7:2" + } + ], + "id": 1802, + "name": "VariableDeclaration", + "src": "15867:14:2" + } + ], + "id": 1803, + "name": "ParameterList", + "src": "15833:49:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 1840, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1810, + "name": "ElementaryTypeName", + "src": "15950:4:2" + } + ], + "id": 1811, + "name": "VariableDeclaration", + "src": "15950:4:2" + } + ], + "id": 1812, + "name": "ParameterList", + "src": "15949:6:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1030, + "type": "modifier (bytes32)", + "value": "onlyProposalOwner" + }, + "id": 1804, + "name": "Identifier", + "src": "15890:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1798, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1805, + "name": "Identifier", + "src": "15908:11:2" + } + ], + "id": 1806, + "name": "ModifierInvocation", + "src": "15890:30:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1043, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 1807, + "name": "Identifier", + "src": "15921:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1798, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1808, + "name": "Identifier", + "src": "15929:11:2" + } + ], + "id": 1809, + "name": "ModifierInvocation", + "src": "15921:20:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1814 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 1840, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1813, + "name": "ElementaryTypeName", + "src": "15967:7:2" + } + ], + "id": 1814, + "name": "VariableDeclaration", + "src": "15967:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 1815, + "name": "Identifier", + "src": "15988:27:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 1816, + "name": "Identifier", + "src": "16016:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "avatar", + "referencedDeclaration": 930, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1817, + "name": "Identifier", + "src": "16023:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1798, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1818, + "name": "Identifier", + "src": "16033:11:2" + } + ], + "id": 1819, + "name": "IndexAccess", + "src": "16023:22:2" + } + ], + "id": 1820, + "name": "MemberAccess", + "src": "16023:29:2" + } + ], + "id": 1821, + "name": "FunctionCall", + "src": "16016:37:2" + } + ], + "id": 1822, + "name": "FunctionCall", + "src": "15988:66:2" + } + ], + "id": 1823, + "name": "VariableDeclarationStatement", + "src": "15967:87:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "allowOwner", + "referencedDeclaration": 913, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.OrgParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1001, + "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)", + "value": "organizationsParameters" + }, + "id": 1824, + "name": "Identifier", + "src": "16071:23:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1814, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 1825, + "name": "Identifier", + "src": "16095:10:2" + } + ], + "id": 1826, + "name": "IndexAccess", + "src": "16071:35:2" + } + ], + "id": 1827, + "name": "MemberAccess", + "src": "16071:46:2" + } + ], + "id": 1828, + "name": "UnaryOperation", + "src": "16069:48:2" + }, + { + "children": [ + { + "attributes": { + "expression": null, + "functionReturnParameters": 1812 + }, + "id": 1829, + "name": "Return", + "src": "16134:7:2" + } + ], + "id": 1830, + "name": "Block", + "src": "16119:33:2" + } + ], + "id": 1831, + "name": "IfStatement", + "src": "16065:87:2" + }, + { + "attributes": { + "functionReturnParameters": 1812 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2541, + "type": "function (bytes32,uint256,address,uint256) returns (bool)", + "value": "internalVote" + }, + "id": 1832, + "name": "Identifier", + "src": "16171:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1798, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1833, + "name": "Identifier", + "src": "16184:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1800, + "type": "uint256", + "value": "_vote" + }, + "id": 1834, + "name": "Identifier", + "src": "16197:5:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1802, + "type": "address", + "value": "_voter" + }, + "id": 1835, + "name": "Identifier", + "src": "16204:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1836, + "name": "Literal", + "src": "16212:1:2" + } + ], + "id": 1837, + "name": "FunctionCall", + "src": "16171:43:2" + } + ], + "id": 1838, + "name": "Return", + "src": "16164:50:2" + } + ], + "id": 1839, + "name": "Block", + "src": "15956:266:2" + } + ], + "id": 1840, + "name": "FunctionDefinition", + "src": "15815:407:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "cancelVote", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": 2633, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 1855, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1841, + "name": "ElementaryTypeName", + "src": "16458:7:2" + } + ], + "id": 1842, + "name": "VariableDeclaration", + "src": "16458:19:2" + } + ], + "id": 1843, + "name": "ParameterList", + "src": "16457:21:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 1847, + "name": "ParameterList", + "src": "16507:0:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1043, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 1844, + "name": "Identifier", + "src": "16486:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1842, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1845, + "name": "Identifier", + "src": "16494:11:2" + } + ], + "id": 1846, + "name": "ModifierInvocation", + "src": "16486:20:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2342, + "type": "function (bytes32,address)", + "value": "cancelVoteInternal" + }, + "id": 1848, + "name": "Identifier", + "src": "16518:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1842, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1849, + "name": "Identifier", + "src": "16537:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 1850, + "name": "Identifier", + "src": "16550:3:2" + } + ], + "id": 1851, + "name": "MemberAccess", + "src": "16550:10:2" + } + ], + "id": 1852, + "name": "FunctionCall", + "src": "16518:43:2" + } + ], + "id": 1853, + "name": "ExpressionStatement", + "src": "16518:43:2" + } + ], + "id": 1854, + "name": "Block", + "src": "16507:62:2" + } + ], + "id": 1855, + "name": "FunctionDefinition", + "src": "16438:131:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "execute", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": 2643, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2041, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1856, + "name": "ElementaryTypeName", + "src": "16945:7:2" + } + ], + "id": 1857, + "name": "VariableDeclaration", + "src": "16945:19:2" + } + ], + "id": 1858, + "name": "ParameterList", + "src": "16944:21:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2041, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 1862, + "name": "ElementaryTypeName", + "src": "17002:4:2" + } + ], + "id": 1863, + "name": "VariableDeclaration", + "src": "17002:4:2" + } + ], + "id": 1864, + "name": "ParameterList", + "src": "17001:6:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1043, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 1859, + "name": "Identifier", + "src": "16973:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1857, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1860, + "name": "Identifier", + "src": "16981:11:2" + } + ], + "id": 1861, + "name": "ModifierInvocation", + "src": "16973:20:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1866 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 2041, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 957, + "type": "struct EmergentVoteScheme.Proposal storage pointer" + }, + "id": 1865, + "name": "UserDefinedTypeName", + "src": "17019:8:2" + } + ], + "id": 1866, + "name": "VariableDeclaration", + "src": "17019:25:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1867, + "name": "Identifier", + "src": "17047:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1857, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1868, + "name": "Identifier", + "src": "17057:11:2" + } + ], + "id": 1869, + "name": "IndexAccess", + "src": "17047:22:2" + } + ], + "id": 1870, + "name": "VariableDeclarationStatement", + "src": "17019:50:2" + }, + { + "attributes": { + "assignments": [ + 1872 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "orgParamsHash", + "scope": 2041, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 1871, + "name": "ElementaryTypeName", + "src": "17082:7:2" + } + ], + "id": 1872, + "name": "VariableDeclaration", + "src": "17082:21:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 1873, + "name": "Identifier", + "src": "17106:27:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 1874, + "name": "Identifier", + "src": "17134:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "avatar", + "referencedDeclaration": 930, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1875, + "name": "Identifier", + "src": "17141:8:2" + } + ], + "id": 1876, + "name": "MemberAccess", + "src": "17141:15:2" + } + ], + "id": 1877, + "name": "FunctionCall", + "src": "17134:23:2" + } + ], + "id": 1878, + "name": "FunctionCall", + "src": "17106:52:2" + } + ], + "id": 1879, + "name": "VariableDeclarationStatement", + "src": "17082:76:2" + }, + { + "attributes": { + "assignments": [ + 1881 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "totalReputation", + "scope": 2041, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1880, + "name": "ElementaryTypeName", + "src": "17169:4:2" + } + ], + "id": 1881, + "name": "VariableDeclaration", + "src": "17169:20:2" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "totalSupply", + "referencedDeclaration": 4207, + "type": "function () view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputationSystem", + "referencedDeclaration": 899, + "type": "contract Reputation" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.OrgParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1001, + "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)", + "value": "organizationsParameters" + }, + "id": 1882, + "name": "Identifier", + "src": "17192:23:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1872, + "type": "bytes32", + "value": "orgParamsHash" + }, + "id": 1883, + "name": "Identifier", + "src": "17216:13:2" + } + ], + "id": 1884, + "name": "IndexAccess", + "src": "17192:38:2" + } + ], + "id": 1885, + "name": "MemberAccess", + "src": "17192:55:2" + } + ], + "id": 1886, + "name": "MemberAccess", + "src": "17192:67:2" + } + ], + "id": 1887, + "name": "FunctionCall", + "src": "17192:69:2" + } + ], + "id": 1888, + "name": "VariableDeclarationStatement", + "src": "17169:92:2" + }, + { + "attributes": { + "assignments": [ + 1890 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "precReq", + "scope": 2041, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1889, + "name": "ElementaryTypeName", + "src": "17272:4:2" + } + ], + "id": 1890, + "name": "VariableDeclaration", + "src": "17272:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "precReq", + "referencedDeclaration": 916, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.ProposalParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1005, + "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)", + "value": "proposalsParameters" + }, + "id": 1891, + "name": "Identifier", + "src": "17287:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 936, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1892, + "name": "Identifier", + "src": "17307:8:2" + } + ], + "id": 1893, + "name": "MemberAccess", + "src": "17307:19:2" + } + ], + "id": 1894, + "name": "IndexAccess", + "src": "17287:40:2" + } + ], + "id": 1895, + "name": "MemberAccess", + "src": "17287:48:2" + } + ], + "id": 1896, + "name": "VariableDeclarationStatement", + "src": "17272:63:2" + }, + { + "attributes": { + "assignments": [ + 1898 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "tmpProposal", + "scope": 2041, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct EmergentVoteScheme.Proposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 957, + "type": "struct EmergentVoteScheme.Proposal storage pointer" + }, + "id": 1897, + "name": "UserDefinedTypeName", + "src": "17346:8:2" + } + ], + "id": 1898, + "name": "VariableDeclaration", + "src": "17346:27:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1899, + "name": "Identifier", + "src": "17376:8:2" + } + ], + "id": 1900, + "name": "VariableDeclarationStatement", + "src": "17346:38:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "isBoostModeActive", + "referencedDeclaration": 950, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1901, + "name": "Identifier", + "src": "17437:8:2" + } + ], + "id": 1902, + "name": "MemberAccess", + "src": "17437:26:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "number", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9728, + "type": "block", + "value": "block" + }, + "id": 1903, + "name": "Identifier", + "src": "17467:5:2" + } + ], + "id": 1904, + "name": "MemberAccess", + "src": "17467:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "closingTime", + "referencedDeclaration": 954, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1905, + "name": "Identifier", + "src": "17483:8:2" + } + ], + "id": 1906, + "name": "MemberAccess", + "src": "17483:20:2" + } + ], + "id": 1907, + "name": "BinaryOperation", + "src": "17467:36:2" + } + ], + "id": 1908, + "name": "BinaryOperation", + "src": "17437:66:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1910 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "quorum", + "scope": 2041, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1909, + "name": "ElementaryTypeName", + "src": "17520:4:2" + } + ], + "id": 1910, + "name": "VariableDeclaration", + "src": "17520:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "quorum", + "referencedDeclaration": 918, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.ProposalParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1005, + "type": "mapping(bytes32 => struct EmergentVoteScheme.ProposalParameters storage ref)", + "value": "proposalsParameters" + }, + "id": 1911, + "name": "Identifier", + "src": "17534:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 936, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1912, + "name": "Identifier", + "src": "17554:8:2" + } + ], + "id": 1913, + "name": "MemberAccess", + "src": "17554:19:2" + } + ], + "id": 1914, + "name": "IndexAccess", + "src": "17534:40:2" + } + ], + "id": 1915, + "name": "MemberAccess", + "src": "17534:47:2" + } + ], + "id": 1916, + "name": "VariableDeclarationStatement", + "src": "17520:61:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "/", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalVotes", + "referencedDeclaration": 938, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1917, + "name": "Identifier", + "src": "17651:8:2" + } + ], + "id": 1918, + "name": "MemberAccess", + "src": "17651:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1881, + "type": "uint256", + "value": "totalReputation" + }, + "id": 1919, + "name": "Identifier", + "src": "17671:15:2" + } + ], + "id": 1920, + "name": "BinaryOperation", + "src": "17651:35:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1910, + "type": "uint256", + "value": "quorum" + }, + "id": 1921, + "name": "Identifier", + "src": "17690:6:2" + } + ], + "id": 1922, + "name": "BinaryOperation", + "src": "17651:45:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "max", + "scope": 2041, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1923, + "name": "ElementaryTypeName", + "src": "17717:4:2" + } + ], + "id": 1924, + "name": "VariableDeclaration", + "src": "17717:8:2" + } + ], + "id": 1925, + "name": "VariableDeclarationStatement", + "src": "17717:8:2" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "maxInd", + "scope": 2041, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1926, + "name": "ElementaryTypeName", + "src": "17744:4:2" + } + ], + "id": 1927, + "name": "VariableDeclaration", + "src": "17744:11:2" + } + ], + "id": 1928, + "name": "VariableDeclarationStatement", + "src": "17744:11:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1930 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 2041, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1929, + "name": "ElementaryTypeName", + "src": "17842:4:2" + } + ], + "id": 1930, + "name": "VariableDeclaration", + "src": "17842:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 1931, + "name": "Literal", + "src": "17853:1:2" + } + ], + "id": 1932, + "name": "VariableDeclarationStatement", + "src": "17842:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1930, + "type": "uint256", + "value": "cnt" + }, + "id": 1933, + "name": "Identifier", + "src": "17856:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 932, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1934, + "name": "Identifier", + "src": "17861:8:2" + } + ], + "id": 1935, + "name": "MemberAccess", + "src": "17861:21:2" + } + ], + "id": 1936, + "name": "BinaryOperation", + "src": "17856:26:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1930, + "type": "uint256", + "value": "cnt" + }, + "id": 1937, + "name": "Identifier", + "src": "17884:3:2" + } + ], + "id": 1938, + "name": "UnaryOperation", + "src": "17884:5:2" + } + ], + "id": 1939, + "name": "ExpressionStatement", + "src": "17884:5:2" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 942, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1940, + "name": "Identifier", + "src": "17918:8:2" + } + ], + "id": 1941, + "name": "MemberAccess", + "src": "17918:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1930, + "type": "uint256", + "value": "cnt" + }, + "id": 1942, + "name": "Identifier", + "src": "17933:3:2" + } + ], + "id": 1943, + "name": "IndexAccess", + "src": "17918:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1924, + "type": "uint256", + "value": "max" + }, + "id": 1944, + "name": "Identifier", + "src": "17940:3:2" + } + ], + "id": 1945, + "name": "BinaryOperation", + "src": "17918:25:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1924, + "type": "uint256", + "value": "max" + }, + "id": 1946, + "name": "Identifier", + "src": "17972:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 942, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1947, + "name": "Identifier", + "src": "17978:8:2" + } + ], + "id": 1948, + "name": "MemberAccess", + "src": "17978:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1930, + "type": "uint256", + "value": "cnt" + }, + "id": 1949, + "name": "Identifier", + "src": "17993:3:2" + } + ], + "id": 1950, + "name": "IndexAccess", + "src": "17978:19:2" + } + ], + "id": 1951, + "name": "Assignment", + "src": "17972:25:2" + } + ], + "id": 1952, + "name": "ExpressionStatement", + "src": "17972:25:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1927, + "type": "uint256", + "value": "maxInd" + }, + "id": 1953, + "name": "Identifier", + "src": "18024:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1930, + "type": "uint256", + "value": "cnt" + }, + "id": 1954, + "name": "Identifier", + "src": "18033:3:2" + } + ], + "id": 1955, + "name": "Assignment", + "src": "18024:12:2" + } + ], + "id": 1956, + "name": "ExpressionStatement", + "src": "18024:12:2" + } + ], + "id": 1957, + "name": "Block", + "src": "17945:115:2" + } + ], + "id": 1958, + "name": "IfStatement", + "src": "17914:146:2" + } + ], + "id": 1959, + "name": "Block", + "src": "17891:188:2" + } + ], + "id": 1960, + "name": "ForStatement", + "src": "17837:242:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 1961, + "name": "Identifier", + "src": "18104:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1857, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1962, + "name": "Identifier", + "src": "18114:11:2" + } + ], + "id": 1963, + "name": "IndexAccess", + "src": "18104:22:2" + } + ], + "id": 1964, + "name": "UnaryOperation", + "src": "18097:29:2" + } + ], + "id": 1965, + "name": "ExpressionStatement", + "src": "18097:29:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 975, + "type": "function (bytes32,uint256)", + "value": "LogExecuteProposal" + }, + "id": 1966, + "name": "Identifier", + "src": "18145:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1857, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1967, + "name": "Identifier", + "src": "18164:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1927, + "type": "uint256", + "value": "maxInd" + }, + "id": 1968, + "name": "Identifier", + "src": "18177:6:2" + } + ], + "id": 1969, + "name": "FunctionCall", + "src": "18145:39:2" + } + ], + "id": 1970, + "name": "ExpressionStatement", + "src": "18145:39:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "execute", + "referencedDeclaration": 5154, + "type": "function (bytes32,address,int256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "executable", + "referencedDeclaration": 934, + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1898, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "tmpProposal" + }, + "id": 1971, + "name": "Identifier", + "src": "18204:11:2" + } + ], + "id": 1972, + "name": "MemberAccess", + "src": "18204:22:2" + } + ], + "id": 1973, + "name": "TupleExpression", + "src": "18203:24:2" + } + ], + "id": 1974, + "name": "MemberAccess", + "src": "18203:32:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1857, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 1975, + "name": "Identifier", + "src": "18236:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "avatar", + "referencedDeclaration": 930, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1898, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "tmpProposal" + }, + "id": 1976, + "name": "Identifier", + "src": "18249:11:2" + } + ], + "id": 1977, + "name": "MemberAccess", + "src": "18249:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "int256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(int256)", + "value": "int" + }, + "id": 1978, + "name": "ElementaryTypeNameExpression", + "src": "18269:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1927, + "type": "uint256", + "value": "maxInd" + }, + "id": 1979, + "name": "Identifier", + "src": "18273:6:2" + } + ], + "id": 1980, + "name": "FunctionCall", + "src": "18269:11:2" + } + ], + "id": 1981, + "name": "FunctionCall", + "src": "18203:78:2" + } + ], + "id": 1982, + "name": "ExpressionStatement", + "src": "18203:78:2" + }, + { + "attributes": { + "functionReturnParameters": 1864 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 1983, + "name": "Literal", + "src": "18307:4:2" + } + ], + "id": 1984, + "name": "Return", + "src": "18300:11:2" + } + ], + "id": 1985, + "name": "Block", + "src": "17698:629:2" + } + ], + "id": 1986, + "name": "IfStatement", + "src": "17647:680:2" + } + ], + "id": 1987, + "name": "Block", + "src": "17505:833:2" + } + ], + "id": 1988, + "name": "IfStatement", + "src": "17433:905:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 1990 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt2", + "scope": 2041, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 1989, + "name": "ElementaryTypeName", + "src": "18401:4:2" + } + ], + "id": 1990, + "name": "VariableDeclaration", + "src": "18401:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 1991, + "name": "Literal", + "src": "18413:1:2" + } + ], + "id": 1992, + "name": "VariableDeclarationStatement", + "src": "18401:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1990, + "type": "uint256", + "value": "cnt2" + }, + "id": 1993, + "name": "Identifier", + "src": "18416:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 932, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 1994, + "name": "Identifier", + "src": "18422:8:2" + } + ], + "id": 1995, + "name": "MemberAccess", + "src": "18422:21:2" + } + ], + "id": 1996, + "name": "BinaryOperation", + "src": "18416:27:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1990, + "type": "uint256", + "value": "cnt2" + }, + "id": 1997, + "name": "Identifier", + "src": "18445:4:2" + } + ], + "id": 1998, + "name": "UnaryOperation", + "src": "18445:6:2" + } + ], + "id": 1999, + "name": "ExpressionStatement", + "src": "18445:6:2" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 942, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1866, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2000, + "name": "Identifier", + "src": "18472:8:2" + } + ], + "id": 2001, + "name": "MemberAccess", + "src": "18472:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1990, + "type": "uint256", + "value": "cnt2" + }, + "id": 2002, + "name": "Identifier", + "src": "18487:4:2" + } + ], + "id": 2003, + "name": "IndexAccess", + "src": "18472:20:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "/", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "*", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1881, + "type": "uint256", + "value": "totalReputation" + }, + "id": 2004, + "name": "Identifier", + "src": "18495:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1890, + "type": "uint256", + "value": "precReq" + }, + "id": 2005, + "name": "Identifier", + "src": "18511:7:2" + } + ], + "id": 2006, + "name": "BinaryOperation", + "src": "18495:23:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "313030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 100", + "value": "100" + }, + "id": 2007, + "name": "Literal", + "src": "18519:3:2" + } + ], + "id": 2008, + "name": "BinaryOperation", + "src": "18495:27:2" + } + ], + "id": 2009, + "name": "BinaryOperation", + "src": "18472:50:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2010, + "name": "Identifier", + "src": "18550:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1857, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2011, + "name": "Identifier", + "src": "18560:11:2" + } + ], + "id": 2012, + "name": "IndexAccess", + "src": "18550:22:2" + } + ], + "id": 2013, + "name": "UnaryOperation", + "src": "18543:29:2" + } + ], + "id": 2014, + "name": "ExpressionStatement", + "src": "18543:29:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 975, + "type": "function (bytes32,uint256)", + "value": "LogExecuteProposal" + }, + "id": 2015, + "name": "Identifier", + "src": "18591:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1857, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2016, + "name": "Identifier", + "src": "18610:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1930, + "type": "uint256", + "value": "cnt" + }, + "id": 2017, + "name": "Identifier", + "src": "18623:3:2" + } + ], + "id": 2018, + "name": "FunctionCall", + "src": "18591:36:2" + } + ], + "id": 2019, + "name": "ExpressionStatement", + "src": "18591:36:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "execute", + "referencedDeclaration": 5154, + "type": "function (bytes32,address,int256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "executable", + "referencedDeclaration": 934, + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1898, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "tmpProposal" + }, + "id": 2020, + "name": "Identifier", + "src": "18647:11:2" + } + ], + "id": 2021, + "name": "MemberAccess", + "src": "18647:22:2" + } + ], + "id": 2022, + "name": "TupleExpression", + "src": "18646:24:2" + } + ], + "id": 2023, + "name": "MemberAccess", + "src": "18646:32:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1857, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2024, + "name": "Identifier", + "src": "18679:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "avatar", + "referencedDeclaration": 930, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1898, + "type": "struct EmergentVoteScheme.Proposal memory", + "value": "tmpProposal" + }, + "id": 2025, + "name": "Identifier", + "src": "18692:11:2" + } + ], + "id": 2026, + "name": "MemberAccess", + "src": "18692:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "int256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(int256)", + "value": "int" + }, + "id": 2027, + "name": "ElementaryTypeNameExpression", + "src": "18712:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1990, + "type": "uint256", + "value": "cnt2" + }, + "id": 2028, + "name": "Identifier", + "src": "18716:4:2" + } + ], + "id": 2029, + "name": "FunctionCall", + "src": "18712:9:2" + } + ], + "id": 2030, + "name": "FunctionCall", + "src": "18646:76:2" + } + ], + "id": 2031, + "name": "ExpressionStatement", + "src": "18646:76:2" + }, + { + "attributes": { + "functionReturnParameters": 1864 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 2032, + "name": "Literal", + "src": "18748:4:2" + } + ], + "id": 2033, + "name": "Return", + "src": "18741:11:2" + } + ], + "id": 2034, + "name": "Block", + "src": "18524:244:2" + } + ], + "id": 2035, + "name": "IfStatement", + "src": "18468:300:2" + } + ], + "id": 2036, + "name": "Block", + "src": "18453:326:2" + } + ], + "id": 2037, + "name": "ForStatement", + "src": "18396:383:2" + }, + { + "attributes": { + "functionReturnParameters": 1864 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 2038, + "name": "Literal", + "src": "18796:5:2" + } + ], + "id": 2039, + "name": "Return", + "src": "18789:12:2" + } + ], + "id": 2040, + "name": "Block", + "src": "17008:1801:2" + } + ], + "id": 2041, + "name": "FunctionDefinition", + "src": "16928:1881:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getNumberOfChoices", + "payable": false, + "scope": 2542, + "stateMutability": "view", + "superFunction": 2650, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2055, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2042, + "name": "ElementaryTypeName", + "src": "18845:7:2" + } + ], + "id": 2043, + "name": "VariableDeclaration", + "src": "18845:19:2" + } + ], + "id": 2044, + "name": "ParameterList", + "src": "18844:21:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2055, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2045, + "name": "ElementaryTypeName", + "src": "18890:4:2" + } + ], + "id": 2046, + "name": "VariableDeclaration", + "src": "18890:4:2" + } + ], + "id": 2047, + "name": "ParameterList", + "src": "18889:6:2" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 2047 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 932, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2048, + "name": "Identifier", + "src": "18915:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2043, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2049, + "name": "Identifier", + "src": "18925:11:2" + } + ], + "id": 2050, + "name": "IndexAccess", + "src": "18915:22:2" + } + ], + "id": 2051, + "name": "MemberAccess", + "src": "18915:35:2" + } + ], + "id": 2052, + "name": "TupleExpression", + "src": "18914:37:2" + } + ], + "id": 2053, + "name": "Return", + "src": "18907:44:2" + } + ], + "id": 2054, + "name": "Block", + "src": "18896:63:2" + } + ], + "id": 2055, + "name": "FunctionDefinition", + "src": "18817:142:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "voteInfo", + "payable": false, + "scope": 2542, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2082, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2056, + "name": "ElementaryTypeName", + "src": "19357:7:2" + } + ], + "id": 2057, + "name": "VariableDeclaration", + "src": "19357:19:2" + }, + { + "attributes": { + "constant": false, + "name": "_voter", + "scope": 2082, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2058, + "name": "ElementaryTypeName", + "src": "19378:7:2" + } + ], + "id": 2059, + "name": "VariableDeclaration", + "src": "19378:14:2" + } + ], + "id": 2060, + "name": "ParameterList", + "src": "19356:37:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2082, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256[2] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "uint256[2] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2061, + "name": "ElementaryTypeName", + "src": "19418:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 2062, + "name": "Literal", + "src": "19423:1:2" + } + ], + "id": 2063, + "name": "ArrayTypeName", + "src": "19418:7:2" + } + ], + "id": 2064, + "name": "VariableDeclaration", + "src": "19418:7:2" + } + ], + "id": 2065, + "name": "ParameterList", + "src": "19417:9:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 2067 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "voter", + "scope": 2082, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct EmergentVoteScheme.Voter memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Voter", + "referencedDeclaration": 926, + "type": "struct EmergentVoteScheme.Voter storage pointer" + }, + "id": 2066, + "name": "UserDefinedTypeName", + "src": "19438:5:2" + } + ], + "id": 2067, + "name": "VariableDeclaration", + "src": "19438:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voters", + "referencedDeclaration": 946, + "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2068, + "name": "Identifier", + "src": "19459:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2057, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2069, + "name": "Identifier", + "src": "19469:11:2" + } + ], + "id": 2070, + "name": "IndexAccess", + "src": "19459:22:2" + } + ], + "id": 2071, + "name": "MemberAccess", + "src": "19459:29:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2059, + "type": "address", + "value": "_voter" + }, + "id": 2072, + "name": "Identifier", + "src": "19489:6:2" + } + ], + "id": 2073, + "name": "IndexAccess", + "src": "19459:37:2" + } + ], + "id": 2074, + "name": "VariableDeclarationStatement", + "src": "19438:58:2" + }, + { + "attributes": { + "functionReturnParameters": 2065 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256[2] memory" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "vote", + "referencedDeclaration": 923, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2067, + "type": "struct EmergentVoteScheme.Voter memory", + "value": "voter" + }, + "id": 2075, + "name": "Identifier", + "src": "19515:5:2" + } + ], + "id": 2076, + "name": "MemberAccess", + "src": "19515:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputation", + "referencedDeclaration": 925, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2067, + "type": "struct EmergentVoteScheme.Voter memory", + "value": "voter" + }, + "id": 2077, + "name": "Identifier", + "src": "19527:5:2" + } + ], + "id": 2078, + "name": "MemberAccess", + "src": "19527:16:2" + } + ], + "id": 2079, + "name": "TupleExpression", + "src": "19514:30:2" + } + ], + "id": 2080, + "name": "Return", + "src": "19507:37:2" + } + ], + "id": 2081, + "name": "Block", + "src": "19427:125:2" + } + ], + "id": 2082, + "name": "FunctionDefinition", + "src": "19339:213:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "proposalStatus", + "payable": false, + "scope": 2542, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2142, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2083, + "name": "ElementaryTypeName", + "src": "19920:7:2" + } + ], + "id": 2084, + "name": "VariableDeclaration", + "src": "19920:19:2" + } + ], + "id": 2085, + "name": "ParameterList", + "src": "19919:21:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2142, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256[13] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "uint256[13] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2086, + "name": "ElementaryTypeName", + "src": "19965:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3133", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 13", + "value": "13" + }, + "id": 2087, + "name": "Literal", + "src": "19970:2:2" + } + ], + "id": 2088, + "name": "ArrayTypeName", + "src": "19965:8:2" + } + ], + "id": 2089, + "name": "VariableDeclaration", + "src": "19965:8:2" + } + ], + "id": 2090, + "name": "ParameterList", + "src": "19964:10:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 2092 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 2142, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 957, + "type": "struct EmergentVoteScheme.Proposal storage pointer" + }, + "id": 2091, + "name": "UserDefinedTypeName", + "src": "19986:8:2" + } + ], + "id": 2092, + "name": "VariableDeclaration", + "src": "19986:25:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2093, + "name": "Identifier", + "src": "20014:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2084, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2094, + "name": "Identifier", + "src": "20024:11:2" + } + ], + "id": 2095, + "name": "IndexAccess", + "src": "20014:22:2" + } + ], + "id": 2096, + "name": "VariableDeclarationStatement", + "src": "19986:50:2" + }, + { + "attributes": { + "assignments": [ + 2098 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "opened", + "scope": 2142, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2097, + "name": "ElementaryTypeName", + "src": "20047:4:2" + } + ], + "id": 2098, + "name": "VariableDeclaration", + "src": "20047:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint8" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "opened", + "referencedDeclaration": 948, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2092, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2099, + "name": "Identifier", + "src": "20061:8:2" + } + ], + "id": 2100, + "name": "MemberAccess", + "src": "20061:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 2101, + "name": "Literal", + "src": "20079:1:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 2102, + "name": "Literal", + "src": "20083:1:2" + } + ], + "id": 2103, + "name": "Conditional", + "src": "20061:23:2" + } + ], + "id": 2104, + "name": "VariableDeclarationStatement", + "src": "20047:37:2" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "returnedArray", + "scope": 2142, + "stateVariable": false, + "storageLocation": "memory", + "type": "uint256[13] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "uint256[13] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2107, + "name": "ElementaryTypeName", + "src": "20095:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3133", + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 13", + "value": "13" + }, + "id": 2106, + "name": "Literal", + "src": "20100:2:2" + } + ], + "id": 2108, + "name": "ArrayTypeName", + "src": "20095:8:2" + } + ], + "id": 2109, + "name": "VariableDeclaration", + "src": "20095:29:2" + } + ], + "id": 2110, + "name": "VariableDeclarationStatement", + "src": "20095:29:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2109, + "type": "uint256[13] memory", + "value": "returnedArray" + }, + "id": 2111, + "name": "Identifier", + "src": "20135:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3132", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 12", + "value": "12" + }, + "id": 2112, + "name": "Literal", + "src": "20149:2:2" + } + ], + "id": 2113, + "name": "IndexAccess", + "src": "20135:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2098, + "type": "uint256", + "value": "opened" + }, + "id": 2114, + "name": "Identifier", + "src": "20155:6:2" + } + ], + "id": 2115, + "name": "Assignment", + "src": "20135:26:2" + } + ], + "id": 2116, + "name": "ExpressionStatement", + "src": "20135:26:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 2118 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 2142, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2117, + "name": "ElementaryTypeName", + "src": "20177:4:2" + } + ], + "id": 2118, + "name": "VariableDeclaration", + "src": "20177:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 2119, + "name": "Literal", + "src": "20188:1:2" + } + ], + "id": 2120, + "name": "VariableDeclarationStatement", + "src": "20177:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2118, + "type": "uint256", + "value": "cnt" + }, + "id": 2121, + "name": "Identifier", + "src": "20191:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 932, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2092, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2122, + "name": "Identifier", + "src": "20196:8:2" + } + ], + "id": 2123, + "name": "MemberAccess", + "src": "20196:21:2" + } + ], + "id": 2124, + "name": "BinaryOperation", + "src": "20191:26:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2118, + "type": "uint256", + "value": "cnt" + }, + "id": 2125, + "name": "Identifier", + "src": "20219:3:2" + } + ], + "id": 2126, + "name": "UnaryOperation", + "src": "20219:5:2" + } + ], + "id": 2127, + "name": "ExpressionStatement", + "src": "20219:5:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2109, + "type": "uint256[13] memory", + "value": "returnedArray" + }, + "id": 2128, + "name": "Identifier", + "src": "20241:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2118, + "type": "uint256", + "value": "cnt" + }, + "id": 2129, + "name": "Identifier", + "src": "20255:3:2" + } + ], + "id": 2130, + "name": "IndexAccess", + "src": "20241:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 942, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2092, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2131, + "name": "Identifier", + "src": "20262:8:2" + } + ], + "id": 2132, + "name": "MemberAccess", + "src": "20262:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2118, + "type": "uint256", + "value": "cnt" + }, + "id": 2133, + "name": "Identifier", + "src": "20277:3:2" + } + ], + "id": 2134, + "name": "IndexAccess", + "src": "20262:19:2" + } + ], + "id": 2135, + "name": "Assignment", + "src": "20241:40:2" + } + ], + "id": 2136, + "name": "ExpressionStatement", + "src": "20241:40:2" + } + ], + "id": 2137, + "name": "Block", + "src": "20226:67:2" + } + ], + "id": 2138, + "name": "ForStatement", + "src": "20172:121:2" + }, + { + "attributes": { + "functionReturnParameters": 2090 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2109, + "type": "uint256[13] memory", + "value": "returnedArray" + }, + "id": 2139, + "name": "Identifier", + "src": "20310:13:2" + } + ], + "id": 2140, + "name": "Return", + "src": "20303:20:2" + } + ], + "id": 2141, + "name": "Block", + "src": "19975:356:2" + } + ], + "id": 2142, + "name": "FunctionDefinition", + "src": "19896:435:2" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isVotable", + "payable": false, + "scope": 2542, + "stateMutability": "view", + "superFunction": 2657, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2155, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2143, + "name": "ElementaryTypeName", + "src": "20510:7:2" + } + ], + "id": 2144, + "name": "VariableDeclaration", + "src": "20510:19:2" + } + ], + "id": 2145, + "name": "ParameterList", + "src": "20509:21:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2155, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2146, + "name": "ElementaryTypeName", + "src": "20555:4:2" + } + ], + "id": 2147, + "name": "VariableDeclaration", + "src": "20555:4:2" + } + ], + "id": 2148, + "name": "ParameterList", + "src": "20554:6:2" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 2148 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "opened", + "referencedDeclaration": 948, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2149, + "name": "Identifier", + "src": "20579:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2144, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2150, + "name": "Identifier", + "src": "20589:11:2" + } + ], + "id": 2151, + "name": "IndexAccess", + "src": "20579:22:2" + } + ], + "id": 2152, + "name": "MemberAccess", + "src": "20579:29:2" + } + ], + "id": 2153, + "name": "Return", + "src": "20572:36:2" + } + ], + "id": 2154, + "name": "Block", + "src": "20561:55:2" + } + ], + "id": 2155, + "name": "FunctionDefinition", + "src": "20491:125:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "tryAwaitingBoostProposals", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2280, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2156, + "name": "ElementaryTypeName", + "src": "20939:7:2" + } + ], + "id": 2157, + "name": "VariableDeclaration", + "src": "20939:19:2" + } + ], + "id": 2158, + "name": "ParameterList", + "src": "20938:21:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 2159, + "name": "ParameterList", + "src": "20969:0:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 2161 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "avatar", + "scope": 2280, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2160, + "name": "ElementaryTypeName", + "src": "21028:7:2" + } + ], + "id": 2161, + "name": "VariableDeclaration", + "src": "21028:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "avatar", + "referencedDeclaration": 930, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2162, + "name": "Identifier", + "src": "21045:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2157, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2163, + "name": "Identifier", + "src": "21055:11:2" + } + ], + "id": 2164, + "name": "IndexAccess", + "src": "21045:22:2" + } + ], + "id": 2165, + "name": "MemberAccess", + "src": "21045:29:2" + } + ], + "id": 2166, + "name": "VariableDeclarationStatement", + "src": "21028:46:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 2167, + "name": "Identifier", + "src": "21085:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2161, + "type": "address", + "value": "avatar" + }, + "id": 2168, + "name": "Identifier", + "src": "21093:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 2169, + "name": "ElementaryTypeNameExpression", + "src": "21103:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 2170, + "name": "Literal", + "src": "21111:1:2" + } + ], + "id": 2171, + "name": "FunctionCall", + "src": "21103:10:2" + } + ], + "id": 2172, + "name": "BinaryOperation", + "src": "21093:20:2" + } + ], + "id": 2173, + "name": "FunctionCall", + "src": "21085:29:2" + } + ], + "id": 2174, + "name": "ExpressionStatement", + "src": "21085:29:2" + }, + { + "attributes": { + "assignments": [ + 2176 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "orgParamsHash", + "scope": 2280, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2175, + "name": "ElementaryTypeName", + "src": "21149:7:2" + } + ], + "id": 2176, + "name": "VariableDeclaration", + "src": "21149:21:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 2177, + "name": "Identifier", + "src": "21173:27:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 2178, + "name": "Identifier", + "src": "21201:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2161, + "type": "address", + "value": "avatar" + }, + "id": 2179, + "name": "Identifier", + "src": "21208:6:2" + } + ], + "id": 2180, + "name": "FunctionCall", + "src": "21201:14:2" + } + ], + "id": 2181, + "name": "FunctionCall", + "src": "21173:43:2" + } + ], + "id": 2182, + "name": "VariableDeclarationStatement", + "src": "21149:67:2" + }, + { + "attributes": { + "assignments": [ + 2184 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "orgParams", + "scope": 2280, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct EmergentVoteScheme.OrgParameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "OrgParameters", + "referencedDeclaration": 914, + "type": "struct EmergentVoteScheme.OrgParameters storage pointer" + }, + "id": 2183, + "name": "UserDefinedTypeName", + "src": "21227:13:2" + } + ], + "id": 2184, + "name": "VariableDeclaration", + "src": "21227:30:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.OrgParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1001, + "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)", + "value": "organizationsParameters" + }, + "id": 2185, + "name": "Identifier", + "src": "21260:23:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2176, + "type": "bytes32", + "value": "orgParamsHash" + }, + "id": 2186, + "name": "Identifier", + "src": "21284:13:2" + } + ], + "id": 2187, + "name": "IndexAccess", + "src": "21260:38:2" + } + ], + "id": 2188, + "name": "VariableDeclarationStatement", + "src": "21227:71:2" + }, + { + "attributes": { + "assignments": [ + 2190 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "org", + "scope": 2280, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 897, + "type": "struct EmergentVoteScheme.Organization storage pointer" + }, + "id": 2189, + "name": "UserDefinedTypeName", + "src": "21309:12:2" + } + ], + "id": 2190, + "name": "VariableDeclaration", + "src": "21309:24:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 997, + "type": "mapping(address => struct EmergentVoteScheme.Organization storage ref)", + "value": "organizations" + }, + "id": 2191, + "name": "Identifier", + "src": "21336:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2161, + "type": "address", + "value": "avatar" + }, + "id": 2192, + "name": "Identifier", + "src": "21350:6:2" + } + ], + "id": 2193, + "name": "IndexAccess", + "src": "21336:21:2" + } + ], + "id": 2194, + "name": "VariableDeclarationStatement", + "src": "21309:48:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "isAwaitingBoost", + "referencedDeclaration": 952, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2195, + "name": "Identifier", + "src": "21424:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2157, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2196, + "name": "Identifier", + "src": "21434:11:2" + } + ], + "id": 2197, + "name": "IndexAccess", + "src": "21424:22:2" + } + ], + "id": 2198, + "name": "MemberAccess", + "src": "21424:38:2" + }, + { + "children": [ + { + "attributes": { + "expression": null, + "functionReturnParameters": 2159 + }, + "id": 2199, + "name": "Return", + "src": "21479:7:2" + } + ], + "id": 2200, + "name": "Block", + "src": "21464:33:2" + } + ], + "id": 2201, + "name": "IfStatement", + "src": "21420:77:2" + }, + { + "attributes": { + "assignments": [ + 2203 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "maxAwaitingList", + "scope": 2280, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2202, + "name": "ElementaryTypeName", + "src": "21618:4:2" + } + ], + "id": 2203, + "name": "VariableDeclaration", + "src": "21618:20:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "*", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 2204, + "name": "Literal", + "src": "21641:1:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "attentionBandwidth", + "referencedDeclaration": 905, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2184, + "type": "struct EmergentVoteScheme.OrgParameters memory", + "value": "orgParams" + }, + "id": 2205, + "name": "Identifier", + "src": "21643:9:2" + } + ], + "id": 2206, + "name": "MemberAccess", + "src": "21643:28:2" + } + ], + "id": 2207, + "name": "BinaryOperation", + "src": "21641:30:2" + } + ], + "id": 2208, + "name": "VariableDeclarationStatement", + "src": "21618:53:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2190, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 2209, + "name": "Identifier", + "src": "21686:3:2" + } + ], + "id": 2210, + "name": "MemberAccess", + "src": "21686:26:2" + } + ], + "id": 2211, + "name": "MemberAccess", + "src": "21686:33:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2203, + "type": "uint256", + "value": "maxAwaitingList" + }, + "id": 2212, + "name": "Identifier", + "src": "21722:15:2" + } + ], + "id": 2213, + "name": "BinaryOperation", + "src": "21686:51:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "push", + "referencedDeclaration": null, + "type": "function (bytes32) returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2190, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 2214, + "name": "Identifier", + "src": "21754:3:2" + } + ], + "id": 2217, + "name": "MemberAccess", + "src": "21754:26:2" + } + ], + "id": 2218, + "name": "MemberAccess", + "src": "21754:31:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2157, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2219, + "name": "Identifier", + "src": "21786:11:2" + } + ], + "id": 2220, + "name": "FunctionCall", + "src": "21754:44:2" + } + ], + "id": 2221, + "name": "ExpressionStatement", + "src": "21754:44:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "isAwaitingBoost", + "referencedDeclaration": 952, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2222, + "name": "Identifier", + "src": "21813:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2157, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2223, + "name": "Identifier", + "src": "21823:11:2" + } + ], + "id": 2224, + "name": "IndexAccess", + "src": "21813:22:2" + } + ], + "id": 2225, + "name": "MemberAccess", + "src": "21813:38:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 2226, + "name": "Literal", + "src": "21854:4:2" + } + ], + "id": 2227, + "name": "Assignment", + "src": "21813:45:2" + } + ], + "id": 2228, + "name": "ExpressionStatement", + "src": "21813:45:2" + }, + { + "attributes": { + "expression": null, + "functionReturnParameters": 2159 + }, + "id": 2229, + "name": "Return", + "src": "21873:7:2" + } + ], + "id": 2230, + "name": "Block", + "src": "21739:152:2" + } + ], + "id": 2231, + "name": "IfStatement", + "src": "21682:209:2" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "minIndex", + "scope": 2280, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2232, + "name": "ElementaryTypeName", + "src": "21961:4:2" + } + ], + "id": 2233, + "name": "VariableDeclaration", + "src": "21961:13:2" + } + ], + "id": 2234, + "name": "VariableDeclarationStatement", + "src": "21961:13:2" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "minScore", + "scope": 2280, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2235, + "name": "ElementaryTypeName", + "src": "21985:4:2" + } + ], + "id": 2236, + "name": "VariableDeclaration", + "src": "21985:13:2" + } + ], + "id": 2237, + "name": "VariableDeclarationStatement", + "src": "21985:13:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "tuple(uint256,uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2233, + "type": "uint256", + "value": "minIndex" + }, + "id": 2238, + "name": "Identifier", + "src": "22010:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2236, + "type": "uint256", + "value": "minScore" + }, + "id": 2239, + "name": "Identifier", + "src": "22020:8:2" + } + ], + "id": 2240, + "name": "TupleExpression", + "src": "22009:20:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple(uint256,uint256)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1471, + "type": "function (bytes32[] memory) view returns (uint256,uint256)", + "value": "findMinScore" + }, + "id": 2241, + "name": "Identifier", + "src": "22032:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2190, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 2242, + "name": "Identifier", + "src": "22045:3:2" + } + ], + "id": 2243, + "name": "MemberAccess", + "src": "22045:26:2" + } + ], + "id": 2244, + "name": "FunctionCall", + "src": "22032:40:2" + } + ], + "id": 2245, + "name": "Assignment", + "src": "22009:63:2" + } + ], + "id": 2246, + "name": "ExpressionStatement", + "src": "22009:63:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1426, + "type": "function (bytes32) view returns (uint256)", + "value": "proposalScore" + }, + "id": 2247, + "name": "Identifier", + "src": "22087:13:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2157, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2248, + "name": "Identifier", + "src": "22101:11:2" + } + ], + "id": 2249, + "name": "FunctionCall", + "src": "22087:26:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2233, + "type": "uint256", + "value": "minIndex" + }, + "id": 2250, + "name": "Identifier", + "src": "22116:8:2" + } + ], + "id": 2251, + "name": "BinaryOperation", + "src": "22087:37:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "isAwaitingBoost", + "referencedDeclaration": 952, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2252, + "name": "Identifier", + "src": "22141:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2190, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 2253, + "name": "Identifier", + "src": "22151:3:2" + } + ], + "id": 2254, + "name": "MemberAccess", + "src": "22151:26:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2233, + "type": "uint256", + "value": "minIndex" + }, + "id": 2255, + "name": "Identifier", + "src": "22178:8:2" + } + ], + "id": 2256, + "name": "IndexAccess", + "src": "22151:36:2" + } + ], + "id": 2257, + "name": "IndexAccess", + "src": "22141:47:2" + } + ], + "id": 2258, + "name": "MemberAccess", + "src": "22141:63:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 2259, + "name": "Literal", + "src": "22207:5:2" + } + ], + "id": 2260, + "name": "Assignment", + "src": "22141:71:2" + } + ], + "id": 2261, + "name": "ExpressionStatement", + "src": "22141:71:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "isAwaitingBoost", + "referencedDeclaration": 952, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2262, + "name": "Identifier", + "src": "22227:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2157, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2263, + "name": "Identifier", + "src": "22237:11:2" + } + ], + "id": 2264, + "name": "IndexAccess", + "src": "22227:22:2" + } + ], + "id": 2265, + "name": "MemberAccess", + "src": "22227:38:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 2266, + "name": "Literal", + "src": "22268:4:2" + } + ], + "id": 2267, + "name": "Assignment", + "src": "22227:45:2" + } + ], + "id": 2268, + "name": "ExpressionStatement", + "src": "22227:45:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "awaitingBoostProposals", + "referencedDeclaration": 896, + "type": "bytes32[] storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2190, + "type": "struct EmergentVoteScheme.Organization storage pointer", + "value": "org" + }, + "id": 2269, + "name": "Identifier", + "src": "22287:3:2" + } + ], + "id": 2272, + "name": "MemberAccess", + "src": "22287:26:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2233, + "type": "uint256", + "value": "minIndex" + }, + "id": 2271, + "name": "Identifier", + "src": "22314:8:2" + } + ], + "id": 2273, + "name": "IndexAccess", + "src": "22287:36:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2157, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2274, + "name": "Identifier", + "src": "22326:11:2" + } + ], + "id": 2275, + "name": "Assignment", + "src": "22287:50:2" + } + ], + "id": 2276, + "name": "ExpressionStatement", + "src": "22287:50:2" + } + ], + "id": 2277, + "name": "Block", + "src": "22126:223:2" + } + ], + "id": 2278, + "name": "IfStatement", + "src": "22083:266:2" + } + ], + "id": 2279, + "name": "Block", + "src": "20969:1387:2" + } + ], + "id": 2280, + "name": "FunctionDefinition", + "src": "20904:1452:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "cancelVoteInternal", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2342, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2281, + "name": "ElementaryTypeName", + "src": "22614:7:2" + } + ], + "id": 2282, + "name": "VariableDeclaration", + "src": "22614:19:2" + }, + { + "attributes": { + "constant": false, + "name": "_voter", + "scope": 2342, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2283, + "name": "ElementaryTypeName", + "src": "22635:7:2" + } + ], + "id": 2284, + "name": "VariableDeclaration", + "src": "22635:14:2" + } + ], + "id": 2285, + "name": "ParameterList", + "src": "22613:37:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 2286, + "name": "ParameterList", + "src": "22660:0:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 2288 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 2342, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 957, + "type": "struct EmergentVoteScheme.Proposal storage pointer" + }, + "id": 2287, + "name": "UserDefinedTypeName", + "src": "22671:8:2" + } + ], + "id": 2288, + "name": "VariableDeclaration", + "src": "22671:25:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2289, + "name": "Identifier", + "src": "22699:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2282, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2290, + "name": "Identifier", + "src": "22709:11:2" + } + ], + "id": 2291, + "name": "IndexAccess", + "src": "22699:22:2" + } + ], + "id": 2292, + "name": "VariableDeclarationStatement", + "src": "22671:50:2" + }, + { + "attributes": { + "assignments": [ + 2294 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "voter", + "scope": 2342, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct EmergentVoteScheme.Voter memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Voter", + "referencedDeclaration": 926, + "type": "struct EmergentVoteScheme.Voter storage pointer" + }, + "id": 2293, + "name": "UserDefinedTypeName", + "src": "22732:5:2" + } + ], + "id": 2294, + "name": "VariableDeclaration", + "src": "22732:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voters", + "referencedDeclaration": 946, + "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2288, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2295, + "name": "Identifier", + "src": "22753:8:2" + } + ], + "id": 2296, + "name": "MemberAccess", + "src": "22753:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2284, + "type": "address", + "value": "_voter" + }, + "id": 2297, + "name": "Identifier", + "src": "22769:6:2" + } + ], + "id": 2298, + "name": "IndexAccess", + "src": "22753:23:2" + } + ], + "id": 2299, + "name": "VariableDeclarationStatement", + "src": "22732:44:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 942, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2288, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2300, + "name": "Identifier", + "src": "22789:8:2" + } + ], + "id": 2304, + "name": "MemberAccess", + "src": "22789:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "vote", + "referencedDeclaration": 923, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2294, + "type": "struct EmergentVoteScheme.Voter memory", + "value": "voter" + }, + "id": 2302, + "name": "Identifier", + "src": "22804:5:2" + } + ], + "id": 2303, + "name": "MemberAccess", + "src": "22804:10:2" + } + ], + "id": 2305, + "name": "IndexAccess", + "src": "22789:26:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 942, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2288, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2306, + "name": "Identifier", + "src": "22819:8:2" + } + ], + "id": 2307, + "name": "MemberAccess", + "src": "22819:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "vote", + "referencedDeclaration": 923, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2294, + "type": "struct EmergentVoteScheme.Voter memory", + "value": "voter" + }, + "id": 2308, + "name": "Identifier", + "src": "22834:5:2" + } + ], + "id": 2309, + "name": "MemberAccess", + "src": "22834:10:2" + } + ], + "id": 2310, + "name": "IndexAccess", + "src": "22819:26:2" + } + ], + "id": 2311, + "name": "TupleExpression", + "src": "22818:28:2" + } + ], + "id": 2312, + "name": "MemberAccess", + "src": "22818:32:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputation", + "referencedDeclaration": 925, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2294, + "type": "struct EmergentVoteScheme.Voter memory", + "value": "voter" + }, + "id": 2313, + "name": "Identifier", + "src": "22851:5:2" + } + ], + "id": 2314, + "name": "MemberAccess", + "src": "22851:16:2" + } + ], + "id": 2315, + "name": "FunctionCall", + "src": "22818:50:2" + } + ], + "id": 2316, + "name": "Assignment", + "src": "22789:79:2" + } + ], + "id": 2317, + "name": "ExpressionStatement", + "src": "22789:79:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "totalVotes", + "referencedDeclaration": 938, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2288, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2318, + "name": "Identifier", + "src": "22879:8:2" + } + ], + "id": 2320, + "name": "MemberAccess", + "src": "22879:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalVotes", + "referencedDeclaration": 938, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2288, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2321, + "name": "Identifier", + "src": "22902:8:2" + } + ], + "id": 2322, + "name": "MemberAccess", + "src": "22902:19:2" + } + ], + "id": 2323, + "name": "TupleExpression", + "src": "22901:21:2" + } + ], + "id": 2324, + "name": "MemberAccess", + "src": "22901:25:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputation", + "referencedDeclaration": 925, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2294, + "type": "struct EmergentVoteScheme.Voter memory", + "value": "voter" + }, + "id": 2325, + "name": "Identifier", + "src": "22927:5:2" + } + ], + "id": 2326, + "name": "MemberAccess", + "src": "22927:16:2" + } + ], + "id": 2327, + "name": "FunctionCall", + "src": "22901:43:2" + } + ], + "id": 2328, + "name": "Assignment", + "src": "22879:65:2" + } + ], + "id": 2329, + "name": "ExpressionStatement", + "src": "22879:65:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct EmergentVoteScheme.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voters", + "referencedDeclaration": 946, + "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2288, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2330, + "name": "Identifier", + "src": "22964:8:2" + } + ], + "id": 2331, + "name": "MemberAccess", + "src": "22964:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2284, + "type": "address", + "value": "_voter" + }, + "id": 2332, + "name": "Identifier", + "src": "22980:6:2" + } + ], + "id": 2333, + "name": "IndexAccess", + "src": "22964:23:2" + } + ], + "id": 2334, + "name": "UnaryOperation", + "src": "22957:30:2" + } + ], + "id": 2335, + "name": "ExpressionStatement", + "src": "22957:30:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 993, + "type": "function (bytes32,address)", + "value": "LogCancelVoting" + }, + "id": 2336, + "name": "Identifier", + "src": "22998:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2282, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2337, + "name": "Identifier", + "src": "23014:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2284, + "type": "address", + "value": "_voter" + }, + "id": 2338, + "name": "Identifier", + "src": "23027:6:2" + } + ], + "id": 2339, + "name": "FunctionCall", + "src": "22998:36:2" + } + ], + "id": 2340, + "name": "ExpressionStatement", + "src": "22998:36:2" + } + ], + "id": 2341, + "name": "Block", + "src": "22660:382:2" + } + ], + "id": 2342, + "name": "FunctionDefinition", + "src": "22586:456:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "deleteFromArray", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_idsArray", + "scope": 2388, + "stateVariable": false, + "storageLocation": "storage", + "type": "bytes32[] storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2343, + "name": "ElementaryTypeName", + "src": "23254:7:2" + } + ], + "id": 2344, + "name": "ArrayTypeName", + "src": "23254:9:2" + } + ], + "id": 2345, + "name": "VariableDeclaration", + "src": "23254:27:2" + }, + { + "attributes": { + "constant": false, + "name": "_index", + "scope": 2388, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2346, + "name": "ElementaryTypeName", + "src": "23283:4:2" + } + ], + "id": 2347, + "name": "VariableDeclaration", + "src": "23283:11:2" + } + ], + "id": 2348, + "name": "ParameterList", + "src": "23253:42:2" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 2349, + "name": "ParameterList", + "src": "23305:0:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9727, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 2350, + "name": "Identifier", + "src": "23316:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2345, + "type": "bytes32[] storage pointer", + "value": "_idsArray" + }, + "id": 2351, + "name": "Identifier", + "src": "23323:9:2" + } + ], + "id": 2352, + "name": "MemberAccess", + "src": "23323:16:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2347, + "type": "uint256", + "value": "_index" + }, + "id": 2353, + "name": "Identifier", + "src": "23342:6:2" + } + ], + "id": 2354, + "name": "BinaryOperation", + "src": "23323:25:2" + } + ], + "id": 2355, + "name": "FunctionCall", + "src": "23316:33:2" + } + ], + "id": 2356, + "name": "ExpressionStatement", + "src": "23316:33:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 2358 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 2388, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2357, + "name": "ElementaryTypeName", + "src": "23365:4:2" + } + ], + "id": 2358, + "name": "VariableDeclaration", + "src": "23365:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2347, + "type": "uint256", + "value": "_index" + }, + "id": 2359, + "name": "Identifier", + "src": "23376:6:2" + } + ], + "id": 2360, + "name": "VariableDeclarationStatement", + "src": "23365:17:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2358, + "type": "uint256", + "value": "cnt" + }, + "id": 2361, + "name": "Identifier", + "src": "23384:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "-", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2345, + "type": "bytes32[] storage pointer", + "value": "_idsArray" + }, + "id": 2362, + "name": "Identifier", + "src": "23388:9:2" + } + ], + "id": 2363, + "name": "MemberAccess", + "src": "23388:16:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 2364, + "name": "Literal", + "src": "23405:1:2" + } + ], + "id": 2365, + "name": "BinaryOperation", + "src": "23388:18:2" + } + ], + "id": 2366, + "name": "BinaryOperation", + "src": "23384:22:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2358, + "type": "uint256", + "value": "cnt" + }, + "id": 2367, + "name": "Identifier", + "src": "23408:3:2" + } + ], + "id": 2368, + "name": "UnaryOperation", + "src": "23408:5:2" + } + ], + "id": 2369, + "name": "ExpressionStatement", + "src": "23408:5:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2345, + "type": "bytes32[] storage pointer", + "value": "_idsArray" + }, + "id": 2370, + "name": "Identifier", + "src": "23430:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2358, + "type": "uint256", + "value": "cnt" + }, + "id": 2371, + "name": "Identifier", + "src": "23440:3:2" + } + ], + "id": 2372, + "name": "IndexAccess", + "src": "23430:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2345, + "type": "bytes32[] storage pointer", + "value": "_idsArray" + }, + "id": 2373, + "name": "Identifier", + "src": "23447:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2358, + "type": "uint256", + "value": "cnt" + }, + "id": 2374, + "name": "Identifier", + "src": "23457:3:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 2375, + "name": "Literal", + "src": "23461:1:2" + } + ], + "id": 2376, + "name": "BinaryOperation", + "src": "23457:5:2" + } + ], + "id": 2377, + "name": "IndexAccess", + "src": "23447:16:2" + } + ], + "id": 2378, + "name": "Assignment", + "src": "23430:33:2" + } + ], + "id": 2379, + "name": "ExpressionStatement", + "src": "23430:33:2" + } + ], + "id": 2380, + "name": "Block", + "src": "23415:60:2" + } + ], + "id": 2381, + "name": "ForStatement", + "src": "23360:115:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "--", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2345, + "type": "bytes32[] storage pointer", + "value": "_idsArray" + }, + "id": 2382, + "name": "Identifier", + "src": "23485:9:2" + } + ], + "id": 2384, + "name": "MemberAccess", + "src": "23485:16:2" + } + ], + "id": 2385, + "name": "UnaryOperation", + "src": "23485:18:2" + } + ], + "id": 2386, + "name": "ExpressionStatement", + "src": "23485:18:2" + } + ], + "id": 2387, + "name": "Block", + "src": "23305:206:2" + } + ], + "id": 2388, + "name": "FunctionDefinition", + "src": "23229:282:2" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "internalVote", + "payable": false, + "scope": 2542, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "private" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2541, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2389, + "name": "ElementaryTypeName", + "src": "23995:7:2" + } + ], + "id": 2390, + "name": "VariableDeclaration", + "src": "23995:19:2" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 2541, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2391, + "name": "ElementaryTypeName", + "src": "24016:4:2" + } + ], + "id": 2392, + "name": "VariableDeclaration", + "src": "24016:10:2" + }, + { + "attributes": { + "constant": false, + "name": "_voter", + "scope": 2541, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2393, + "name": "ElementaryTypeName", + "src": "24028:7:2" + } + ], + "id": 2394, + "name": "VariableDeclaration", + "src": "24028:14:2" + }, + { + "attributes": { + "constant": false, + "name": "_rep", + "scope": 2541, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2395, + "name": "ElementaryTypeName", + "src": "24044:4:2" + } + ], + "id": 2396, + "name": "VariableDeclaration", + "src": "24044:9:2" + } + ], + "id": 2397, + "name": "ParameterList", + "src": "23994:60:2" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2541, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2398, + "name": "ElementaryTypeName", + "src": "24071:4:2" + } + ], + "id": 2399, + "name": "VariableDeclaration", + "src": "24071:4:2" + } + ], + "id": 2400, + "name": "ParameterList", + "src": "24070:6:2" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 2402 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 2541, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 957, + "type": "struct EmergentVoteScheme.Proposal storage pointer" + }, + "id": 2401, + "name": "UserDefinedTypeName", + "src": "24088:8:2" + } + ], + "id": 2402, + "name": "VariableDeclaration", + "src": "24088:25:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1009, + "type": "mapping(bytes32 => struct EmergentVoteScheme.Proposal storage ref)", + "value": "proposals" + }, + "id": 2403, + "name": "Identifier", + "src": "24116:9:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2390, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2404, + "name": "Identifier", + "src": "24126:11:2" + } + ], + "id": 2405, + "name": "IndexAccess", + "src": "24116:22:2" + } + ], + "id": 2406, + "name": "VariableDeclarationStatement", + "src": "24088:50:2" + }, + { + "attributes": { + "assignments": [ + 2408 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 2541, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2407, + "name": "ElementaryTypeName", + "src": "24149:7:2" + } + ], + "id": 2408, + "name": "VariableDeclaration", + "src": "24149:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 2409, + "name": "Identifier", + "src": "24170:27:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 2410, + "name": "Identifier", + "src": "24198:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "avatar", + "referencedDeclaration": 930, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2402, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2411, + "name": "Identifier", + "src": "24205:8:2" + } + ], + "id": 2412, + "name": "MemberAccess", + "src": "24205:15:2" + } + ], + "id": 2413, + "name": "FunctionCall", + "src": "24198:23:2" + } + ], + "id": 2414, + "name": "FunctionCall", + "src": "24170:52:2" + } + ], + "id": 2415, + "name": "VariableDeclarationStatement", + "src": "24149:73:2" + }, + { + "attributes": { + "assignments": [ + 2417 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "orgParams", + "scope": 2541, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct EmergentVoteScheme.OrgParameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "OrgParameters", + "referencedDeclaration": 914, + "type": "struct EmergentVoteScheme.OrgParameters storage pointer" + }, + "id": 2416, + "name": "UserDefinedTypeName", + "src": "24233:13:2" + } + ], + "id": 2417, + "name": "VariableDeclaration", + "src": "24233:30:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.OrgParameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 1001, + "type": "mapping(bytes32 => struct EmergentVoteScheme.OrgParameters storage ref)", + "value": "organizationsParameters" + }, + "id": 2418, + "name": "Identifier", + "src": "24266:23:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2408, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 2419, + "name": "Identifier", + "src": "24290:10:2" + } + ], + "id": 2420, + "name": "IndexAccess", + "src": "24266:35:2" + } + ], + "id": 2421, + "name": "VariableDeclarationStatement", + "src": "24233:68:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "isBoostModeActive", + "referencedDeclaration": 950, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2402, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2422, + "name": "Identifier", + "src": "24371:8:2" + } + ], + "id": 2423, + "name": "MemberAccess", + "src": "24371:26:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "number", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9728, + "type": "block", + "value": "block" + }, + "id": 2424, + "name": "Identifier", + "src": "24401:5:2" + } + ], + "id": 2425, + "name": "MemberAccess", + "src": "24401:12:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "closingTime", + "referencedDeclaration": 954, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2402, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2426, + "name": "Identifier", + "src": "24417:8:2" + } + ], + "id": 2427, + "name": "MemberAccess", + "src": "24417:20:2" + } + ], + "id": 2428, + "name": "BinaryOperation", + "src": "24401:36:2" + } + ], + "id": 2429, + "name": "BinaryOperation", + "src": "24371:66:2" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 2400 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 2041 + ], + "referencedDeclaration": 2041, + "type": "function (bytes32) returns (bool)", + "value": "execute" + }, + "id": 2430, + "name": "Identifier", + "src": "24461:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2390, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2431, + "name": "Identifier", + "src": "24469:11:2" + } + ], + "id": 2432, + "name": "FunctionCall", + "src": "24461:20:2" + } + ], + "id": 2433, + "name": "Return", + "src": "24454:27:2" + } + ], + "id": 2434, + "name": "Block", + "src": "24439:54:2" + } + ], + "id": 2435, + "name": "IfStatement", + "src": "24367:126:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 2436, + "name": "Identifier", + "src": "24535:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2392, + "type": "uint256", + "value": "_vote" + }, + "id": 2437, + "name": "Identifier", + "src": "24543:5:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 932, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2402, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2438, + "name": "Identifier", + "src": "24552:8:2" + } + ], + "id": 2439, + "name": "MemberAccess", + "src": "24552:21:2" + } + ], + "id": 2440, + "name": "BinaryOperation", + "src": "24543:30:2" + } + ], + "id": 2441, + "name": "FunctionCall", + "src": "24535:39:2" + } + ], + "id": 2442, + "name": "ExpressionStatement", + "src": "24535:39:2" + }, + { + "attributes": { + "assignments": [ + 2444 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "reputation", + "scope": 2541, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2443, + "name": "ElementaryTypeName", + "src": "24634:4:2" + } + ], + "id": 2444, + "name": "VariableDeclaration", + "src": "24634:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "reputationOf", + "referencedDeclaration": 4243, + "type": "function (address) view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputationSystem", + "referencedDeclaration": 899, + "type": "contract Reputation" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2417, + "type": "struct EmergentVoteScheme.OrgParameters memory", + "value": "orgParams" + }, + "id": 2445, + "name": "Identifier", + "src": "24652:9:2" + } + ], + "id": 2446, + "name": "MemberAccess", + "src": "24652:26:2" + } + ], + "id": 2447, + "name": "MemberAccess", + "src": "24652:39:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2394, + "type": "address", + "value": "_voter" + }, + "id": 2448, + "name": "Identifier", + "src": "24692:6:2" + } + ], + "id": 2449, + "name": "FunctionCall", + "src": "24652:47:2" + } + ], + "id": 2450, + "name": "VariableDeclarationStatement", + "src": "24634:65:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 2451, + "name": "Identifier", + "src": "24710:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2444, + "type": "uint256", + "value": "reputation" + }, + "id": 2452, + "name": "Identifier", + "src": "24718:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2396, + "type": "uint256", + "value": "_rep" + }, + "id": 2453, + "name": "Identifier", + "src": "24732:4:2" + } + ], + "id": 2454, + "name": "BinaryOperation", + "src": "24718:18:2" + } + ], + "id": 2455, + "name": "FunctionCall", + "src": "24710:27:2" + } + ], + "id": 2456, + "name": "ExpressionStatement", + "src": "24710:27:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2396, + "type": "uint256", + "value": "_rep" + }, + "id": 2457, + "name": "Identifier", + "src": "24752:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 2458, + "name": "Literal", + "src": "24760:1:2" + } + ], + "id": 2459, + "name": "BinaryOperation", + "src": "24752:9:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2396, + "type": "uint256", + "value": "_rep" + }, + "id": 2460, + "name": "Identifier", + "src": "24778:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2444, + "type": "uint256", + "value": "reputation" + }, + "id": 2461, + "name": "Identifier", + "src": "24785:10:2" + } + ], + "id": 2462, + "name": "Assignment", + "src": "24778:17:2" + } + ], + "id": 2463, + "name": "ExpressionStatement", + "src": "24778:17:2" + } + ], + "id": 2464, + "name": "Block", + "src": "24763:44:2" + } + ], + "id": 2465, + "name": "IfStatement", + "src": "24748:59:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputation", + "referencedDeclaration": 925, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct EmergentVoteScheme.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voters", + "referencedDeclaration": 946, + "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2402, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2466, + "name": "Identifier", + "src": "24891:8:2" + } + ], + "id": 2467, + "name": "MemberAccess", + "src": "24891:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2394, + "type": "address", + "value": "_voter" + }, + "id": 2468, + "name": "Identifier", + "src": "24907:6:2" + } + ], + "id": 2469, + "name": "IndexAccess", + "src": "24891:23:2" + } + ], + "id": 2470, + "name": "MemberAccess", + "src": "24891:34:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 2471, + "name": "Literal", + "src": "24929:1:2" + } + ], + "id": 2472, + "name": "BinaryOperation", + "src": "24891:39:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2342, + "type": "function (bytes32,address)", + "value": "cancelVoteInternal" + }, + "id": 2473, + "name": "Identifier", + "src": "24947:18:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2390, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2474, + "name": "Identifier", + "src": "24966:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2394, + "type": "address", + "value": "_voter" + }, + "id": 2475, + "name": "Identifier", + "src": "24979:6:2" + } + ], + "id": 2476, + "name": "FunctionCall", + "src": "24947:39:2" + } + ], + "id": 2477, + "name": "ExpressionStatement", + "src": "24947:39:2" + } + ], + "id": 2478, + "name": "Block", + "src": "24932:66:2" + } + ], + "id": 2479, + "name": "IfStatement", + "src": "24887:111:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 942, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2402, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2480, + "name": "Identifier", + "src": "25041:8:2" + } + ], + "id": 2483, + "name": "MemberAccess", + "src": "25041:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2392, + "type": "uint256", + "value": "_vote" + }, + "id": 2482, + "name": "Identifier", + "src": "25056:5:2" + } + ], + "id": 2484, + "name": "IndexAccess", + "src": "25041:21:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2396, + "type": "uint256", + "value": "_rep" + }, + "id": 2485, + "name": "Identifier", + "src": "25065:4:2" + } + ], + "id": 2486, + "name": "MemberAccess", + "src": "25065:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 942, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2402, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2487, + "name": "Identifier", + "src": "25074:8:2" + } + ], + "id": 2488, + "name": "MemberAccess", + "src": "25074:14:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2392, + "type": "uint256", + "value": "_vote" + }, + "id": 2489, + "name": "Identifier", + "src": "25089:5:2" + } + ], + "id": 2490, + "name": "IndexAccess", + "src": "25074:21:2" + } + ], + "id": 2491, + "name": "FunctionCall", + "src": "25065:31:2" + } + ], + "id": 2492, + "name": "Assignment", + "src": "25041:55:2" + } + ], + "id": 2493, + "name": "ExpressionStatement", + "src": "25041:55:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "totalVotes", + "referencedDeclaration": 938, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2402, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2494, + "name": "Identifier", + "src": "25107:8:2" + } + ], + "id": 2496, + "name": "MemberAccess", + "src": "25107:19:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2396, + "type": "uint256", + "value": "_rep" + }, + "id": 2497, + "name": "Identifier", + "src": "25129:4:2" + } + ], + "id": 2498, + "name": "MemberAccess", + "src": "25129:8:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalVotes", + "referencedDeclaration": 938, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2402, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2499, + "name": "Identifier", + "src": "25138:8:2" + } + ], + "id": 2500, + "name": "MemberAccess", + "src": "25138:19:2" + } + ], + "id": 2501, + "name": "FunctionCall", + "src": "25129:29:2" + } + ], + "id": 2502, + "name": "Assignment", + "src": "25107:51:2" + } + ], + "id": 2503, + "name": "ExpressionStatement", + "src": "25107:51:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct EmergentVoteScheme.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct EmergentVoteScheme.Voter storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voters", + "referencedDeclaration": 946, + "type": "mapping(address => struct EmergentVoteScheme.Voter storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2402, + "type": "struct EmergentVoteScheme.Proposal storage pointer", + "value": "proposal" + }, + "id": 2504, + "name": "Identifier", + "src": "25169:8:2" + } + ], + "id": 2507, + "name": "MemberAccess", + "src": "25169:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2394, + "type": "address", + "value": "_voter" + }, + "id": 2506, + "name": "Identifier", + "src": "25185:6:2" + } + ], + "id": 2508, + "name": "IndexAccess", + "src": "25169:23:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "reputation", + "vote" + ], + "type": "struct EmergentVoteScheme.Voter memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 926, + "type": "type(struct EmergentVoteScheme.Voter storage pointer)", + "value": "Voter" + }, + "id": 2509, + "name": "Identifier", + "src": "25195:5:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2396, + "type": "uint256", + "value": "_rep" + }, + "id": 2510, + "name": "Identifier", + "src": "25228:4:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2392, + "type": "uint256", + "value": "_vote" + }, + "id": 2511, + "name": "Identifier", + "src": "25253:5:2" + } + ], + "id": 2512, + "name": "FunctionCall", + "src": "25195:75:2" + } + ], + "id": 2513, + "name": "Assignment", + "src": "25169:101:2" + } + ], + "id": 2514, + "name": "ExpressionStatement", + "src": "25169:101:2" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "isOwnerVote", + "scope": 2541, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2515, + "name": "ElementaryTypeName", + "src": "25315:4:2" + } + ], + "id": 2516, + "name": "VariableDeclaration", + "src": "25315:16:2" + } + ], + "id": 2517, + "name": "VariableDeclarationStatement", + "src": "25315:16:2" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2394, + "type": "address", + "value": "_voter" + }, + "id": 2518, + "name": "Identifier", + "src": "25346:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 2519, + "name": "Identifier", + "src": "25356:3:2" + } + ], + "id": 2520, + "name": "MemberAccess", + "src": "25356:10:2" + } + ], + "id": 2521, + "name": "BinaryOperation", + "src": "25346:20:2" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2516, + "type": "bool", + "value": "isOwnerVote" + }, + "id": 2522, + "name": "Identifier", + "src": "25383:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 2523, + "name": "Literal", + "src": "25397:4:2" + } + ], + "id": 2524, + "name": "Assignment", + "src": "25383:18:2" + } + ], + "id": 2525, + "name": "ExpressionStatement", + "src": "25383:18:2" + } + ], + "id": 2526, + "name": "Block", + "src": "25368:45:2" + } + ], + "id": 2527, + "name": "IfStatement", + "src": "25342:71:2" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 987, + "type": "function (bytes32,address,uint256,uint256,bool)", + "value": "LogVoteProposal" + }, + "id": 2528, + "name": "Identifier", + "src": "25444:15:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2390, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2529, + "name": "Identifier", + "src": "25474:11:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2394, + "type": "address", + "value": "_voter" + }, + "id": 2530, + "name": "Identifier", + "src": "25500:6:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2392, + "type": "uint256", + "value": "_vote" + }, + "id": 2531, + "name": "Identifier", + "src": "25521:5:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2444, + "type": "uint256", + "value": "reputation" + }, + "id": 2532, + "name": "Identifier", + "src": "25541:10:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2516, + "type": "bool", + "value": "isOwnerVote" + }, + "id": 2533, + "name": "Identifier", + "src": "25566:11:2" + } + ], + "id": 2534, + "name": "FunctionCall", + "src": "25444:144:2" + } + ], + "id": 2535, + "name": "ExpressionStatement", + "src": "25444:144:2" + }, + { + "attributes": { + "functionReturnParameters": 2400 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 2041 + ], + "referencedDeclaration": 2041, + "type": "function (bytes32) returns (bool)", + "value": "execute" + }, + "id": 2536, + "name": "Identifier", + "src": "25668:7:2" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2390, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2537, + "name": "Identifier", + "src": "25676:11:2" + } + ], + "id": 2538, + "name": "FunctionCall", + "src": "25668:20:2" + } + ], + "id": 2539, + "name": "Return", + "src": "25661:27:2" + } + ], + "id": 2540, + "name": "Block", + "src": "24077:1619:2" + } + ], + "id": 2541, + "name": "FunctionDefinition", + "src": "23973:1723:2" + } + ], + "id": 2542, + "name": "ContractDefinition", + "src": "182:25519:2" + } + ], + "id": 2543, + "name": "SourceUnit", + "src": "0:25703:2" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.968Z" +} \ No newline at end of file diff --git a/contracts/ExecutableInterface.json b/contracts/ExecutableInterface.json new file mode 100644 index 000000000..eaa7b9dae --- /dev/null +++ b/contracts/ExecutableInterface.json @@ -0,0 +1,251 @@ +{ + "contractName": "ExecutableInterface", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_param", + "type": "int256" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../controller/Controller.sol\";\r\n\r\n\r\ncontract ExecutableInterface {\r\n function execute(bytes32 _proposalId, address _avatar, int _param) public returns(bool);\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\ExecutableInterface.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/ExecutableInterface.sol", + "exportedSymbols": { + "ExecutableInterface": [ + 5155 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 5142, + "name": "PragmaDirective", + "src": "0:24:16" + }, + { + "attributes": { + "SourceUnit": 4158, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Controller.sol", + "file": "../controller/Controller.sol", + "scope": 5156, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 5143, + "name": "ImportDirective", + "src": "28:38:16" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 5155 + ], + "name": "ExecutableInterface", + "scope": 5156 + }, + "children": [ + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "execute", + "payable": false, + "scope": 5155, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 5154, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5144, + "name": "ElementaryTypeName", + "src": "125:7:16" + } + ], + "id": 5145, + "name": "VariableDeclaration", + "src": "125:19:16" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 5154, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5146, + "name": "ElementaryTypeName", + "src": "146:7:16" + } + ], + "id": 5147, + "name": "VariableDeclaration", + "src": "146:15:16" + }, + { + "attributes": { + "constant": false, + "name": "_param", + "scope": 5154, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 5148, + "name": "ElementaryTypeName", + "src": "163:3:16" + } + ], + "id": 5149, + "name": "VariableDeclaration", + "src": "163:10:16" + } + ], + "id": 5150, + "name": "ParameterList", + "src": "124:50:16" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 5154, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 5151, + "name": "ElementaryTypeName", + "src": "190:4:16" + } + ], + "id": 5152, + "name": "VariableDeclaration", + "src": "190:4:16" + } + ], + "id": 5153, + "name": "ParameterList", + "src": "189:6:16" + } + ], + "id": 5154, + "name": "FunctionDefinition", + "src": "108:88:16" + } + ], + "id": 5155, + "name": "ContractDefinition", + "src": "72:127:16" + } + ], + "id": 5156, + "name": "SourceUnit", + "src": "0:201:16" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.860Z" +} \ No newline at end of file diff --git a/contracts/ExecutableTest.json b/contracts/ExecutableTest.json new file mode 100644 index 000000000..57d7a024a --- /dev/null +++ b/contracts/ExecutableTest.json @@ -0,0 +1,609 @@ +{ + "contractName": "ExecutableTest", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_param", + "type": "int256" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "address" + } + ], + "name": "LogAddress", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "int256" + } + ], + "name": "LogInt", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "string" + } + ], + "name": "LogString", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "uint256" + } + ], + "name": "LogUint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bytes" + } + ], + "name": "LogBytes", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bytes32" + } + ], + "name": "LogBytes32", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_msg", + "type": "bool" + } + ], + "name": "LogBool", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6101728061001e6000396000f3006060604052600436106100405763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663310ce4e28114610045575b600080fd5b341561005057600080fd5b61007760043573ffffffffffffffffffffffffffffffffffffffff6024351660443561008b565b604051901515815260200160405180910390f35b60007e9fd52f05c0ded31d6fb0ee580b923f85e99cf1a5a1da342f25e73c45829c838460405190815260200160405180910390a17fb123f68b8ba02b447d91a6629e121111b7dd6061ff418a60139c8bf00522a2848360405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a17f1aa4309bfd99af8afa7454590e1bdaa5a9b3b63e5baa109ae9afa3ecd0c67f398260405190815260200160405180910390a150600193925050505600a165627a7a723058206be18ea59d5e47de015ddfd4aa625b81c6ddada1421dc0f5d77b1740da91d2850029", + "deployedBytecode": "0x6060604052600436106100405763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663310ce4e28114610045575b600080fd5b341561005057600080fd5b61007760043573ffffffffffffffffffffffffffffffffffffffff6024351660443561008b565b604051901515815260200160405180910390f35b60007e9fd52f05c0ded31d6fb0ee580b923f85e99cf1a5a1da342f25e73c45829c838460405190815260200160405180910390a17fb123f68b8ba02b447d91a6629e121111b7dd6061ff418a60139c8bf00522a2848360405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a17f1aa4309bfd99af8afa7454590e1bdaa5a9b3b63e5baa109ae9afa3ecd0c67f398260405190815260200160405180910390a150600193925050505600a165627a7a723058206be18ea59d5e47de015ddfd4aa625b81c6ddada1421dc0f5d77b1740da91d2850029", + "sourceMap": "110:273:13:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "110:273:13:-;;;;;;;;;;;;;;;;;;;;;;;173:207;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;255:4;272:23;283:11;272:23;;;;;;;;;;;;;;306:19;317:7;306:19;;;;;;;;;;;;;;;;;336:14;343:6;336:14;;;;;;;;;;;;;;-1:-1:-1;368:4:13;173:207;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"./Debug.sol\";\r\nimport \"../universalSchemes/ExecutableInterface.sol\";\r\n\r\n\r\ncontract ExecutableTest is ExecutableInterface, Debug {\r\n\r\n function execute(bytes32 _proposalId, address _avatar, int _param) public returns(bool) {\r\n LogBytes32(_proposalId);\r\n LogAddress(_avatar);\r\n LogInt(_param);\r\n return true;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\test\\ExecutableTest.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/test/ExecutableTest.sol", + "exportedSymbols": { + "ExecutableTest": [ + 4615 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 4582, + "name": "PragmaDirective", + "src": "0:24:13" + }, + { + "attributes": { + "SourceUnit": 4581, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/test/Debug.sol", + "file": "./Debug.sol", + "scope": 4616, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4583, + "name": "ImportDirective", + "src": "28:21:13" + }, + { + "attributes": { + "SourceUnit": 5156, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/ExecutableInterface.sol", + "file": "../universalSchemes/ExecutableInterface.sol", + "scope": 4616, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4584, + "name": "ImportDirective", + "src": "51:53:13" + }, + { + "attributes": { + "contractDependencies": [ + 4580, + 5155 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 4615, + 4580, + 5155 + ], + "name": "ExecutableTest", + "scope": 4616 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ExecutableInterface", + "referencedDeclaration": 5155, + "type": "contract ExecutableInterface" + }, + "id": 4585, + "name": "UserDefinedTypeName", + "src": "137:19:13" + } + ], + "id": 4586, + "name": "InheritanceSpecifier", + "src": "137:19:13" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Debug", + "referencedDeclaration": 4580, + "type": "contract Debug" + }, + "id": 4587, + "name": "UserDefinedTypeName", + "src": "158:5:13" + } + ], + "id": 4588, + "name": "InheritanceSpecifier", + "src": "158:5:13" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "execute", + "payable": false, + "scope": 4615, + "stateMutability": "nonpayable", + "superFunction": 5154, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 4614, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4589, + "name": "ElementaryTypeName", + "src": "190:7:13" + } + ], + "id": 4590, + "name": "VariableDeclaration", + "src": "190:19:13" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 4614, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4591, + "name": "ElementaryTypeName", + "src": "211:7:13" + } + ], + "id": 4592, + "name": "VariableDeclaration", + "src": "211:15:13" + }, + { + "attributes": { + "constant": false, + "name": "_param", + "scope": 4614, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 4593, + "name": "ElementaryTypeName", + "src": "228:3:13" + } + ], + "id": 4594, + "name": "VariableDeclaration", + "src": "228:10:13" + } + ], + "id": 4595, + "name": "ParameterList", + "src": "189:50:13" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4614, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4596, + "name": "ElementaryTypeName", + "src": "255:4:13" + } + ], + "id": 4597, + "name": "VariableDeclaration", + "src": "255:4:13" + } + ], + "id": 4598, + "name": "ParameterList", + "src": "254:6:13" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4575, + "type": "function (bytes32)", + "value": "LogBytes32" + }, + "id": 4599, + "name": "Identifier", + "src": "272:10:13" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4590, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 4600, + "name": "Identifier", + "src": "283:11:13" + } + ], + "id": 4601, + "name": "FunctionCall", + "src": "272:23:13" + } + ], + "id": 4602, + "name": "ExpressionStatement", + "src": "272:23:13" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4555, + "type": "function (address)", + "value": "LogAddress" + }, + "id": 4603, + "name": "Identifier", + "src": "306:10:13" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4592, + "type": "address", + "value": "_avatar" + }, + "id": 4604, + "name": "Identifier", + "src": "317:7:13" + } + ], + "id": 4605, + "name": "FunctionCall", + "src": "306:19:13" + } + ], + "id": 4606, + "name": "ExpressionStatement", + "src": "306:19:13" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4559, + "type": "function (int256)", + "value": "LogInt" + }, + "id": 4607, + "name": "Identifier", + "src": "336:6:13" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4594, + "type": "int256", + "value": "_param" + }, + "id": 4608, + "name": "Identifier", + "src": "343:6:13" + } + ], + "id": 4609, + "name": "FunctionCall", + "src": "336:14:13" + } + ], + "id": 4610, + "name": "ExpressionStatement", + "src": "336:14:13" + }, + { + "attributes": { + "functionReturnParameters": 4598 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 4611, + "name": "Literal", + "src": "368:4:13" + } + ], + "id": 4612, + "name": "Return", + "src": "361:11:13" + } + ], + "id": 4613, + "name": "Block", + "src": "261:119:13" + } + ], + "id": 4614, + "name": "FunctionDefinition", + "src": "173:207:13" + } + ], + "id": 4615, + "name": "ContractDefinition", + "src": "110:273:13" + } + ], + "id": 4616, + "name": "SourceUnit", + "src": "0:385:13" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.859Z" +} \ No newline at end of file diff --git a/contracts/GenesisScheme.json b/contracts/GenesisScheme.json new file mode 100644 index 000000000..12bf3836b --- /dev/null +++ b/contracts/GenesisScheme.json @@ -0,0 +1,4251 @@ +{ + "contractName": "GenesisScheme", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "bytes4Array", + "outputs": [ + { + "name": "", + "type": "bytes4" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "addressArray", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_schemes", + "type": "address[]" + }, + { + "name": "_params", + "type": "bytes32[]" + }, + { + "name": "_token", + "type": "address[]" + }, + { + "name": "_fee", + "type": "uint256[]" + }, + { + "name": "_permissions", + "type": "bytes4[]" + } + ], + "name": "setSchemes", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_orgName", + "type": "bytes32" + }, + { + "name": "_tokenName", + "type": "string" + }, + { + "name": "_tokenSymbol", + "type": "string" + }, + { + "name": "_founders", + "type": "address[]" + }, + { + "name": "_foundersTokenAmount", + "type": "uint256[]" + }, + { + "name": "_foundersReputationAmount", + "type": "int256[]" + } + ], + "name": "forgeOrg", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "bytes32Array", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "NewOrg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "InitialSchemesSet", + "type": "event" + } + ], + "bytecode": "0x60606040526020604051908101604052600160a060020a03301681526200002a906001908162000099565b506020604051908101604052600081526200004a90600290600162000105565b5060206040519081016040527c0f0000000000000000000000000000000000000000000000000000000081526200008690600390600162000153565b5034156200009357600080fd5b6200028a565b828054828255906000526020600020908101928215620000f3579160200282015b82811115620000f35782518254600160a060020a031916600160a060020a039190911617825560209290920191600190910190620000ba565b50620001019291506200021f565b5090565b82805482825590600052602060002090810192821562000145579160200282015b8281111562000145578251825560209092019160019091019062000126565b506200010192915062000249565b82805482825590600052602060002090600701600890048101928215620002115791602002820160005b83821115620001dd57835183826101000a81548163ffffffff02191690837c01000000000000000000000000000000000000000000000000000000009004021790555092602001926004016020816003010492830192600103026200017d565b80156200020f5782816101000a81549063ffffffff0219169055600401602081600301049283019260010302620001dd565b505b506200010192915062000266565b6200024691905b8082111562000101578054600160a060020a031916815560010162000226565b90565b6200024691905b8082111562000101576000815560010162000250565b6200024691905b808211156200010157805463ffffffff191681556001016200026d565b615bc2806200029a6000396000f300606060405260043610620000595763ffffffff60e060020a6000350416630bddbbc681146200005e5780630f96cf3414620000a95780636442f19514620000de5780638bcd1c341462000240578063e3186c56146200039b575b600080fd5b34156200006a57600080fd5b62000077600435620003c6565b6040517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19909116815260200160405180910390f35b3415620000b557600080fd5b620000c2600435620003ff565b604051600160a060020a03909116815260200160405180910390f35b3415620000ea57600080fd5b6200023e60048035600160a060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506200042895505050505050565b005b34156200024c57600080fd5b620000c2600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506200078d95505050505050565b3415620003a757600080fd5b620003b460043562000d99565b60405190815260200160405180910390f35b6003805482908110620003d557fe5b9060005260206000209060089182820401919006600402915054906101000a900460e060020a0281565b60018054829081106200040e57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03868116600090815260208190526040812054909182913382169116146200045657600080fd5b87600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200049d57600080fd5b6102c65a03f11515620004af57600080fd5b5050506040518051925060009150505b86518110156200069d57838181518110620004d657fe5b9060200190602002015115620005b05781600160a060020a0316638cf1355c8683815181106200050257fe5b906020019060200201518984815181106200051957fe5b906020019060200201518785815181106200053057fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156200059357600080fd5b6102c65a03f11515620005a557600080fd5b505050604051805150505b81600160a060020a031663a34abaa8888381518110620005cc57fe5b90602001906020020151888481518110620005e357fe5b90602001906020020151868581518110620005fa57fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166044820152606401602060405180830381600087803b15156200067857600080fd5b6102c65a03f115156200068a57600080fd5b50505060405180515050600101620004bf565b81600160a060020a031663653915e53060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620006f557600080fd5b6102c65a03f115156200070757600080fd5b50505060405180515050600160a060020a03881660009081526020819052604090819020805473ffffffffffffffffffffffffffffffffffffffff191690557f9007c9042f12be953f7dbe3909f56c3f088e9fe294dbebbef4a67afa63462b6a90899051600160a060020a03909116815260200160405180910390a15050505050505050565b6000806000806000808a8a620007a262000db9565b808060200180602001838103835285818151815260200191508051906020019080838360005b83811015620007e2578082015183820152602001620007c8565b50505050905090810190601f168015620008105780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015620008485780820151838201526020016200082e565b50505050905090810190601f168015620008765780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015156200089457600080fd5b9450620008a062000dca565b604051809103906000f0801515620008b757600080fd5b93508b8585620008c662000ddb565b928352600160a060020a0391821660208401521660408083019190915260609091019051809103906000f0801515620008fe57600080fd5b9250826001600260036200091162000dec565b600160a060020a03851681526080602082018181528554918301829052906040830190606084019060a0850190889080156200097757602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831162000958575b50508481038352868181548152602001915080548015620009b957602002820191906000526020600020905b81548152600190910190602001808311620009a3575b5050848103825285818154815260200191508054801562000a3f57602002820191906000526020600020906000905b82829054906101000a900460e060020a027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620009e85790505b5050975050505050505050604051809103906000f080151562000a6157600080fd5b915082600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151562000ab257600080fd5b6102c65a03f1151562000ac457600080fd5b50505084600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151562000b1657600080fd5b6102c65a03f1151562000b2857600080fd5b50505083600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151562000b7a57600080fd5b6102c65a03f1151562000b8c57600080fd5b505050600090505b885181101562000d0d5781600160a060020a03166310c5b32889838151811062000bba57fe5b906020019060200201518b848151811062000bd157fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b151562000c2957600080fd5b6102c65a03f1151562000c3b57600080fd5b50505060405180519050151562000c5157600080fd5b81600160a060020a03166318e236e488838151811062000c6d57fe5b906020019060200201518b848151811062000c8457fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b151562000cdc57600080fd5b6102c65a03f1151562000cee57600080fd5b50505060405180519050151562000d0457600080fd5b60010162000b94565b600160a060020a0383811660009081526020819052604090819020805473ffffffffffffffffffffffffffffffffffffffff191633909316929092179091557f244496352f5e67e59ce96b4a53ef9ea7cb88b7db33eb13dc5e771bd04385a60e90849051600160a060020a03909116815260200160405180910390a150909a9950505050505050505050565b600280548290811062000da857fe5b600091825260209091200154905081565b604051610ea08062000dfe83390190565b6040516104ab8062001c9e83390190565b6040516109d5806200214983390190565b6040516130798062002b1e83390190560060606040526003805460a060020a60ff0219169055341561001f57600080fd5b604051610ea0380380610ea08339810160405280805182019190602001805160038054600160a060020a03191633600160a060020a0316179055919091019050600482805161007292916020019061008e565b50600581805161008692916020019061008e565b505050610129565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100cf57805160ff19168380011785556100fc565b828001600101855582156100fc579182015b828111156100fc5782518255916020019190600101906100e1565b5061010892915061010c565b5090565b61012691905b808211156101085760008155600101610112565b90565b610d68806101386000396000f3006060604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010b57806306fdde0314610132578063095ea7b3146101bc57806318160ddd146101de57806323b872dd1461020357806340c10f191461022b57806342966c681461024d57806366188463146102655780636ab55fd91461028757806370a082311461029a5780637d64bcb4146102b957806383197ef0146102cc5780638da5cb5b146102df57806395d89b411461030e578063a9059cbb14610321578063d73dd62314610343578063dd62ed3e14610365578063f2fde38b1461038a578063f5074f41146103a9575b600080fd5b341561011657600080fd5b61011e6103c8565b604051901515815260200160405180910390f35b341561013d57600080fd5b6101456103d8565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610181578082015183820152602001610169565b50505050905090810190601f1680156101ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c757600080fd5b61011e600160a060020a0360043516602435610476565b34156101e957600080fd5b6101f16104e2565b60405190815260200160405180910390f35b341561020e57600080fd5b61011e600160a060020a03600435811690602435166044356104e8565b341561023657600080fd5b61011e600160a060020a036004351660243561066a565b341561025857600080fd5b610263600435610777565b005b341561027057600080fd5b61011e600160a060020a0360043516602435610840565b341561029257600080fd5b6101f161093a565b34156102a557600080fd5b6101f1600160a060020a036004351661093f565b34156102c457600080fd5b61011e61095a565b34156102d757600080fd5b6102636109e5565b34156102ea57600080fd5b6102f2610a0e565b604051600160a060020a03909116815260200160405180910390f35b341561031957600080fd5b610145610a1d565b341561032c57600080fd5b61011e600160a060020a0360043516602435610a88565b341561034e57600080fd5b61011e600160a060020a0360043516602435610b83565b341561037057600080fd5b6101f1600160a060020a0360043581169060243516610c27565b341561039557600080fd5b610263600160a060020a0360043516610c52565b34156103b457600080fd5b610263600160a060020a0360043516610ced565b60035460a060020a900460ff1681565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b820191906000526020600020905b81548152906001019060200180831161045157829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a03831615156104ff57600080fd5b600160a060020a03841660009081526001602052604090205482111561052457600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482111561055757600080fd5b600160a060020a038416600090815260016020526040902054610580908363ffffffff610d1416565b600160a060020a0380861660009081526001602052604080822093909355908516815220546105b5908363ffffffff610d2616565b600160a060020a038085166000908152600160209081526040808320949094558783168252600281528382203390931682529190915220546105fd908363ffffffff610d1416565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a0390811691161461068857600080fd5b60035460a060020a900460ff161561069f57600080fd5b6000546106b2908363ffffffff610d2616565b6000908155600160a060020a0384168152600160205260409020546106dd908363ffffffff610d2616565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600080821161078557600080fd5b600160a060020a0333166000908152600160205260409020548211156107aa57600080fd5b5033600160a060020a0381166000908152600160205260409020546107cf9083610d14565b600160a060020a038216600090815260016020526040812091909155546107fc908363ffffffff610d1416565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561089d57600160a060020a0333811660009081526002602090815260408083209388168352929052908120556108d4565b6108ad818463ffffffff610d1416565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b601281565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a0390811691161461097857600080fd5b60035460a060020a900460ff161561098f57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035433600160a060020a03908116911614610a0057600080fd5b600354600160a060020a0316ff5b600354600160a060020a031681565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b6000600160a060020a0383161515610a9f57600080fd5b600160a060020a033316600090815260016020526040902054821115610ac457600080fd5b600160a060020a033316600090815260016020526040902054610aed908363ffffffff610d1416565b600160a060020a033381166000908152600160205260408082209390935590851681522054610b22908363ffffffff610d2616565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610bbb908363ffffffff610d2616565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610c6d57600080fd5b600160a060020a0381161515610c8257600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a03908116911614610d0857600080fd5b80600160a060020a0316ff5b600082821115610d2057fe5b50900390565b600082820183811015610d3557fe5b93925050505600a165627a7a72305820ddd222f885170d976ba92e33cced2eee9f7c90cd560193c32910e76aa67bce7f002960606040526012600355341561001457600080fd5b60008054600160a060020a033316600160a060020a0319909116811782558152600160205260408120819055600255610459806100526000396000f3006060604052600436106100825763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd8114610087578063313ce567146100ac5780638da5cb5b146100bf578063b120c16a146100ee578063db89c04414610124578063f2fde38b14610143578063fd9bf3aa14610164575b600080fd5b341561009257600080fd5b61009a610186565b60405190815260200160405180910390f35b34156100b757600080fd5b61009a61018c565b34156100ca57600080fd5b6100d2610192565b604051600160a060020a03909116815260200160405180910390f35b34156100f957600080fd5b610110600160a060020a03600435166024356101a1565b604051901515815260200160405180910390f35b341561012f57600080fd5b61009a600160a060020a0360043516610222565b341561014e57600080fd5b610162600160a060020a036004351661023d565b005b341561016f57600080fd5b610110600160a060020a03600435166024356102d8565b60025481565b60035481565b600054600160a060020a031681565b6000805433600160a060020a039081169116146101bd57600080fd5b600160a060020a0383166000908152600160205260409020546002546101fa9184916101ee9163ffffffff61040516565b9063ffffffff61041716565b60025550600160a060020a038216600090815260016020819052604090912082905592915050565b600160a060020a031660009081526001602052604090205490565b60005433600160a060020a0390811691161461025857600080fd5b600160a060020a038116151561026d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054819033600160a060020a039081169116146102f657600080fd5b6000831261035e57506002548290610314908263ffffffff61041716565b600255600160a060020a038416600090815260016020526040902054610340908263ffffffff61041716565b600160a060020a0385166000908152600160205260409020556103be565b50600254600019830290610378908263ffffffff61040516565b600255600160a060020a0384166000908152600160205260409020546103a4908263ffffffff61040516565b600160a060020a0385166000908152600160205260409020555b83600160a060020a03167f6f734b566c5e1cb976d9c7fba184b96a698a18931dd345168b16db217f8df0dd8460405190815260200160405180910390a25060019392505050565b60008282111561041157fe5b50900390565b60008282018381101561042657fe5b93925050505600a165627a7a723058201a9bea40831b947da943a43e70f9b6a2089d92e54654732959bfd2903683f7ab00296060604052341561000f57600080fd5b6040516060806109d583398101604052808051919060200180519190602001805160008054600160a060020a03338116600160a060020a031992831617909255600196909655600280549582169587169590951790945560038054949091169390941692909217909255505061094b8061008a6000396000f3006060604052600436106100955763ffffffff60e060020a6000350416631386dc2d81146100d45780636ce15a54146100f957806389ae1c901461016a5780638cf1355c146101995780638da5cb5b146101c1578063b756d5a2146101d4578063cb16d4a214610202578063d29ab9c414610224578063dab0efff1461024c578063e1758bd814610274578063f2fde38b14610287575b33600160a060020a03167ff32a9f77675fd5917534c7746608fd3e309eac68fbdcbf5925e24ca97a7043963460405190815260200160405180910390a2005b34156100df57600080fd5b6100e76102a8565b60405190815260200160405180910390f35b341561010457600080fd5b61015660048035600160a060020a03169060446024803590810190830135806020808202016040519081016040528093929190818152602001838360200280828437509496506102ae95505050505050565b604051901515815260200160405180910390f35b341561017557600080fd5b61017d610400565b604051600160a060020a03909116815260200160405180910390f35b34156101a457600080fd5b610156600160a060020a036004358116906024351660443561040f565b34156101cc57600080fd5b61017d6104fb565b34156101df57600080fd5b610156600160a060020a036004358116906024358116906044351660643561050a565b341561020d57600080fd5b610156600435600160a060020a0360243516610610565b341561022f57600080fd5b610156600160a060020a03600435811690602435166044356106a3565b341561025757600080fd5b610156600160a060020a036004358116906024351660443561078f565b341561027f57600080fd5b61017d610875565b341561029257600080fd5b6102a6600160a060020a0360043516610884565b005b60015481565b6000805433600160a060020a039081169116146102ca57600080fd5b82600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8360405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561033557808201518382015260200161031d565b505050509050019250505060405180910390a282600160a060020a03166040517f616374696f6e28627974657333325b5d290000000000000000000000000000008152601101604051809103902060e060020a900460208451856040518463ffffffff1660e060020a02815260040180848152602001838152602001828051906020019060200280838360005b838110156103da5780820151838201526020016103c2565b5050505090500193505050506000604051808303818661646e5a03f49695505050505050565b600354600160a060020a031681565b6000805433600160a060020a0390811691161461042b57600080fd5b83600160a060020a031663d73dd623848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561048857600080fd5b6102c65a03f1151561049957600080fd5b50505060405180515050600160a060020a0384167fbe7df27d98bd0614ae920a695c2c2be09c164d8456083da020a98538692c465f8484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461052657600080fd5b84600160a060020a03166323b872dd85858560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561059057600080fd5b6102c65a03f115156105a157600080fd5b50505060405180515050600160a060020a0385167f179c15de44aa7ab84896301974328eb40b5b40fe01cfe0fee2924ea712c3e843858585604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a2506001949350505050565b6000805433600160a060020a0390811691161461062c57600080fd5b600160a060020a03821683156108fc0284604051600060405180830381858888f19350505050151561065d57600080fd5b81600160a060020a03167f22fca66666089f39bc900dd6605b489df4aae6260cc8ea8257594cfb8c84926c8460405190815260200160405180910390a250600192915050565b6000805433600160a060020a039081169116146106bf57600080fd5b83600160a060020a03166366188463848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561071c57600080fd5b6102c65a03f1151561072d57600080fd5b50505060405180515050600160a060020a0384167f495e426dd61227fe840d969dfba17620c573364af8c37748ea71f96f744ae3348484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b6000805433600160a060020a039081169116146107ab57600080fd5b83600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561080857600080fd5b6102c65a03f1151561081957600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f49dc2a60d2599a7b6932d78fb694c30dfc596fe4e0282b5d0fd184b52472c04d8460405190815260200160405180910390a35060019392505050565b600254600160a060020a031681565b60005433600160a060020a0390811691161461089f57600080fd5b600160a060020a03811615156108b457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820786998839b4cbdb5de27a89e499d071bb45a6e91c521dbfe4500bd3b9d6741d90029606060405234156200001057600080fd5b6040516200307938038062003079833981016040528080519190602001805182019190602001805182019190602001805160018054600160a060020a031916600160a060020a0388811691909117918290559390910192600092501663e1758bd882604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515620000c157600080fd5b6102c65a03f11515620000d357600080fd5b505050604051805160028054600160a060020a031916600160a060020a039283161790556001541690506389ae1c906000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156200015357600080fd5b6102c65a03f115156200016557600080fd5b505050604051805160038054600160a060020a031916600160a060020a039290921691909117905550600090505b8351811015620002f0576040805190810160405280848381518110620001b557fe5b9060200190602002015181526020017c0100000000000000000000000000000000000000000000000000000000848481518110620001ef57fe5b90602001906020020151177fffffffff000000000000000000000000000000000000000000000000000000001690526000808684815181106200022e57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020815181556020820151600191909101805463ffffffff19167c0100000000000000000000000000000000000000000000000000000000909204919091179055508381815181106200029e57fe5b90602001906020020151600160a060020a031633600160a060020a03167f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc60405160405180910390a360010162000193565b5050505050612d7480620003056000396000f30060606040526004361061013a5763ffffffff60e060020a600035041663043cc6ee811461014a57806310c5b3281461017d57806318e236e41461019f578063277d811e146101c15780633a02263c1461021057806346a4869c1461023f57806346e361b714610261578063488b3814146102925780635aef7de6146102b157806364f47ace146102c4578063653915e5146102fd57806365ab1ae81461031c5780636bafaa591461035457806381d064c41461036757806389ae1c90146103865780638cf1355c146103995780639fe02726146103c1578063a34abaa8146103fd578063b756d5a21461042c578063b9c2ee821461045a578063cb16d4a214610479578063d29ab9c41461049b578063d5210f60146104c3578063dab0efff146104d6578063db6149ce146104fe578063e1758bd81461053f575b341561014557600080fd5b600080fd5b341561015557600080fd5b610169600160a060020a0360043516610552565b604051901515815260200160405180910390f35b341561018857600080fd5b610169600435600160a060020a0360243516610570565b34156101aa57600080fd5b610169600435600160a060020a0360243516610852565b34156101cc57600080fd5b6101696004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610b2c95505050505050565b341561021b57600080fd5b610223610e90565b604051600160a060020a03909116815260200160405180910390f35b341561024a57600080fd5b610169600160a060020a0360043516602435610e9f565b341561026c57600080fd5b610280600160a060020a0360043516611069565b60405190815260200160405180910390f35b341561029d57600080fd5b610169600160a060020a0360043516611084565b34156102bc57600080fd5b610223611298565b34156102cf57600080fd5b6102e3600160a060020a03600435166112a7565b604051911515825260208201526040908101905180910390f35b341561030857600080fd5b610169600160a060020a03600435166112c6565b341561032757600080fd5b6103326004356115fc565b604051600160a060020a03909216825260208201526040908101905180910390f35b341561035f57600080fd5b610169611632565b341561037257600080fd5b610169600160a060020a03600435166116ab565b341561039157600080fd5b6102236116d4565b34156103a457600080fd5b610169600160a060020a03600435811690602435166044356116e3565b34156103cc57600080fd5b6103e0600160a060020a03600435166119e4565b604051600160e060020a0319909116815260200160405180910390f35b341561040857600080fd5b610169600160a060020a0360043516602435600160e060020a031960443516611a08565b341561043757600080fd5b610169600160a060020a0360043581169060243581169060443516606435611da5565b341561046557600080fd5b610169600160a060020a03600435166120ba565b341561048457600080fd5b610169600435600160a060020a03602435166123cc565b34156104a657600080fd5b610169600160a060020a03600435811690602435166044356126a7565b34156104ce57600080fd5b61028061299f565b34156104e157600080fd5b610169600160a060020a03600435811690602435166044356129a5565b341561050957600080fd5b61051d600160a060020a0360043516612c96565b604051918252600160e060020a03191660208201526040908101905180910390f35b341561054a57600080fd5b610223612cb5565b600160a060020a031660009081526006602052604090205460ff1690565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146105a057600080fd5b7f6d696e74546f6b656e730000000000000000000000000000000000000000000060005b6005548110156106a45760058054829081106105dc57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061060f57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561067657600080fd5b6102c65a03f1151561068757600080fd5b50505060405180519050151561069c57600080fd5b6001016105c4565b83600160a060020a031633600160a060020a03167f21f9c9a1a1f9a311a50f15fec5c1faa9e21fc9edf964f0fdecba5bd490484c5e8760405190815260200160405180910390a3600254600160a060020a03166340c10f19858760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561074a57600080fd5b6102c65a03f1151561075b57600080fd5b50505060405180519350505060005b60055481101561084a57600580548290811061078257fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d913391859081106107b557fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561081c57600080fd5b6102c65a03f1151561082d57600080fd5b50505060405180519050151561084257600080fd5b60010161076a565b505092915050565b600160a060020a03331660009081526020819052604081206001015460e060020a90810281161461088257600080fd5b7f6d696e7452657075746174696f6e00000000000000000000000000000000000060005b6005548110156109865760058054829081106108be57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab2913391859081106108f157fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561095857600080fd5b6102c65a03f1151561096957600080fd5b50505060405180519050151561097e57600080fd5b6001016108a6565b83600160a060020a031633600160a060020a03167fb6ced7e295ffd06d19f45bd872b3bd3fd172b1ba53b17ce0543c276d06f5a4228760405190815260200160405180910390a3600354600160a060020a031663fd9bf3aa858760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a2c57600080fd5b6102c65a03f11515610a3d57600080fd5b50505060405180519350505060005b60055481101561084a576005805482908110610a6457fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110610a9757fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610afe57600080fd5b6102c65a03f11515610b0f57600080fd5b505050604051805190501515610b2457600080fd5b600101610a4c565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614610b5c57600080fd5b7f67656e65726963416374696f6e0000000000000000000000000000000000000060005b600554811015610c60576005805482908110610b9857fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110610bcb57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610c3257600080fd5b6102c65a03f11515610c4357600080fd5b505050604051805190501515610c5857600080fd5b600101610b80565b33600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8560405160208082528190810183818151815260200191508051906020019060200280838360005b83811015610ccb578082015183820152602001610cb3565b505050509050019250505060405180910390a2600154600160a060020a0316636ce15a5433866000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610d64578082015183820152602001610d4c565b505050509050019350505050602060405180830381600087803b1515610d8957600080fd5b6102c65a03f11515610d9a57600080fd5b50505060405180519350505060005b600554811015610e89576005805482908110610dc157fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110610df457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610e5b57600080fd5b6102c65a03f11515610e6c57600080fd5b505050604051805190501515610e8157600080fd5b600101610da9565b5050919050565b600454600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a027c040000000000000000000000000000000000000000000000000000000090811614610eec57600080fd5b600160a060020a03831660009081526006602052604090205460ff161515610fdc576005805460018101610f208382612cc4565b9160005260206000209060020201600060408051908101604052600160a060020a0387168152602081018690529190508151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001909101555060409050805190810160409081526001825260055460001901602080840191909152600160a060020a03861660009081526006909152208151815460ff191690151517815560208201516001909101555061101c565b600160a060020a03831660009081526006602052604090206001015460058054849290811061100757fe5b60009182526020909120600160029092020101555b7f6f3ac186000a779fe66d0a5188f51993a6593d93c4ff052ec0453aa84f09dbcb8383604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600160a060020a031660009081526020819052604090205490565b600061108e612cf5565b611096612cf5565b600160a060020a03331660009081526020819052604090206001015460e060020a027c0400000000000000000000000000000000000000000000000000000000908116146110e357600080fd5b600160a060020a03841660009081526006602052604090819020908051908101604052815460ff16151581526001909101546020820152915081511561128e5760055460001901602083015110156112005760058054600019810190811061114757fe5b9060005260206000209060020201604080519081016040528154600160a060020a0316815260019091015460208083019190915290915081906005908401518154811061119057fe5b90600052602060002090600202016000820151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600190910155506020820151600660008351600160a060020a031681526020810191909152604001600020600101555b6005805490611213906000198301612cc4565b50600160a060020a03841660009081526006602090815260408220805460ff19168155600101919091557f6ceab662049113d466f7e28b69edbec7cf641bc175522623536b09785887982a908590840151604051600160a060020a03909216825260208201526040908101905180910390a160019250610e89565b5060009392505050565b600154600160a060020a031681565b6006602052600090815260409020805460019091015460ff9091169082565b600160a060020a03331660009081526020819052604081206001015460e060020a027c02000000000000000000000000000000000000000000000000000000009081161461131357600080fd5b7f756e7265676973746572536368656d650000000000000000000000000000000060005b60055481101561141757600580548290811061134f57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061138257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156113e957600080fd5b6102c65a03f115156113fa57600080fd5b50505060405180519050151561140f57600080fd5b600101611337565b600160a060020a03841660009081526020819052604090206001015460e060020a90810216151561144b5760009250611518565b33600160a060020a0390811660009081526020819052604080822060019081015493881683529120015460e060020a918202199102167c0f0000000000000000000000000000000000000000000000000000000016156114aa57600080fd5b83600160a060020a031633600160a060020a03167f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf60405160405180910390a3600160a060020a03841660009081526020819052604081209081556001908101805463ffffffff1916905592505b5060005b600554811015610e8957600580548290811061153457fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061156757fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156115ce57600080fd5b6102c65a03f115156115df57600080fd5b5050506040518051905015156115f457600080fd5b60010161151c565b600580548290811061160a57fe5b600091825260209091206002909102018054600190910154600160a060020a03909116915082565b600061163d336116ab565b151561164b575060006116a8565b600160a060020a0333166000818152602081905260408082209182556001909101805463ffffffff1916905581907f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf905160405180910390a35060015b90565b600160a060020a031660009081526020819052604090206001015460e060020a90810216151590565b600354600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a90810281161461171357600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000060005b60055481101561181757600580548290811061174f57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061178257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156117e957600080fd5b6102c65a03f115156117fa57600080fd5b50505060405180519050151561180f57600080fd5b600101611737565b85600160a060020a031633600160a060020a03167f2cee0640e7c161518a78fa901d8c0e4b2f51d42612532184a4f017a45b01ba288787604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a0316638cf1355c87878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156118db57600080fd5b6102c65a03f115156118ec57600080fd5b50505060405180519350505060005b6005548110156119db57600580548290811061191357fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061194657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156119ad57600080fd5b6102c65a03f115156119be57600080fd5b5050506040518051905015156119d357600080fd5b6001016118fb565b50509392505050565b600160a060020a031660009081526020819052604090206001015460e060020a0290565b6000611a12612cf5565b600160a060020a03331660009081526020819052604090206001015460e060020a027c020000000000000000000000000000000000000000000000000000000090811614611a5f57600080fd5b7f7265676973746572536368656d6500000000000000000000000000000000000060005b600554811015611b63576005805482908110611a9b57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611ace57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611b3557600080fd5b6102c65a03f11515611b4657600080fd5b505050604051805190501515611b5b57600080fd5b600101611a83565b600160a060020a03871660009081526020819052604090819020908051908101604090815282548252600192830154600160e060020a031960e060020a918202166020808501918252600160a060020a03331660009081529081905292832090940154929650909291021990518718167c0f000000000000000000000000000000000000000000000000000000001614611bfc57600080fd5b600160a060020a03331660009081526020818152604082206001015460e060020a021990850151167c0f000000000000000000000000000000000000000000000000000000001614611c4d57600080fd5b600160a060020a0387811660008181526020819052604090819020898155600101805463ffffffff191660e060020a8a81170417905590913316907f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc905160405180910390a3600193505060005b600554811015611d9b576005805482908110611cd357fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110611d0657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611d6d57600080fd5b6102c65a03f11515611d7e57600080fd5b505050604051805190501515611d9357600080fd5b600101611cbb565b5050509392505050565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614611dd557600080fd5b7f65787465726e616c546f6b656e5472616e7366657246726f6d0000000000000060005b600554811015611ed9576005805482908110611e1157fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611e4457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611eab57600080fd5b6102c65a03f11515611ebc57600080fd5b505050604051805190501515611ed157600080fd5b600101611df9565b86600160a060020a031633600160a060020a03167f283faba4b8dcfe263728666be500623fdf5ae89ac78e40952fe2493f918ed62c888888604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a3600154600160a060020a031663b756d5a28888888860006040516020015260405160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381600087803b1515611fb057600080fd5b6102c65a03f11515611fc157600080fd5b50505060405180519350505060005b6005548110156120b0576005805482908110611fe857fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061201b57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561208257600080fd5b6102c65a03f1151561209357600080fd5b5050506040518051905015156120a857600080fd5b600101611fd0565b5050949350505050565b600160a060020a03331660009081526020819052604081206001015460e060020a027c08000000000000000000000000000000000000000000000000000000009081161461210757600080fd5b600454600160a060020a03161561211d57600080fd5b600160a060020a038216151561213257600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03848116919091179091556001541663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156121a757600080fd5b6102c65a03f115156121b857600080fd5b5050600254600160a060020a03308116925016638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561220757600080fd5b6102c65a03f1151561221857600080fd5b50505060405180519050600160a060020a0316141561229657600254600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561228157600080fd5b6102c65a03f1151561229257600080fd5b5050505b600354600160a060020a033081169116638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156122e257600080fd5b6102c65a03f115156122f357600080fd5b50505060405180519050600160a060020a0316141561237157600354600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561235c57600080fd5b6102c65a03f1151561236d57600080fd5b5050505b6004547fdb7cbacf8df312d794506c0cc9af07f64d29ca075796ea2e950a3832cc9a63dd903090600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a1506001919050565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146123fc57600080fd5b7f73656e644574686572000000000000000000000000000000000000000000000060005b60055481101561250057600580548290811061243857fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061246b57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156124d257600080fd5b6102c65a03f115156124e357600080fd5b5050506040518051905015156124f857600080fd5b600101612420565b83600160a060020a031633600160a060020a03167fda35e091786fbaaace32084910404a0e3a14f22a7645a4c3d0fec2c6731e3c348760405190815260200160405180910390a3600154600160a060020a031663cb16d4a2868660006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b15156125a757600080fd5b6102c65a03f115156125b857600080fd5b50505060405180519350505060005b60055481101561084a5760058054829081106125df57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061261257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561267957600080fd5b6102c65a03f1151561268a57600080fd5b50505060405180519050151561269f57600080fd5b6001016125c7565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146126d757600080fd5b7f65787465726e616c546f6b656e4465637265617365417070726f76616c00000060005b6005548110156127db57600580548290811061271357fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061274657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156127ad57600080fd5b6102c65a03f115156127be57600080fd5b5050506040518051905015156127d357600080fd5b6001016126fb565b85600160a060020a031633600160a060020a03167f56fc1f50d44108d3b715d77eb371d388bf2998c65b4eb5cf0ccd6c055be46d498787604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a031663d29ab9c487878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561289f57600080fd5b6102c65a03f115156128b057600080fd5b50505060405180519350505060005b6005548110156119db5760058054829081106128d757fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061290a57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561297157600080fd5b6102c65a03f1151561298257600080fd5b50505060405180519050151561299757600080fd5b6001016128bf565b60055490565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146129d557600080fd5b7f65787465726e616c546f6b656e5472616e73666572000000000000000000000060005b600554811015612ad9576005805482908110612a1157fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110612a4457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612aab57600080fd5b6102c65a03f11515612abc57600080fd5b505050604051805190501515612ad157600080fd5b6001016129f9565b84600160a060020a031686600160a060020a031633600160a060020a03167fd4c08afec48fd2cbe49032dc89d3b388b7a4e4f0563a1fdccd73339beb025aa18760405190815260200160405180910390a4600154600160a060020a031663dab0efff87878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612b9657600080fd5b6102c65a03f11515612ba757600080fd5b50505060405180519350505060005b6005548110156119db576005805482908110612bce57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110612c0157fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612c6857600080fd5b6102c65a03f11515612c7957600080fd5b505050604051805190501515612c8e57600080fd5b600101612bb6565b6000602081905290815260409020805460019091015460e060020a0282565b600254600160a060020a031681565b815481835581811511612cf057600202816002028360005260206000209182019101612cf09190612d0c565b505050565b604080519081016040526000808252602082015290565b6116a891905b80821115612d4457805473ffffffffffffffffffffffffffffffffffffffff1916815560006001820155600201612d12565b50905600a165627a7a72305820dd116b5e90268296fdc2bc988612d105652e5b1711df18c0cebc2a012ff6d7680029a165627a7a723058205c52fb6c93fa2bb2a32d2ab1b1e64c3d76c03b7ec59f3c20ebe68a31459e7f450029", + "deployedBytecode": "0x606060405260043610620000595763ffffffff60e060020a6000350416630bddbbc681146200005e5780630f96cf3414620000a95780636442f19514620000de5780638bcd1c341462000240578063e3186c56146200039b575b600080fd5b34156200006a57600080fd5b62000077600435620003c6565b6040517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19909116815260200160405180910390f35b3415620000b557600080fd5b620000c2600435620003ff565b604051600160a060020a03909116815260200160405180910390f35b3415620000ea57600080fd5b6200023e60048035600160a060020a0316906044602480359081019083013580602080820201604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506200042895505050505050565b005b34156200024c57600080fd5b620000c2600480359060446024803590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405281815292919060208401838380828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843782019150505050505091908035906020019082018035906020019080806020026020016040519081016040528093929190818152602001838360200280828437509496506200078d95505050505050565b3415620003a757600080fd5b620003b460043562000d99565b60405190815260200160405180910390f35b6003805482908110620003d557fe5b9060005260206000209060089182820401919006600402915054906101000a900460e060020a0281565b60018054829081106200040e57fe5b600091825260209091200154600160a060020a0316905081565b600160a060020a03868116600090815260208190526040812054909182913382169116146200045657600080fd5b87600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156200049d57600080fd5b6102c65a03f11515620004af57600080fd5b5050506040518051925060009150505b86518110156200069d57838181518110620004d657fe5b9060200190602002015115620005b05781600160a060020a0316638cf1355c8683815181106200050257fe5b906020019060200201518984815181106200051957fe5b906020019060200201518785815181106200053057fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156200059357600080fd5b6102c65a03f11515620005a557600080fd5b505050604051805150505b81600160a060020a031663a34abaa8888381518110620005cc57fe5b90602001906020020151888481518110620005e357fe5b90602001906020020151868581518110620005fa57fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166044820152606401602060405180830381600087803b15156200067857600080fd5b6102c65a03f115156200068a57600080fd5b50505060405180515050600101620004bf565b81600160a060020a031663653915e53060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515620006f557600080fd5b6102c65a03f115156200070757600080fd5b50505060405180515050600160a060020a03881660009081526020819052604090819020805473ffffffffffffffffffffffffffffffffffffffff191690557f9007c9042f12be953f7dbe3909f56c3f088e9fe294dbebbef4a67afa63462b6a90899051600160a060020a03909116815260200160405180910390a15050505050505050565b6000806000806000808a8a620007a262000db9565b808060200180602001838103835285818151815260200191508051906020019080838360005b83811015620007e2578082015183820152602001620007c8565b50505050905090810190601f168015620008105780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015620008485780820151838201526020016200082e565b50505050905090810190601f168015620008765780820380516001836020036101000a031916815260200191505b50945050505050604051809103906000f08015156200089457600080fd5b9450620008a062000dca565b604051809103906000f0801515620008b757600080fd5b93508b8585620008c662000ddb565b928352600160a060020a0391821660208401521660408083019190915260609091019051809103906000f0801515620008fe57600080fd5b9250826001600260036200091162000dec565b600160a060020a03851681526080602082018181528554918301829052906040830190606084019060a0850190889080156200097757602002820191906000526020600020905b8154600160a060020a0316815260019091019060200180831162000958575b50508481038352868181548152602001915080548015620009b957602002820191906000526020600020905b81548152600190910190602001808311620009a3575b5050848103825285818154815260200191508054801562000a3f57602002820191906000526020600020906000905b82829054906101000a900460e060020a027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411620009e85790505b5050975050505050505050604051809103906000f080151562000a6157600080fd5b915082600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151562000ab257600080fd5b6102c65a03f1151562000ac457600080fd5b50505084600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151562000b1657600080fd5b6102c65a03f1151562000b2857600080fd5b50505083600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151562000b7a57600080fd5b6102c65a03f1151562000b8c57600080fd5b505050600090505b885181101562000d0d5781600160a060020a03166310c5b32889838151811062000bba57fe5b906020019060200201518b848151811062000bd157fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b151562000c2957600080fd5b6102c65a03f1151562000c3b57600080fd5b50505060405180519050151562000c5157600080fd5b81600160a060020a03166318e236e488838151811062000c6d57fe5b906020019060200201518b848151811062000c8457fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b151562000cdc57600080fd5b6102c65a03f1151562000cee57600080fd5b50505060405180519050151562000d0457600080fd5b60010162000b94565b600160a060020a0383811660009081526020819052604090819020805473ffffffffffffffffffffffffffffffffffffffff191633909316929092179091557f244496352f5e67e59ce96b4a53ef9ea7cb88b7db33eb13dc5e771bd04385a60e90849051600160a060020a03909116815260200160405180910390a150909a9950505050505050505050565b600280548290811062000da857fe5b600091825260209091200154905081565b604051610ea08062000dfe83390190565b6040516104ab8062001c9e83390190565b6040516109d5806200214983390190565b6040516130798062002b1e83390190560060606040526003805460a060020a60ff0219169055341561001f57600080fd5b604051610ea0380380610ea08339810160405280805182019190602001805160038054600160a060020a03191633600160a060020a0316179055919091019050600482805161007292916020019061008e565b50600581805161008692916020019061008e565b505050610129565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106100cf57805160ff19168380011785556100fc565b828001600101855582156100fc579182015b828111156100fc5782518255916020019190600101906100e1565b5061010892915061010c565b5090565b61012691905b808211156101085760008155600101610112565b90565b610d68806101386000396000f3006060604052600436106101065763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461010b57806306fdde0314610132578063095ea7b3146101bc57806318160ddd146101de57806323b872dd1461020357806340c10f191461022b57806342966c681461024d57806366188463146102655780636ab55fd91461028757806370a082311461029a5780637d64bcb4146102b957806383197ef0146102cc5780638da5cb5b146102df57806395d89b411461030e578063a9059cbb14610321578063d73dd62314610343578063dd62ed3e14610365578063f2fde38b1461038a578063f5074f41146103a9575b600080fd5b341561011657600080fd5b61011e6103c8565b604051901515815260200160405180910390f35b341561013d57600080fd5b6101456103d8565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610181578082015183820152602001610169565b50505050905090810190601f1680156101ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c757600080fd5b61011e600160a060020a0360043516602435610476565b34156101e957600080fd5b6101f16104e2565b60405190815260200160405180910390f35b341561020e57600080fd5b61011e600160a060020a03600435811690602435166044356104e8565b341561023657600080fd5b61011e600160a060020a036004351660243561066a565b341561025857600080fd5b610263600435610777565b005b341561027057600080fd5b61011e600160a060020a0360043516602435610840565b341561029257600080fd5b6101f161093a565b34156102a557600080fd5b6101f1600160a060020a036004351661093f565b34156102c457600080fd5b61011e61095a565b34156102d757600080fd5b6102636109e5565b34156102ea57600080fd5b6102f2610a0e565b604051600160a060020a03909116815260200160405180910390f35b341561031957600080fd5b610145610a1d565b341561032c57600080fd5b61011e600160a060020a0360043516602435610a88565b341561034e57600080fd5b61011e600160a060020a0360043516602435610b83565b341561037057600080fd5b6101f1600160a060020a0360043581169060243516610c27565b341561039557600080fd5b610263600160a060020a0360043516610c52565b34156103b457600080fd5b610263600160a060020a0360043516610ced565b60035460a060020a900460ff1681565b60048054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b820191906000526020600020905b81548152906001019060200180831161045157829003601f168201915b505050505081565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a03831615156104ff57600080fd5b600160a060020a03841660009081526001602052604090205482111561052457600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482111561055757600080fd5b600160a060020a038416600090815260016020526040902054610580908363ffffffff610d1416565b600160a060020a0380861660009081526001602052604080822093909355908516815220546105b5908363ffffffff610d2616565b600160a060020a038085166000908152600160209081526040808320949094558783168252600281528382203390931682529190915220546105fd908363ffffffff610d1416565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a0390811691161461068857600080fd5b60035460a060020a900460ff161561069f57600080fd5b6000546106b2908363ffffffff610d2616565b6000908155600160a060020a0384168152600160205260409020546106dd908363ffffffff610d2616565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600080821161078557600080fd5b600160a060020a0333166000908152600160205260409020548211156107aa57600080fd5b5033600160a060020a0381166000908152600160205260409020546107cf9083610d14565b600160a060020a038216600090815260016020526040812091909155546107fc908363ffffffff610d1416565b600055600160a060020a0381167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca58360405190815260200160405180910390a25050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561089d57600160a060020a0333811660009081526002602090815260408083209388168352929052908120556108d4565b6108ad818463ffffffff610d1416565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b601281565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a0390811691161461097857600080fd5b60035460a060020a900460ff161561098f57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035433600160a060020a03908116911614610a0057600080fd5b600354600160a060020a0316ff5b600354600160a060020a031681565b60058054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561046e5780601f106104435761010080835404028352916020019161046e565b6000600160a060020a0383161515610a9f57600080fd5b600160a060020a033316600090815260016020526040902054821115610ac457600080fd5b600160a060020a033316600090815260016020526040902054610aed908363ffffffff610d1416565b600160a060020a033381166000908152600160205260408082209390935590851681522054610b22908363ffffffff610d2616565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610bbb908363ffffffff610d2616565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a03908116911614610c6d57600080fd5b600160a060020a0381161515610c8257600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a03908116911614610d0857600080fd5b80600160a060020a0316ff5b600082821115610d2057fe5b50900390565b600082820183811015610d3557fe5b93925050505600a165627a7a72305820ddd222f885170d976ba92e33cced2eee9f7c90cd560193c32910e76aa67bce7f002960606040526012600355341561001457600080fd5b60008054600160a060020a033316600160a060020a0319909116811782558152600160205260408120819055600255610459806100526000396000f3006060604052600436106100825763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd8114610087578063313ce567146100ac5780638da5cb5b146100bf578063b120c16a146100ee578063db89c04414610124578063f2fde38b14610143578063fd9bf3aa14610164575b600080fd5b341561009257600080fd5b61009a610186565b60405190815260200160405180910390f35b34156100b757600080fd5b61009a61018c565b34156100ca57600080fd5b6100d2610192565b604051600160a060020a03909116815260200160405180910390f35b34156100f957600080fd5b610110600160a060020a03600435166024356101a1565b604051901515815260200160405180910390f35b341561012f57600080fd5b61009a600160a060020a0360043516610222565b341561014e57600080fd5b610162600160a060020a036004351661023d565b005b341561016f57600080fd5b610110600160a060020a03600435166024356102d8565b60025481565b60035481565b600054600160a060020a031681565b6000805433600160a060020a039081169116146101bd57600080fd5b600160a060020a0383166000908152600160205260409020546002546101fa9184916101ee9163ffffffff61040516565b9063ffffffff61041716565b60025550600160a060020a038216600090815260016020819052604090912082905592915050565b600160a060020a031660009081526001602052604090205490565b60005433600160a060020a0390811691161461025857600080fd5b600160a060020a038116151561026d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054819033600160a060020a039081169116146102f657600080fd5b6000831261035e57506002548290610314908263ffffffff61041716565b600255600160a060020a038416600090815260016020526040902054610340908263ffffffff61041716565b600160a060020a0385166000908152600160205260409020556103be565b50600254600019830290610378908263ffffffff61040516565b600255600160a060020a0384166000908152600160205260409020546103a4908263ffffffff61040516565b600160a060020a0385166000908152600160205260409020555b83600160a060020a03167f6f734b566c5e1cb976d9c7fba184b96a698a18931dd345168b16db217f8df0dd8460405190815260200160405180910390a25060019392505050565b60008282111561041157fe5b50900390565b60008282018381101561042657fe5b93925050505600a165627a7a723058201a9bea40831b947da943a43e70f9b6a2089d92e54654732959bfd2903683f7ab00296060604052341561000f57600080fd5b6040516060806109d583398101604052808051919060200180519190602001805160008054600160a060020a03338116600160a060020a031992831617909255600196909655600280549582169587169590951790945560038054949091169390941692909217909255505061094b8061008a6000396000f3006060604052600436106100955763ffffffff60e060020a6000350416631386dc2d81146100d45780636ce15a54146100f957806389ae1c901461016a5780638cf1355c146101995780638da5cb5b146101c1578063b756d5a2146101d4578063cb16d4a214610202578063d29ab9c414610224578063dab0efff1461024c578063e1758bd814610274578063f2fde38b14610287575b33600160a060020a03167ff32a9f77675fd5917534c7746608fd3e309eac68fbdcbf5925e24ca97a7043963460405190815260200160405180910390a2005b34156100df57600080fd5b6100e76102a8565b60405190815260200160405180910390f35b341561010457600080fd5b61015660048035600160a060020a03169060446024803590810190830135806020808202016040519081016040528093929190818152602001838360200280828437509496506102ae95505050505050565b604051901515815260200160405180910390f35b341561017557600080fd5b61017d610400565b604051600160a060020a03909116815260200160405180910390f35b34156101a457600080fd5b610156600160a060020a036004358116906024351660443561040f565b34156101cc57600080fd5b61017d6104fb565b34156101df57600080fd5b610156600160a060020a036004358116906024358116906044351660643561050a565b341561020d57600080fd5b610156600435600160a060020a0360243516610610565b341561022f57600080fd5b610156600160a060020a03600435811690602435166044356106a3565b341561025757600080fd5b610156600160a060020a036004358116906024351660443561078f565b341561027f57600080fd5b61017d610875565b341561029257600080fd5b6102a6600160a060020a0360043516610884565b005b60015481565b6000805433600160a060020a039081169116146102ca57600080fd5b82600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8360405160208082528190810183818151815260200191508051906020019060200280838360005b8381101561033557808201518382015260200161031d565b505050509050019250505060405180910390a282600160a060020a03166040517f616374696f6e28627974657333325b5d290000000000000000000000000000008152601101604051809103902060e060020a900460208451856040518463ffffffff1660e060020a02815260040180848152602001838152602001828051906020019060200280838360005b838110156103da5780820151838201526020016103c2565b5050505090500193505050506000604051808303818661646e5a03f49695505050505050565b600354600160a060020a031681565b6000805433600160a060020a0390811691161461042b57600080fd5b83600160a060020a031663d73dd623848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561048857600080fd5b6102c65a03f1151561049957600080fd5b50505060405180515050600160a060020a0384167fbe7df27d98bd0614ae920a695c2c2be09c164d8456083da020a98538692c465f8484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b600054600160a060020a031681565b6000805433600160a060020a0390811691161461052657600080fd5b84600160a060020a03166323b872dd85858560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561059057600080fd5b6102c65a03f115156105a157600080fd5b50505060405180515050600160a060020a0385167f179c15de44aa7ab84896301974328eb40b5b40fe01cfe0fee2924ea712c3e843858585604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a2506001949350505050565b6000805433600160a060020a0390811691161461062c57600080fd5b600160a060020a03821683156108fc0284604051600060405180830381858888f19350505050151561065d57600080fd5b81600160a060020a03167f22fca66666089f39bc900dd6605b489df4aae6260cc8ea8257594cfb8c84926c8460405190815260200160405180910390a250600192915050565b6000805433600160a060020a039081169116146106bf57600080fd5b83600160a060020a03166366188463848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561071c57600080fd5b6102c65a03f1151561072d57600080fd5b50505060405180515050600160a060020a0384167f495e426dd61227fe840d969dfba17620c573364af8c37748ea71f96f744ae3348484604051600160a060020a03909216825260208201526040908101905180910390a25060019392505050565b6000805433600160a060020a039081169116146107ab57600080fd5b83600160a060020a031663a9059cbb848460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561080857600080fd5b6102c65a03f1151561081957600080fd5b505050604051805190505082600160a060020a031684600160a060020a03167f49dc2a60d2599a7b6932d78fb694c30dfc596fe4e0282b5d0fd184b52472c04d8460405190815260200160405180910390a35060019392505050565b600254600160a060020a031681565b60005433600160a060020a0390811691161461089f57600080fd5b600160a060020a03811615156108b457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820786998839b4cbdb5de27a89e499d071bb45a6e91c521dbfe4500bd3b9d6741d90029606060405234156200001057600080fd5b6040516200307938038062003079833981016040528080519190602001805182019190602001805182019190602001805160018054600160a060020a031916600160a060020a0388811691909117918290559390910192600092501663e1758bd882604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1515620000c157600080fd5b6102c65a03f11515620000d357600080fd5b505050604051805160028054600160a060020a031916600160a060020a039283161790556001541690506389ae1c906000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156200015357600080fd5b6102c65a03f115156200016557600080fd5b505050604051805160038054600160a060020a031916600160a060020a039290921691909117905550600090505b8351811015620002f0576040805190810160405280848381518110620001b557fe5b9060200190602002015181526020017c0100000000000000000000000000000000000000000000000000000000848481518110620001ef57fe5b90602001906020020151177fffffffff000000000000000000000000000000000000000000000000000000001690526000808684815181106200022e57fe5b90602001906020020151600160a060020a031681526020810191909152604001600020815181556020820151600191909101805463ffffffff19167c0100000000000000000000000000000000000000000000000000000000909204919091179055508381815181106200029e57fe5b90602001906020020151600160a060020a031633600160a060020a03167f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc60405160405180910390a360010162000193565b5050505050612d7480620003056000396000f30060606040526004361061013a5763ffffffff60e060020a600035041663043cc6ee811461014a57806310c5b3281461017d57806318e236e41461019f578063277d811e146101c15780633a02263c1461021057806346a4869c1461023f57806346e361b714610261578063488b3814146102925780635aef7de6146102b157806364f47ace146102c4578063653915e5146102fd57806365ab1ae81461031c5780636bafaa591461035457806381d064c41461036757806389ae1c90146103865780638cf1355c146103995780639fe02726146103c1578063a34abaa8146103fd578063b756d5a21461042c578063b9c2ee821461045a578063cb16d4a214610479578063d29ab9c41461049b578063d5210f60146104c3578063dab0efff146104d6578063db6149ce146104fe578063e1758bd81461053f575b341561014557600080fd5b600080fd5b341561015557600080fd5b610169600160a060020a0360043516610552565b604051901515815260200160405180910390f35b341561018857600080fd5b610169600435600160a060020a0360243516610570565b34156101aa57600080fd5b610169600435600160a060020a0360243516610852565b34156101cc57600080fd5b6101696004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610b2c95505050505050565b341561021b57600080fd5b610223610e90565b604051600160a060020a03909116815260200160405180910390f35b341561024a57600080fd5b610169600160a060020a0360043516602435610e9f565b341561026c57600080fd5b610280600160a060020a0360043516611069565b60405190815260200160405180910390f35b341561029d57600080fd5b610169600160a060020a0360043516611084565b34156102bc57600080fd5b610223611298565b34156102cf57600080fd5b6102e3600160a060020a03600435166112a7565b604051911515825260208201526040908101905180910390f35b341561030857600080fd5b610169600160a060020a03600435166112c6565b341561032757600080fd5b6103326004356115fc565b604051600160a060020a03909216825260208201526040908101905180910390f35b341561035f57600080fd5b610169611632565b341561037257600080fd5b610169600160a060020a03600435166116ab565b341561039157600080fd5b6102236116d4565b34156103a457600080fd5b610169600160a060020a03600435811690602435166044356116e3565b34156103cc57600080fd5b6103e0600160a060020a03600435166119e4565b604051600160e060020a0319909116815260200160405180910390f35b341561040857600080fd5b610169600160a060020a0360043516602435600160e060020a031960443516611a08565b341561043757600080fd5b610169600160a060020a0360043581169060243581169060443516606435611da5565b341561046557600080fd5b610169600160a060020a03600435166120ba565b341561048457600080fd5b610169600435600160a060020a03602435166123cc565b34156104a657600080fd5b610169600160a060020a03600435811690602435166044356126a7565b34156104ce57600080fd5b61028061299f565b34156104e157600080fd5b610169600160a060020a03600435811690602435166044356129a5565b341561050957600080fd5b61051d600160a060020a0360043516612c96565b604051918252600160e060020a03191660208201526040908101905180910390f35b341561054a57600080fd5b610223612cb5565b600160a060020a031660009081526006602052604090205460ff1690565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146105a057600080fd5b7f6d696e74546f6b656e730000000000000000000000000000000000000000000060005b6005548110156106a45760058054829081106105dc57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061060f57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561067657600080fd5b6102c65a03f1151561068757600080fd5b50505060405180519050151561069c57600080fd5b6001016105c4565b83600160a060020a031633600160a060020a03167f21f9c9a1a1f9a311a50f15fec5c1faa9e21fc9edf964f0fdecba5bd490484c5e8760405190815260200160405180910390a3600254600160a060020a03166340c10f19858760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b151561074a57600080fd5b6102c65a03f1151561075b57600080fd5b50505060405180519350505060005b60055481101561084a57600580548290811061078257fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d913391859081106107b557fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561081c57600080fd5b6102c65a03f1151561082d57600080fd5b50505060405180519050151561084257600080fd5b60010161076a565b505092915050565b600160a060020a03331660009081526020819052604081206001015460e060020a90810281161461088257600080fd5b7f6d696e7452657075746174696f6e00000000000000000000000000000000000060005b6005548110156109865760058054829081106108be57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab2913391859081106108f157fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561095857600080fd5b6102c65a03f1151561096957600080fd5b50505060405180519050151561097e57600080fd5b6001016108a6565b83600160a060020a031633600160a060020a03167fb6ced7e295ffd06d19f45bd872b3bd3fd172b1ba53b17ce0543c276d06f5a4228760405190815260200160405180910390a3600354600160a060020a031663fd9bf3aa858760006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610a2c57600080fd5b6102c65a03f11515610a3d57600080fd5b50505060405180519350505060005b60055481101561084a576005805482908110610a6457fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110610a9757fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610afe57600080fd5b6102c65a03f11515610b0f57600080fd5b505050604051805190501515610b2457600080fd5b600101610a4c565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614610b5c57600080fd5b7f67656e65726963416374696f6e0000000000000000000000000000000000000060005b600554811015610c60576005805482908110610b9857fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110610bcb57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610c3257600080fd5b6102c65a03f11515610c4357600080fd5b505050604051805190501515610c5857600080fd5b600101610b80565b33600160a060020a03167f8518530cc6bc186721ab2fc226031ca054c8484893d8b0c7faab65a58aac238d8560405160208082528190810183818151815260200191508051906020019060200280838360005b83811015610ccb578082015183820152602001610cb3565b505050509050019250505060405180910390a2600154600160a060020a0316636ce15a5433866000604051602001526040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019060200280838360005b83811015610d64578082015183820152602001610d4c565b505050509050019350505050602060405180830381600087803b1515610d8957600080fd5b6102c65a03f11515610d9a57600080fd5b50505060405180519350505060005b600554811015610e89576005805482908110610dc157fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110610df457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515610e5b57600080fd5b6102c65a03f11515610e6c57600080fd5b505050604051805190501515610e8157600080fd5b600101610da9565b5050919050565b600454600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a027c040000000000000000000000000000000000000000000000000000000090811614610eec57600080fd5b600160a060020a03831660009081526006602052604090205460ff161515610fdc576005805460018101610f208382612cc4565b9160005260206000209060020201600060408051908101604052600160a060020a0387168152602081018690529190508151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039190911617815560208201516001909101555060409050805190810160409081526001825260055460001901602080840191909152600160a060020a03861660009081526006909152208151815460ff191690151517815560208201516001909101555061101c565b600160a060020a03831660009081526006602052604090206001015460058054849290811061100757fe5b60009182526020909120600160029092020101555b7f6f3ac186000a779fe66d0a5188f51993a6593d93c4ff052ec0453aa84f09dbcb8383604051600160a060020a03909216825260208201526040908101905180910390a150600192915050565b600160a060020a031660009081526020819052604090205490565b600061108e612cf5565b611096612cf5565b600160a060020a03331660009081526020819052604090206001015460e060020a027c0400000000000000000000000000000000000000000000000000000000908116146110e357600080fd5b600160a060020a03841660009081526006602052604090819020908051908101604052815460ff16151581526001909101546020820152915081511561128e5760055460001901602083015110156112005760058054600019810190811061114757fe5b9060005260206000209060020201604080519081016040528154600160a060020a0316815260019091015460208083019190915290915081906005908401518154811061119057fe5b90600052602060002090600202016000820151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03919091161781556020820151600190910155506020820151600660008351600160a060020a031681526020810191909152604001600020600101555b6005805490611213906000198301612cc4565b50600160a060020a03841660009081526006602090815260408220805460ff19168155600101919091557f6ceab662049113d466f7e28b69edbec7cf641bc175522623536b09785887982a908590840151604051600160a060020a03909216825260208201526040908101905180910390a160019250610e89565b5060009392505050565b600154600160a060020a031681565b6006602052600090815260409020805460019091015460ff9091169082565b600160a060020a03331660009081526020819052604081206001015460e060020a027c02000000000000000000000000000000000000000000000000000000009081161461131357600080fd5b7f756e7265676973746572536368656d650000000000000000000000000000000060005b60055481101561141757600580548290811061134f57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061138257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156113e957600080fd5b6102c65a03f115156113fa57600080fd5b50505060405180519050151561140f57600080fd5b600101611337565b600160a060020a03841660009081526020819052604090206001015460e060020a90810216151561144b5760009250611518565b33600160a060020a0390811660009081526020819052604080822060019081015493881683529120015460e060020a918202199102167c0f0000000000000000000000000000000000000000000000000000000016156114aa57600080fd5b83600160a060020a031633600160a060020a03167f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf60405160405180910390a3600160a060020a03841660009081526020819052604081209081556001908101805463ffffffff1916905592505b5060005b600554811015610e8957600580548290811061153457fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061156757fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156115ce57600080fd5b6102c65a03f115156115df57600080fd5b5050506040518051905015156115f457600080fd5b60010161151c565b600580548290811061160a57fe5b600091825260209091206002909102018054600190910154600160a060020a03909116915082565b600061163d336116ab565b151561164b575060006116a8565b600160a060020a0333166000818152602081905260408082209182556001909101805463ffffffff1916905581907f10bb2cf04cb8b902a8e736d494f1a51003be6d4b16ef6fb95ce62c38445023bf905160405180910390a35060015b90565b600160a060020a031660009081526020819052604090206001015460e060020a90810216151590565b600354600160a060020a031681565b600160a060020a03331660009081526020819052604081206001015460e060020a90810281161461171357600080fd5b7f65787465726e616c546f6b656e496e637265617365417070726f76616c00000060005b60055481101561181757600580548290811061174f57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061178257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156117e957600080fd5b6102c65a03f115156117fa57600080fd5b50505060405180519050151561180f57600080fd5b600101611737565b85600160a060020a031633600160a060020a03167f2cee0640e7c161518a78fa901d8c0e4b2f51d42612532184a4f017a45b01ba288787604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a0316638cf1355c87878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156118db57600080fd5b6102c65a03f115156118ec57600080fd5b50505060405180519350505060005b6005548110156119db57600580548290811061191357fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061194657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156119ad57600080fd5b6102c65a03f115156119be57600080fd5b5050506040518051905015156119d357600080fd5b6001016118fb565b50509392505050565b600160a060020a031660009081526020819052604090206001015460e060020a0290565b6000611a12612cf5565b600160a060020a03331660009081526020819052604090206001015460e060020a027c020000000000000000000000000000000000000000000000000000000090811614611a5f57600080fd5b7f7265676973746572536368656d6500000000000000000000000000000000000060005b600554811015611b63576005805482908110611a9b57fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611ace57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611b3557600080fd5b6102c65a03f11515611b4657600080fd5b505050604051805190501515611b5b57600080fd5b600101611a83565b600160a060020a03871660009081526020819052604090819020908051908101604090815282548252600192830154600160e060020a031960e060020a918202166020808501918252600160a060020a03331660009081529081905292832090940154929650909291021990518718167c0f000000000000000000000000000000000000000000000000000000001614611bfc57600080fd5b600160a060020a03331660009081526020818152604082206001015460e060020a021990850151167c0f000000000000000000000000000000000000000000000000000000001614611c4d57600080fd5b600160a060020a0387811660008181526020819052604090819020898155600101805463ffffffff191660e060020a8a81170417905590913316907f546816e99403df442acb68ef69562682a50762c20a3fb6b472f7af9923736cfc905160405180910390a3600193505060005b600554811015611d9b576005805482908110611cd357fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110611d0657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611d6d57600080fd5b6102c65a03f11515611d7e57600080fd5b505050604051805190501515611d9357600080fd5b600101611cbb565b5050509392505050565b600160a060020a03331660009081526020819052604081206001015460e060020a908102811614611dd557600080fd5b7f65787465726e616c546f6b656e5472616e7366657246726f6d0000000000000060005b600554811015611ed9576005805482908110611e1157fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110611e4457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515611eab57600080fd5b6102c65a03f11515611ebc57600080fd5b505050604051805190501515611ed157600080fd5b600101611df9565b86600160a060020a031633600160a060020a03167f283faba4b8dcfe263728666be500623fdf5ae89ac78e40952fe2493f918ed62c888888604051600160a060020a039384168152919092166020820152604080820192909252606001905180910390a3600154600160a060020a031663b756d5a28888888860006040516020015260405160e060020a63ffffffff8716028152600160a060020a0394851660048201529284166024840152921660448201526064810191909152608401602060405180830381600087803b1515611fb057600080fd5b6102c65a03f11515611fc157600080fd5b50505060405180519350505060005b6005548110156120b0576005805482908110611fe857fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061201b57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561208257600080fd5b6102c65a03f1151561209357600080fd5b5050506040518051905015156120a857600080fd5b600101611fd0565b5050949350505050565b600160a060020a03331660009081526020819052604081206001015460e060020a027c08000000000000000000000000000000000000000000000000000000009081161461210757600080fd5b600454600160a060020a03161561211d57600080fd5b600160a060020a038216151561213257600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03848116919091179091556001541663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b15156121a757600080fd5b6102c65a03f115156121b857600080fd5b5050600254600160a060020a03308116925016638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561220757600080fd5b6102c65a03f1151561221857600080fd5b50505060405180519050600160a060020a0316141561229657600254600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561228157600080fd5b6102c65a03f1151561229257600080fd5b5050505b600354600160a060020a033081169116638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156122e257600080fd5b6102c65a03f115156122f357600080fd5b50505060405180519050600160a060020a0316141561237157600354600160a060020a031663f2fde38b8360405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b151561235c57600080fd5b6102c65a03f1151561236d57600080fd5b5050505b6004547fdb7cbacf8df312d794506c0cc9af07f64d29ca075796ea2e950a3832cc9a63dd903090600160a060020a0316604051600160a060020a039283168152911660208201526040908101905180910390a1506001919050565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146123fc57600080fd5b7f73656e644574686572000000000000000000000000000000000000000000000060005b60055481101561250057600580548290811061243857fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061246b57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156124d257600080fd5b6102c65a03f115156124e357600080fd5b5050506040518051905015156124f857600080fd5b600101612420565b83600160a060020a031633600160a060020a03167fda35e091786fbaaace32084910404a0e3a14f22a7645a4c3d0fec2c6731e3c348760405190815260200160405180910390a3600154600160a060020a031663cb16d4a2868660006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b15156125a757600080fd5b6102c65a03f115156125b857600080fd5b50505060405180519350505060005b60055481101561084a5760058054829081106125df57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061261257fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561267957600080fd5b6102c65a03f1151561268a57600080fd5b50505060405180519050151561269f57600080fd5b6001016125c7565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146126d757600080fd5b7f65787465726e616c546f6b656e4465637265617365417070726f76616c00000060005b6005548110156127db57600580548290811061271357fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab29133918590811061274657fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b15156127ad57600080fd5b6102c65a03f115156127be57600080fd5b5050506040518051905015156127d357600080fd5b6001016126fb565b85600160a060020a031633600160a060020a03167f56fc1f50d44108d3b715d77eb371d388bf2998c65b4eb5cf0ccd6c055be46d498787604051600160a060020a03909216825260208201526040908101905180910390a3600154600160a060020a031663d29ab9c487878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561289f57600080fd5b6102c65a03f115156128b057600080fd5b50505060405180519350505060005b6005548110156119db5760058054829081106128d757fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d9133918590811061290a57fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b151561297157600080fd5b6102c65a03f1151561298257600080fd5b50505060405180519050151561299757600080fd5b6001016128bf565b60055490565b600160a060020a03331660009081526020819052604081206001015460e060020a9081028116146129d557600080fd5b7f65787465726e616c546f6b656e5472616e73666572000000000000000000000060005b600554811015612ad9576005805482908110612a1157fe5b600091825260209091206002909102015460058054600160a060020a039092169163c1786ab291339185908110612a4457fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612aab57600080fd5b6102c65a03f11515612abc57600080fd5b505050604051805190501515612ad157600080fd5b6001016129f9565b84600160a060020a031686600160a060020a031633600160a060020a03167fd4c08afec48fd2cbe49032dc89d3b388b7a4e4f0563a1fdccd73339beb025aa18760405190815260200160405180910390a4600154600160a060020a031663dab0efff87878760006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515612b9657600080fd5b6102c65a03f11515612ba757600080fd5b50505060405180519350505060005b6005548110156119db576005805482908110612bce57fe5b600091825260209091206002909102015460058054600160a060020a0390921691638043154d91339185908110612c0157fe5b9060005260206000209060020201600101548560006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091526044820152606401602060405180830381600087803b1515612c6857600080fd5b6102c65a03f11515612c7957600080fd5b505050604051805190501515612c8e57600080fd5b600101612bb6565b6000602081905290815260409020805460019091015460e060020a0282565b600254600160a060020a031681565b815481835581811511612cf057600202816002028360005260206000209182019101612cf09190612d0c565b505050565b604080519081016040526000808252602082015290565b6116a891905b80821115612d4457805473ffffffffffffffffffffffffffffffffffffffff1916815560006001820155600201612d12565b50905600a165627a7a72305820dd116b5e90268296fdc2bc988612d105652e5b1711df18c0cebc2a012ff6d7680029a165627a7a723058205c52fb6c93fa2bb2a32d2ab1b1e64c3d76c03b7ec59f3c20ebe68a31459e7f450029", + "sourceMap": "251:4124:17:-;;;410:47;;;;;;;;-1:-1:-1;;;;;451:4:17;410:47;;;;;;;;;:::i;:::-;;464:44;;;;;;;;505:1;464:44;;;;;;497:10;464:44;:::i;:::-;;539:45;;;;;;;;572:11;539:45;;;;;;;;:::i;:::-;;593:34;;;;;;;;251:4124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;251:4124:17;-1:-1:-1;;;;;251:4124:17;;;;;;;;;;;;;-1:-1:-1;251:4124:17;;;;;;;-1:-1:-1;251:4124:17;;;-1:-1:-1;251:4124:17;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;251:4124:17;;;-1:-1:-1;251:4124:17;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;251:4124:17;;;-1:-1:-1;251:4124:17;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;;251:4124:17;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;251:4124:17;;;;;;;;;;;;;;", + "deployedSourceMap": "251:4124:17:-;;;;;;;;;-1:-1:-1;;;251:4124:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;539:45;;;;;;;;;;;;;;;;;-1:-1:-1;;539:45:17;;;;;;;;;;;;;;410:47;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;410:47:17;;;;;;;;;;;;;;3151:1221;;;;;;;;;;;;;-1:-1:-1;;;;;3151:1221:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3151:1221:17;;-1:-1:-1;3151:1221:17;;-1:-1:-1;;;;;;3151:1221:17;;;1297:1326;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1297:1326:17;;-1:-1:-1;1297:1326:17;;-1:-1:-1;;;;;;1297:1326:17;464:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;539:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;539:45:17;;:::o;410:47::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;410:47:17;;-1:-1:-1;410:47:17;:::o;3151:1221::-;-1:-1:-1;;;;;3500:23:17;;;3589:21;3500:23;;;;;;;;;;;3589:21;;;;3527:10;3500:37;;:23;;:37;3492:46;;;;;;3624:7;-1:-1:-1;;;;;3624:13:17;;:15;;;;;;;;;;;-1:-1:-1;;;3624:15:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3666:1:17;;-1:-1:-1;;3651:532:17;3674:8;:15;3670:1;:19;3651:532;;;3968:4;3973:1;3968:7;;;;;;;;;;;;;;;;:12;3964:126;;4001:10;-1:-1:-1;;;;;4001:40:17;;4042:6;4049:1;4042:9;;;;;;;;;;;;;;;;4053:8;4062:1;4053:11;;;;;;;;;;;;;;;;4066:4;4071:1;4066:7;;;;;;;;;;;;;;;;4001:73;;;;;;;;-1:-1:-1;;;4001:73:17;;;;;;-1:-1:-1;;;;;4001:73:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3964:126:17;4104:10;-1:-1:-1;;;;;4104:25:17;;4130:8;4139:1;4130:11;;;;;;;;;;;;;;;;4143:7;4151:1;4143:10;;;;;;;;;;;;;;;;4155:12;4168:1;4155:15;;;;;;;;;;;;;;;;4104:67;;;;;;;;-1:-1:-1;;;4104:67:17;;;;;;-1:-1:-1;;;;;4104:67:17;;;;;;;;;;;;;;-1:-1:-1;;4104:67:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;3692:3:17;;3651:532;;;4224:10;-1:-1:-1;;;;;4224:27:17;;4252:4;4224:33;;;;;;;;-1:-1:-1;;;4224:33:17;;;;;;-1:-1:-1;;;;;4224:33:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;4302:14:17;;:5;:14;;;;;;;;;;;;4295:21;;-1:-1:-1;;4295:21:17;;;4329:35;;4308:7;;4329:35;-1:-1:-1;;;;;4329:35:17;;;;;;;;;;;;;;3151:1221;;;;;;;;:::o;1297:1326::-;1533:7;1607:21;1680:28;1738:14;1850:21;2194:6;1644:10;1656:12;1631:38;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1607:62:17;;1711:16;;:::i;:::-;;;;;;;;;;;;;;;;;;1680:47;;1766:8;1776:11;1789:16;1755:51;;:::i;:::-;;;;-1:-1:-1;;;;;1755:51:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1738:68;;1889:6;1896:12;1910;1924:11;1874:62;;:::i;:::-;-1:-1:-1;;;;;1874:62:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1874:62:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1874:62:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1850:86;;1979:6;-1:-1:-1;;;;;1979:24:17;;2004:10;1979:36;;-1:-1:-1;;;1979:36:17;;;;;;-1:-1:-1;;;;;1979:36:17;;;;;;;;;-1:-1:-1;1979:36:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2026:11;-1:-1:-1;;;;;2026:29:17;;2056:10;2026:41;;-1:-1:-1;;;2026:41:17;;;;;;-1:-1:-1;;;;;2026:41:17;;;;;;;;;-1:-1:-1;2026:41:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2078:16;-1:-1:-1;;;;;2078:34:17;;2113:10;2078:46;;-1:-1:-1;;;2078:46:17;;;;;;-1:-1:-1;;;;;2078:46:17;;;;;;;;;-1:-1:-1;2078:46:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2203:1;2194:10;;2189:316;2211:9;:16;2207:1;:20;2189:316;;;2256:10;-1:-1:-1;;;;;2256:21:17;;2278:20;2299:1;2278:23;;;;;;;;;;;;;;;;2303:9;2313:1;2303:12;;;;;;;;;;;;;;;;2256:60;;;;;;;;-1:-1:-1;;;2256:60:17;;;;;;;;;;;;;-1:-1:-1;;;;;2256:60:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2255:61;2251:110;;;2337:8;;;2251:110;2380:10;-1:-1:-1;;;;;2380:25:17;;2406;2432:1;2406:28;;;;;;;;;;;;;;;;2436:9;2446:1;2436:12;;;;;;;;;;;;;;;;2380:69;;;;;;;;-1:-1:-1;;;2380:69:17;;;;;;;;;;;;;-1:-1:-1;;;;;2380:69:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2379:70;2375:119;;;2470:8;;;2375:119;2230:3;;2189:316;;;-1:-1:-1;;;;;2517:13:17;;;:5;:13;;;;;;;;;;;;:26;;-1:-1:-1;;2517:26:17;2533:10;2517:26;;;;;;;;;;2556:24;;2517:13;;2556:24;-1:-1:-1;;;;;2556:24:17;;;;;;;;;;;;;;-1:-1:-1;2607:6:17;;1297:1326;-1:-1:-1;;;;;;;;;;1297:1326:17:o;464:44::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;464:44:17;:::o;251:4124::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../controller/Avatar.sol\";\r\nimport \"../controller/Controller.sol\";\r\nimport \"../controller/DAOToken.sol\";\r\nimport \"../controller/Reputation.sol\";\r\n\r\n\r\n/**\r\n * @title Genesis Scheme that creates organizations\r\n */\r\n\r\ncontract GenesisScheme {\r\n\r\n mapping(address=>address) locks;\r\n\r\n event NewOrg (address _avatar);\r\n event InitialSchemesSet (address _avatar);\r\n\r\n address[] public addressArray = [address(this)];\r\n bytes32[] public bytes32Array = [bytes32(0)];\r\n //full permissions\r\n bytes4[] public bytes4Array = [bytes4(0xF)];\r\n\r\n function GenesisScheme() public {}\r\n\r\n /**\r\n * @dev Create a new organization\r\n * @param _orgName The name of the new organization\r\n * @param _tokenName The name of the token associated with the organization\r\n * @param _tokenSymbol The symbol of the token\r\n * @param _founders An array with the addresses of the founders of the organization\r\n * @param _foundersTokenAmount An array of amount of tokens that the founders\r\n * receive in the new organization\r\n * @param _foundersReputationAmount An array of amount of reputation that the\r\n * founders receive in the new organization\r\n *\r\n * @return The address of the avatar of the controller\r\n */\r\n function forgeOrg (\r\n bytes32 _orgName,\r\n string _tokenName,\r\n string _tokenSymbol,\r\n address[] _founders,\r\n uint[] _foundersTokenAmount,\r\n int[] _foundersReputationAmount\r\n ) public returns(address)\r\n {\r\n // Create Token, Reputation and Avatar:\r\n DAOToken nativeToken = new DAOToken(_tokenName, _tokenSymbol);\r\n Reputation nativeReputation = new Reputation();\r\n Avatar avatar = new Avatar(_orgName, nativeToken, nativeReputation);\r\n\r\n // Create Controller:\r\n Controller controller = new Controller(avatar,addressArray, bytes32Array, bytes4Array);\r\n // Transfer ownership:\r\n avatar.transferOwnership(controller);\r\n nativeToken.transferOwnership(controller);\r\n nativeReputation.transferOwnership(controller);\r\n\r\n // Mint token and reputation for founders:\r\n for (uint i = 0 ; i < _founders.length ; i++ ) {\r\n if (!controller.mintTokens(_foundersTokenAmount[i], _founders[i])) {\r\n revert();\r\n }\r\n if (!controller.mintReputation(_foundersReputationAmount[i], _founders[i])) {\r\n revert();\r\n }\r\n }\r\n\r\n locks[avatar] = msg.sender;\r\n\r\n NewOrg (address(avatar));\r\n return (address(avatar));\r\n }\r\n\r\n /**\r\n * @dev Set initial schemes for the organization.\r\n * @param _avatar organization avatar (returns from forgeOrg)\r\n * @param _schemes the schemes to register for the organization\r\n * @param _params the schemes's params\r\n * @param _token the tokens these schemes are using and will be allowed to\r\n * spend on behalf of the organization's avatar\r\n * @param _fee the allowance fee for the schemes to spend.\r\n * @param _permissions the schemes permissins.\r\n */\r\n function setSchemes (\r\n Avatar _avatar,\r\n address[] _schemes,\r\n bytes32[] _params,\r\n StandardToken[] _token,\r\n uint[] _fee,\r\n bytes4[] _permissions\r\n )\r\n public\r\n {\r\n // this action can only be executed by the account that holds the lock\r\n // for this controller\r\n require(locks[address(_avatar)] == msg.sender);\r\n\r\n // register initial schemes:\r\n Controller controller = Controller(_avatar.owner());\r\n for ( uint i = 0 ; i < _schemes.length ; i++ ) {\r\n // TODO: the approval here is for paying the fee for that scheme later (with registerOrganization())\r\n // TODO: (continued) why not have that separate? And why not ask the scheme for its fee, then, instead of passing it here?\r\n if (_fee[i] != 0) {\r\n controller.externalTokenIncreaseApproval(_token[i], _schemes[i], _fee[i]);\r\n }\r\n controller.registerScheme(_schemes[i], _params[i], _permissions[i]);\r\n }\r\n\r\n // Unregister self:\r\n controller.unregisterScheme(this);\r\n\r\n // Remove lock:\r\n delete locks[_avatar];\r\n\r\n InitialSchemesSet(address(_avatar));\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\GenesisScheme.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/GenesisScheme.sol", + "exportedSymbols": { + "GenesisScheme": [ + 5437 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 5157, + "name": "PragmaDirective", + "src": "0:24:17" + }, + { + "attributes": { + "SourceUnit": 3073, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Avatar.sol", + "file": "../controller/Avatar.sol", + "scope": 5438, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 5158, + "name": "ImportDirective", + "src": "28:34:17" + }, + { + "attributes": { + "SourceUnit": 4158, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Controller.sol", + "file": "../controller/Controller.sol", + "scope": 5438, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 5159, + "name": "ImportDirective", + "src": "64:38:17" + }, + { + "attributes": { + "SourceUnit": 4193, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/DAOToken.sol", + "file": "../controller/DAOToken.sol", + "scope": 5438, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 5160, + "name": "ImportDirective", + "src": "104:36:17" + }, + { + "attributes": { + "SourceUnit": 4358, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Reputation.sol", + "file": "../controller/Reputation.sol", + "scope": 5438, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 5161, + "name": "ImportDirective", + "src": "142:38:17" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + 3072, + 4157, + 4192, + 4357 + ], + "contractKind": "contract", + "documentation": "@title Genesis Scheme that creates organizations\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 5437 + ], + "name": "GenesisScheme", + "scope": 5438 + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "locks", + "scope": 5437, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => address)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => address)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5162, + "name": "ElementaryTypeName", + "src": "291:7:17" + }, + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5163, + "name": "ElementaryTypeName", + "src": "300:7:17" + } + ], + "id": 5164, + "name": "Mapping", + "src": "283:25:17" + } + ], + "id": 5165, + "name": "VariableDeclaration", + "src": "283:31:17" + }, + { + "attributes": { + "anonymous": false, + "name": "NewOrg" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_avatar", + "scope": 5169, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5166, + "name": "ElementaryTypeName", + "src": "337:7:17" + } + ], + "id": 5167, + "name": "VariableDeclaration", + "src": "337:15:17" + } + ], + "id": 5168, + "name": "ParameterList", + "src": "336:17:17" + } + ], + "id": 5169, + "name": "EventDefinition", + "src": "323:31:17" + }, + { + "attributes": { + "anonymous": false, + "name": "InitialSchemesSet" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_avatar", + "scope": 5173, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5170, + "name": "ElementaryTypeName", + "src": "385:7:17" + } + ], + "id": 5171, + "name": "VariableDeclaration", + "src": "385:15:17" + } + ], + "id": 5172, + "name": "ParameterList", + "src": "384:17:17" + } + ], + "id": 5173, + "name": "EventDefinition", + "src": "360:42:17" + }, + { + "attributes": { + "constant": false, + "name": "addressArray", + "scope": 5437, + "stateVariable": true, + "storageLocation": "default", + "type": "address[] storage ref", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5174, + "name": "ElementaryTypeName", + "src": "410:7:17" + } + ], + "id": 5175, + "name": "ArrayTypeName", + "src": "410:9:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "address[1] memory" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_GenesisScheme_$5437", + "typeString": "contract GenesisScheme" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 5176, + "name": "ElementaryTypeNameExpression", + "src": "443:7:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9807, + "type": "contract GenesisScheme", + "value": "this" + }, + "id": 5177, + "name": "Identifier", + "src": "451:4:17" + } + ], + "id": 5178, + "name": "FunctionCall", + "src": "443:13:17" + } + ], + "id": 5179, + "name": "TupleExpression", + "src": "442:15:17" + } + ], + "id": 5180, + "name": "VariableDeclaration", + "src": "410:47:17" + }, + { + "attributes": { + "constant": false, + "name": "bytes32Array", + "scope": 5437, + "stateVariable": true, + "storageLocation": "default", + "type": "bytes32[] storage ref", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5181, + "name": "ElementaryTypeName", + "src": "464:7:17" + } + ], + "id": 5182, + "name": "ArrayTypeName", + "src": "464:9:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "bytes32[1] memory" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 5183, + "name": "ElementaryTypeNameExpression", + "src": "497:7:17" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5184, + "name": "Literal", + "src": "505:1:17" + } + ], + "id": 5185, + "name": "FunctionCall", + "src": "497:10:17" + } + ], + "id": 5186, + "name": "TupleExpression", + "src": "496:12:17" + } + ], + "id": 5187, + "name": "VariableDeclaration", + "src": "464:44:17" + }, + { + "attributes": { + "constant": false, + "name": "bytes4Array", + "scope": 5437, + "stateVariable": true, + "storageLocation": "default", + "type": "bytes4[] storage ref", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes4[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes4", + "type": "bytes4" + }, + "id": 5188, + "name": "ElementaryTypeName", + "src": "539:6:17" + } + ], + "id": 5189, + "name": "ArrayTypeName", + "src": "539:8:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": true, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "bytes4[1] memory" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 5190, + "name": "ElementaryTypeNameExpression", + "src": "572:6:17" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "307846", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 15", + "value": "0xF" + }, + "id": 5191, + "name": "Literal", + "src": "579:3:17" + } + ], + "id": 5192, + "name": "FunctionCall", + "src": "572:11:17" + } + ], + "id": 5193, + "name": "TupleExpression", + "src": "571:13:17" + } + ], + "id": 5194, + "name": "VariableDeclaration", + "src": "539:45:17" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "GenesisScheme", + "payable": false, + "scope": 5437, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 5195, + "name": "ParameterList", + "src": "615:2:17" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 5196, + "name": "ParameterList", + "src": "625:0:17" + }, + { + "attributes": { + "statements": [ + null + ] + }, + "children": [], + "id": 5197, + "name": "Block", + "src": "625:2:17" + } + ], + "id": 5198, + "name": "FunctionDefinition", + "src": "593:34:17" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "forgeOrg", + "payable": false, + "scope": 5437, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_orgName", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5199, + "name": "ElementaryTypeName", + "src": "1326:7:17" + } + ], + "id": 5200, + "name": "VariableDeclaration", + "src": "1326:16:17" + }, + { + "attributes": { + "constant": false, + "name": "_tokenName", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "string memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string storage pointer" + }, + "id": 5201, + "name": "ElementaryTypeName", + "src": "1353:6:17" + } + ], + "id": 5202, + "name": "VariableDeclaration", + "src": "1353:17:17" + }, + { + "attributes": { + "constant": false, + "name": "_tokenSymbol", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "string memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "string", + "type": "string storage pointer" + }, + "id": 5203, + "name": "ElementaryTypeName", + "src": "1381:6:17" + } + ], + "id": 5204, + "name": "VariableDeclaration", + "src": "1381:19:17" + }, + { + "attributes": { + "constant": false, + "name": "_founders", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "address[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5205, + "name": "ElementaryTypeName", + "src": "1411:7:17" + } + ], + "id": 5206, + "name": "ArrayTypeName", + "src": "1411:9:17" + } + ], + "id": 5207, + "name": "VariableDeclaration", + "src": "1411:19:17" + }, + { + "attributes": { + "constant": false, + "name": "_foundersTokenAmount", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "uint256[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5208, + "name": "ElementaryTypeName", + "src": "1441:4:17" + } + ], + "id": 5209, + "name": "ArrayTypeName", + "src": "1441:6:17" + } + ], + "id": 5210, + "name": "VariableDeclaration", + "src": "1441:27:17" + }, + { + "attributes": { + "constant": false, + "name": "_foundersReputationAmount", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "int256[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "int256[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 5211, + "name": "ElementaryTypeName", + "src": "1479:3:17" + } + ], + "id": 5212, + "name": "ArrayTypeName", + "src": "1479:5:17" + } + ], + "id": 5213, + "name": "VariableDeclaration", + "src": "1479:31:17" + } + ], + "id": 5214, + "name": "ParameterList", + "src": "1315:202:17" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5215, + "name": "ElementaryTypeName", + "src": "1533:7:17" + } + ], + "id": 5216, + "name": "VariableDeclaration", + "src": "1533:7:17" + } + ], + "id": 5217, + "name": "ParameterList", + "src": "1532:9:17" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 5219 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "nativeToken", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "contract DAOToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "DAOToken", + "referencedDeclaration": 4192, + "type": "contract DAOToken" + }, + "id": 5218, + "name": "UserDefinedTypeName", + "src": "1607:8:17" + } + ], + "id": 5219, + "name": "VariableDeclaration", + "src": "1607:21:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract DAOToken", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "function (string memory,string memory) returns (contract DAOToken)" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "DAOToken", + "referencedDeclaration": 4192, + "type": "contract DAOToken" + }, + "id": 5220, + "name": "UserDefinedTypeName", + "src": "1635:8:17" + } + ], + "id": 5221, + "name": "NewExpression", + "src": "1631:12:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5202, + "type": "string memory", + "value": "_tokenName" + }, + "id": 5222, + "name": "Identifier", + "src": "1644:10:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5204, + "type": "string memory", + "value": "_tokenSymbol" + }, + "id": 5223, + "name": "Identifier", + "src": "1656:12:17" + } + ], + "id": 5224, + "name": "FunctionCall", + "src": "1631:38:17" + } + ], + "id": 5225, + "name": "VariableDeclarationStatement", + "src": "1607:62:17" + }, + { + "attributes": { + "assignments": [ + 5227 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "nativeReputation", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Reputation", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 5226, + "name": "UserDefinedTypeName", + "src": "1680:10:17" + } + ], + "id": 5227, + "name": "VariableDeclaration", + "src": "1680:28:17" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Reputation", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "function () returns (contract Reputation)" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Reputation", + "referencedDeclaration": 4357, + "type": "contract Reputation" + }, + "id": 5228, + "name": "UserDefinedTypeName", + "src": "1715:10:17" + } + ], + "id": 5229, + "name": "NewExpression", + "src": "1711:14:17" + } + ], + "id": 5230, + "name": "FunctionCall", + "src": "1711:16:17" + } + ], + "id": 5231, + "name": "VariableDeclarationStatement", + "src": "1680:47:17" + }, + { + "attributes": { + "assignments": [ + 5233 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "avatar", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 5232, + "name": "UserDefinedTypeName", + "src": "1738:6:17" + } + ], + "id": 5233, + "name": "VariableDeclaration", + "src": "1738:14:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_DAOToken_$4192", + "typeString": "contract DAOToken" + }, + { + "typeIdentifier": "t_contract$_Reputation_$4357", + "typeString": "contract Reputation" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "function (bytes32,contract DAOToken,contract Reputation) returns (contract Avatar)" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 5234, + "name": "UserDefinedTypeName", + "src": "1759:6:17" + } + ], + "id": 5235, + "name": "NewExpression", + "src": "1755:10:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5200, + "type": "bytes32", + "value": "_orgName" + }, + "id": 5236, + "name": "Identifier", + "src": "1766:8:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5219, + "type": "contract DAOToken", + "value": "nativeToken" + }, + "id": 5237, + "name": "Identifier", + "src": "1776:11:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5227, + "type": "contract Reputation", + "value": "nativeReputation" + }, + "id": 5238, + "name": "Identifier", + "src": "1789:16:17" + } + ], + "id": 5239, + "name": "FunctionCall", + "src": "1755:51:17" + } + ], + "id": 5240, + "name": "VariableDeclarationStatement", + "src": "1738:68:17" + }, + { + "attributes": { + "assignments": [ + 5242 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 5241, + "name": "UserDefinedTypeName", + "src": "1850:10:17" + } + ], + "id": 5242, + "name": "VariableDeclaration", + "src": "1850:21:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_array$_t_address_$dyn_storage", + "typeString": "address[] storage ref" + }, + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_storage", + "typeString": "bytes32[] storage ref" + }, + { + "typeIdentifier": "t_array$_t_bytes4_$dyn_storage", + "typeString": "bytes4[] storage ref" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "function (contract Avatar,address[] memory,bytes32[] memory,bytes4[] memory) returns (contract Controller)" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 5243, + "name": "UserDefinedTypeName", + "src": "1878:10:17" + } + ], + "id": 5244, + "name": "NewExpression", + "src": "1874:14:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5233, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 5245, + "name": "Identifier", + "src": "1889:6:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5180, + "type": "address[] storage ref", + "value": "addressArray" + }, + "id": 5246, + "name": "Identifier", + "src": "1896:12:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5187, + "type": "bytes32[] storage ref", + "value": "bytes32Array" + }, + "id": 5247, + "name": "Identifier", + "src": "1910:12:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5194, + "type": "bytes4[] storage ref", + "value": "bytes4Array" + }, + "id": 5248, + "name": "Identifier", + "src": "1924:11:17" + } + ], + "id": 5249, + "name": "FunctionCall", + "src": "1874:62:17" + } + ], + "id": 5250, + "name": "VariableDeclarationStatement", + "src": "1850:86:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Controller_$4157", + "typeString": "contract Controller" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferOwnership", + "referencedDeclaration": 9139, + "type": "function (address) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5233, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 5251, + "name": "Identifier", + "src": "1979:6:17" + } + ], + "id": 5253, + "name": "MemberAccess", + "src": "1979:24:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5242, + "type": "contract Controller", + "value": "controller" + }, + "id": 5254, + "name": "Identifier", + "src": "2004:10:17" + } + ], + "id": 5255, + "name": "FunctionCall", + "src": "1979:36:17" + } + ], + "id": 5256, + "name": "ExpressionStatement", + "src": "1979:36:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Controller_$4157", + "typeString": "contract Controller" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferOwnership", + "referencedDeclaration": 9139, + "type": "function (address) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5219, + "type": "contract DAOToken", + "value": "nativeToken" + }, + "id": 5257, + "name": "Identifier", + "src": "2026:11:17" + } + ], + "id": 5259, + "name": "MemberAccess", + "src": "2026:29:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5242, + "type": "contract Controller", + "value": "controller" + }, + "id": 5260, + "name": "Identifier", + "src": "2056:10:17" + } + ], + "id": 5261, + "name": "FunctionCall", + "src": "2026:41:17" + } + ], + "id": 5262, + "name": "ExpressionStatement", + "src": "2026:41:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Controller_$4157", + "typeString": "contract Controller" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferOwnership", + "referencedDeclaration": 9139, + "type": "function (address) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5227, + "type": "contract Reputation", + "value": "nativeReputation" + }, + "id": 5263, + "name": "Identifier", + "src": "2078:16:17" + } + ], + "id": 5265, + "name": "MemberAccess", + "src": "2078:34:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5242, + "type": "contract Controller", + "value": "controller" + }, + "id": 5266, + "name": "Identifier", + "src": "2113:10:17" + } + ], + "id": 5267, + "name": "FunctionCall", + "src": "2078:46:17" + } + ], + "id": 5268, + "name": "ExpressionStatement", + "src": "2078:46:17" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 5270 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 5331, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5269, + "name": "ElementaryTypeName", + "src": "2194:4:17" + } + ], + "id": 5270, + "name": "VariableDeclaration", + "src": "2194:6:17" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5271, + "name": "Literal", + "src": "2203:1:17" + } + ], + "id": 5272, + "name": "VariableDeclarationStatement", + "src": "2194:10:17" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5270, + "type": "uint256", + "value": "i" + }, + "id": 5273, + "name": "Identifier", + "src": "2207:1:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5207, + "type": "address[] memory", + "value": "_founders" + }, + "id": 5274, + "name": "Identifier", + "src": "2211:9:17" + } + ], + "id": 5275, + "name": "MemberAccess", + "src": "2211:16:17" + } + ], + "id": 5276, + "name": "BinaryOperation", + "src": "2207:20:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5270, + "type": "uint256", + "value": "i" + }, + "id": 5277, + "name": "Identifier", + "src": "2230:1:17" + } + ], + "id": 5278, + "name": "UnaryOperation", + "src": "2230:3:17" + } + ], + "id": 5279, + "name": "ExpressionStatement", + "src": "2230:3:17" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mintTokens", + "referencedDeclaration": 3502, + "type": "function (uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5242, + "type": "contract Controller", + "value": "controller" + }, + "id": 5280, + "name": "Identifier", + "src": "2256:10:17" + } + ], + "id": 5281, + "name": "MemberAccess", + "src": "2256:21:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5210, + "type": "uint256[] memory", + "value": "_foundersTokenAmount" + }, + "id": 5282, + "name": "Identifier", + "src": "2278:20:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5270, + "type": "uint256", + "value": "i" + }, + "id": 5283, + "name": "Identifier", + "src": "2299:1:17" + } + ], + "id": 5284, + "name": "IndexAccess", + "src": "2278:23:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5207, + "type": "address[] memory", + "value": "_founders" + }, + "id": 5285, + "name": "Identifier", + "src": "2303:9:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5270, + "type": "uint256", + "value": "i" + }, + "id": 5286, + "name": "Identifier", + "src": "2313:1:17" + } + ], + "id": 5287, + "name": "IndexAccess", + "src": "2303:12:17" + } + ], + "id": 5288, + "name": "FunctionCall", + "src": "2256:60:17" + } + ], + "id": 5289, + "name": "UnaryOperation", + "src": "2255:61:17" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 5290, + "name": "Identifier", + "src": "2337:6:17" + } + ], + "id": 5291, + "name": "FunctionCall", + "src": "2337:8:17" + } + ], + "id": 5292, + "name": "ExpressionStatement", + "src": "2337:8:17" + } + ], + "id": 5293, + "name": "Block", + "src": "2318:43:17" + } + ], + "id": 5294, + "name": "IfStatement", + "src": "2251:110:17" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mintReputation", + "referencedDeclaration": 3474, + "type": "function (int256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5242, + "type": "contract Controller", + "value": "controller" + }, + "id": 5295, + "name": "Identifier", + "src": "2380:10:17" + } + ], + "id": 5296, + "name": "MemberAccess", + "src": "2380:25:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "int256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5213, + "type": "int256[] memory", + "value": "_foundersReputationAmount" + }, + "id": 5297, + "name": "Identifier", + "src": "2406:25:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5270, + "type": "uint256", + "value": "i" + }, + "id": 5298, + "name": "Identifier", + "src": "2432:1:17" + } + ], + "id": 5299, + "name": "IndexAccess", + "src": "2406:28:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5207, + "type": "address[] memory", + "value": "_founders" + }, + "id": 5300, + "name": "Identifier", + "src": "2436:9:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5270, + "type": "uint256", + "value": "i" + }, + "id": 5301, + "name": "Identifier", + "src": "2446:1:17" + } + ], + "id": 5302, + "name": "IndexAccess", + "src": "2436:12:17" + } + ], + "id": 5303, + "name": "FunctionCall", + "src": "2380:69:17" + } + ], + "id": 5304, + "name": "UnaryOperation", + "src": "2379:70:17" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 5305, + "name": "Identifier", + "src": "2470:6:17" + } + ], + "id": 5306, + "name": "FunctionCall", + "src": "2470:8:17" + } + ], + "id": 5307, + "name": "ExpressionStatement", + "src": "2470:8:17" + } + ], + "id": 5308, + "name": "Block", + "src": "2451:43:17" + } + ], + "id": 5309, + "name": "IfStatement", + "src": "2375:119:17" + } + ], + "id": 5310, + "name": "Block", + "src": "2236:269:17" + } + ], + "id": 5311, + "name": "ForStatement", + "src": "2189:316:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5165, + "type": "mapping(address => address)", + "value": "locks" + }, + "id": 5312, + "name": "Identifier", + "src": "2517:5:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5233, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 5313, + "name": "Identifier", + "src": "2523:6:17" + } + ], + "id": 5314, + "name": "IndexAccess", + "src": "2517:13:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 5315, + "name": "Identifier", + "src": "2533:3:17" + } + ], + "id": 5316, + "name": "MemberAccess", + "src": "2533:10:17" + } + ], + "id": 5317, + "name": "Assignment", + "src": "2517:26:17" + } + ], + "id": 5318, + "name": "ExpressionStatement", + "src": "2517:26:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5169, + "type": "function (address)", + "value": "NewOrg" + }, + "id": 5319, + "name": "Identifier", + "src": "2556:6:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 5320, + "name": "ElementaryTypeNameExpression", + "src": "2564:7:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5233, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 5321, + "name": "Identifier", + "src": "2572:6:17" + } + ], + "id": 5322, + "name": "FunctionCall", + "src": "2564:15:17" + } + ], + "id": 5323, + "name": "FunctionCall", + "src": "2556:24:17" + } + ], + "id": 5324, + "name": "ExpressionStatement", + "src": "2556:24:17" + }, + { + "attributes": { + "functionReturnParameters": 5217 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 5325, + "name": "ElementaryTypeNameExpression", + "src": "2599:7:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5233, + "type": "contract Avatar", + "value": "avatar" + }, + "id": 5326, + "name": "Identifier", + "src": "2607:6:17" + } + ], + "id": 5327, + "name": "FunctionCall", + "src": "2599:15:17" + } + ], + "id": 5328, + "name": "TupleExpression", + "src": "2598:17:17" + } + ], + "id": 5329, + "name": "Return", + "src": "2591:24:17" + } + ], + "id": 5330, + "name": "Block", + "src": "1547:1076:17" + } + ], + "id": 5331, + "name": "FunctionDefinition", + "src": "1297:1326:17" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setSchemes", + "payable": false, + "scope": 5437, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 5436, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 5332, + "name": "UserDefinedTypeName", + "src": "3182:6:17" + } + ], + "id": 5333, + "name": "VariableDeclaration", + "src": "3182:14:17" + }, + { + "attributes": { + "constant": false, + "name": "_schemes", + "scope": 5436, + "stateVariable": false, + "storageLocation": "default", + "type": "address[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5334, + "name": "ElementaryTypeName", + "src": "3207:7:17" + } + ], + "id": 5335, + "name": "ArrayTypeName", + "src": "3207:9:17" + } + ], + "id": 5336, + "name": "VariableDeclaration", + "src": "3207:18:17" + }, + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 5436, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5337, + "name": "ElementaryTypeName", + "src": "3236:7:17" + } + ], + "id": 5338, + "name": "ArrayTypeName", + "src": "3236:9:17" + } + ], + "id": 5339, + "name": "VariableDeclaration", + "src": "3236:17:17" + }, + { + "attributes": { + "constant": false, + "name": "_token", + "scope": 5436, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "contract StandardToken[] storage pointer" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 5340, + "name": "UserDefinedTypeName", + "src": "3264:13:17" + } + ], + "id": 5341, + "name": "ArrayTypeName", + "src": "3264:15:17" + } + ], + "id": 5342, + "name": "VariableDeclaration", + "src": "3264:22:17" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 5436, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "uint256[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5343, + "name": "ElementaryTypeName", + "src": "3297:4:17" + } + ], + "id": 5344, + "name": "ArrayTypeName", + "src": "3297:6:17" + } + ], + "id": 5345, + "name": "VariableDeclaration", + "src": "3297:11:17" + }, + { + "attributes": { + "constant": false, + "name": "_permissions", + "scope": 5436, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes4[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes4[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes4", + "type": "bytes4" + }, + "id": 5346, + "name": "ElementaryTypeName", + "src": "3319:6:17" + } + ], + "id": 5347, + "name": "ArrayTypeName", + "src": "3319:8:17" + } + ], + "id": 5348, + "name": "VariableDeclaration", + "src": "3319:21:17" + } + ], + "id": 5349, + "name": "ParameterList", + "src": "3171:176:17" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 5350, + "name": "ParameterList", + "src": "3369:0:17" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 5351, + "name": "Identifier", + "src": "3492:7:17" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5165, + "type": "mapping(address => address)", + "value": "locks" + }, + "id": 5352, + "name": "Identifier", + "src": "3500:5:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 5353, + "name": "ElementaryTypeNameExpression", + "src": "3506:7:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5333, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5354, + "name": "Identifier", + "src": "3514:7:17" + } + ], + "id": 5355, + "name": "FunctionCall", + "src": "3506:16:17" + } + ], + "id": 5356, + "name": "IndexAccess", + "src": "3500:23:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 5357, + "name": "Identifier", + "src": "3527:3:17" + } + ], + "id": 5358, + "name": "MemberAccess", + "src": "3527:10:17" + } + ], + "id": 5359, + "name": "BinaryOperation", + "src": "3500:37:17" + } + ], + "id": 5360, + "name": "FunctionCall", + "src": "3492:46:17" + } + ], + "id": 5361, + "name": "ExpressionStatement", + "src": "3492:46:17" + }, + { + "attributes": { + "assignments": [ + 5363 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 5436, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 5362, + "name": "UserDefinedTypeName", + "src": "3589:10:17" + } + ], + "id": 5363, + "name": "VariableDeclaration", + "src": "3589:21:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 5364, + "name": "Identifier", + "src": "3613:10:17" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5333, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5365, + "name": "Identifier", + "src": "3624:7:17" + } + ], + "id": 5366, + "name": "MemberAccess", + "src": "3624:13:17" + } + ], + "id": 5367, + "name": "FunctionCall", + "src": "3624:15:17" + } + ], + "id": 5368, + "name": "FunctionCall", + "src": "3613:27:17" + } + ], + "id": 5369, + "name": "VariableDeclarationStatement", + "src": "3589:51:17" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 5371 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "i", + "scope": 5436, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5370, + "name": "ElementaryTypeName", + "src": "3657:4:17" + } + ], + "id": 5371, + "name": "VariableDeclaration", + "src": "3657:6:17" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5372, + "name": "Literal", + "src": "3666:1:17" + } + ], + "id": 5373, + "name": "VariableDeclarationStatement", + "src": "3657:10:17" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5371, + "type": "uint256", + "value": "i" + }, + "id": 5374, + "name": "Identifier", + "src": "3670:1:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5336, + "type": "address[] memory", + "value": "_schemes" + }, + "id": 5375, + "name": "Identifier", + "src": "3674:8:17" + } + ], + "id": 5376, + "name": "MemberAccess", + "src": "3674:15:17" + } + ], + "id": 5377, + "name": "BinaryOperation", + "src": "3670:19:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5371, + "type": "uint256", + "value": "i" + }, + "id": 5378, + "name": "Identifier", + "src": "3692:1:17" + } + ], + "id": 5379, + "name": "UnaryOperation", + "src": "3692:3:17" + } + ], + "id": 5380, + "name": "ExpressionStatement", + "src": "3692:3:17" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5345, + "type": "uint256[] memory", + "value": "_fee" + }, + "id": 5381, + "name": "Identifier", + "src": "3968:4:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5371, + "type": "uint256", + "value": "i" + }, + "id": 5382, + "name": "Identifier", + "src": "3973:1:17" + } + ], + "id": 5383, + "name": "IndexAccess", + "src": "3968:7:17" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5384, + "name": "Literal", + "src": "3979:1:17" + } + ], + "id": 5385, + "name": "BinaryOperation", + "src": "3968:12:17" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "externalTokenIncreaseApproval", + "referencedDeclaration": 4124, + "type": "function (contract StandardToken,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5363, + "type": "contract Controller", + "value": "controller" + }, + "id": 5386, + "name": "Identifier", + "src": "4001:10:17" + } + ], + "id": 5388, + "name": "MemberAccess", + "src": "4001:40:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5342, + "type": "contract StandardToken[] memory", + "value": "_token" + }, + "id": 5389, + "name": "Identifier", + "src": "4042:6:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5371, + "type": "uint256", + "value": "i" + }, + "id": 5390, + "name": "Identifier", + "src": "4049:1:17" + } + ], + "id": 5391, + "name": "IndexAccess", + "src": "4042:9:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5336, + "type": "address[] memory", + "value": "_schemes" + }, + "id": 5392, + "name": "Identifier", + "src": "4053:8:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5371, + "type": "uint256", + "value": "i" + }, + "id": 5393, + "name": "Identifier", + "src": "4062:1:17" + } + ], + "id": 5394, + "name": "IndexAccess", + "src": "4053:11:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5345, + "type": "uint256[] memory", + "value": "_fee" + }, + "id": 5395, + "name": "Identifier", + "src": "4066:4:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5371, + "type": "uint256", + "value": "i" + }, + "id": 5396, + "name": "Identifier", + "src": "4071:1:17" + } + ], + "id": 5397, + "name": "IndexAccess", + "src": "4066:7:17" + } + ], + "id": 5398, + "name": "FunctionCall", + "src": "4001:73:17" + } + ], + "id": 5399, + "name": "ExpressionStatement", + "src": "4001:73:17" + } + ], + "id": 5400, + "name": "Block", + "src": "3982:108:17" + } + ], + "id": 5401, + "name": "IfStatement", + "src": "3964:126:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "registerScheme", + "referencedDeclaration": 3597, + "type": "function (address,bytes32,bytes4) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5363, + "type": "contract Controller", + "value": "controller" + }, + "id": 5402, + "name": "Identifier", + "src": "4104:10:17" + } + ], + "id": 5404, + "name": "MemberAccess", + "src": "4104:25:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5336, + "type": "address[] memory", + "value": "_schemes" + }, + "id": 5405, + "name": "Identifier", + "src": "4130:8:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5371, + "type": "uint256", + "value": "i" + }, + "id": 5406, + "name": "Identifier", + "src": "4139:1:17" + } + ], + "id": 5407, + "name": "IndexAccess", + "src": "4130:11:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5339, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 5408, + "name": "Identifier", + "src": "4143:7:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5371, + "type": "uint256", + "value": "i" + }, + "id": 5409, + "name": "Identifier", + "src": "4151:1:17" + } + ], + "id": 5410, + "name": "IndexAccess", + "src": "4143:10:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes4" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5348, + "type": "bytes4[] memory", + "value": "_permissions" + }, + "id": 5411, + "name": "Identifier", + "src": "4155:12:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5371, + "type": "uint256", + "value": "i" + }, + "id": 5412, + "name": "Identifier", + "src": "4168:1:17" + } + ], + "id": 5413, + "name": "IndexAccess", + "src": "4155:15:17" + } + ], + "id": 5414, + "name": "FunctionCall", + "src": "4104:67:17" + } + ], + "id": 5415, + "name": "ExpressionStatement", + "src": "4104:67:17" + } + ], + "id": 5416, + "name": "Block", + "src": "3698:485:17" + } + ], + "id": 5417, + "name": "ForStatement", + "src": "3651:532:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_GenesisScheme_$5437", + "typeString": "contract GenesisScheme" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "unregisterScheme", + "referencedDeclaration": 3663, + "type": "function (address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5363, + "type": "contract Controller", + "value": "controller" + }, + "id": 5418, + "name": "Identifier", + "src": "4224:10:17" + } + ], + "id": 5420, + "name": "MemberAccess", + "src": "4224:27:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9807, + "type": "contract GenesisScheme", + "value": "this" + }, + "id": 5421, + "name": "Identifier", + "src": "4252:4:17" + } + ], + "id": 5422, + "name": "FunctionCall", + "src": "4224:33:17" + } + ], + "id": 5423, + "name": "ExpressionStatement", + "src": "4224:33:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5165, + "type": "mapping(address => address)", + "value": "locks" + }, + "id": 5424, + "name": "Identifier", + "src": "4302:5:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5333, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5425, + "name": "Identifier", + "src": "4308:7:17" + } + ], + "id": 5426, + "name": "IndexAccess", + "src": "4302:14:17" + } + ], + "id": 5427, + "name": "UnaryOperation", + "src": "4295:21:17" + } + ], + "id": 5428, + "name": "ExpressionStatement", + "src": "4295:21:17" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5173, + "type": "function (address)", + "value": "InitialSchemesSet" + }, + "id": 5429, + "name": "Identifier", + "src": "4329:17:17" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 5430, + "name": "ElementaryTypeNameExpression", + "src": "4347:7:17" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5333, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5431, + "name": "Identifier", + "src": "4355:7:17" + } + ], + "id": 5432, + "name": "FunctionCall", + "src": "4347:16:17" + } + ], + "id": 5433, + "name": "FunctionCall", + "src": "4329:35:17" + } + ], + "id": 5434, + "name": "ExpressionStatement", + "src": "4329:35:17" + } + ], + "id": 5435, + "name": "Block", + "src": "3369:1003:17" + } + ], + "id": 5436, + "name": "FunctionDefinition", + "src": "3151:1221:17" + } + ], + "id": 5437, + "name": "ContractDefinition", + "src": "251:4124:17" + } + ], + "id": 5438, + "name": "SourceUnit", + "src": "0:4377:17" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "42": { + "events": { + "0x244496352f5e67e59ce96b4a53ef9ea7cb88b7db33eb13dc5e771bd04385a60e": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "NewOrg", + "type": "event" + }, + "0x9007c9042f12be953f7dbe3909f56c3f088e9fe294dbebbef4a67afa63462b6a": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "InitialSchemesSet", + "type": "event" + } + }, + "links": {}, + "address": "0xacc896e001b51158fb99c0245994a5c109c3355d" + }, + "1512051714758": { + "events": { + "0x244496352f5e67e59ce96b4a53ef9ea7cb88b7db33eb13dc5e771bd04385a60e": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "NewOrg", + "type": "event" + }, + "0x9007c9042f12be953f7dbe3909f56c3f088e9fe294dbebbef4a67afa63462b6a": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "InitialSchemesSet", + "type": "event" + } + }, + "links": {}, + "address": "0xee7e8095b255a94af5566d19af08265d12705285" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.922Z" +} \ No newline at end of file diff --git a/contracts/GlobalConstraintInterface.json b/contracts/GlobalConstraintInterface.json new file mode 100644 index 000000000..beab26535 --- /dev/null +++ b/contracts/GlobalConstraintInterface.json @@ -0,0 +1,403 @@ +{ + "contractName": "GlobalConstraintInterface", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_scheme", + "type": "address" + }, + { + "name": "_params", + "type": "bytes32" + }, + { + "name": "_method", + "type": "bytes32" + } + ], + "name": "post", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_scheme", + "type": "address" + }, + { + "name": "_params", + "type": "bytes32" + }, + { + "name": "_method", + "type": "bytes32" + } + ], + "name": "pre", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.18;\r\n\r\n\r\ncontract GlobalConstraintInterface {\r\n function pre( address _scheme, bytes32 _params, bytes32 _method ) public returns(bool);\r\n function post( address _scheme, bytes32 _params, bytes32 _method ) public returns(bool);\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\globalConstraints\\GlobalConstraintInterface.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/globalConstraints/GlobalConstraintInterface.sol", + "exportedSymbols": { + "GlobalConstraintInterface": [ + 4382 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 4359, + "name": "PragmaDirective", + "src": "0:24:9" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 4382 + ], + "name": "GlobalConstraintInterface", + "scope": 4383 + }, + "children": [ + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "pre", + "payable": false, + "scope": 4382, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_scheme", + "scope": 4370, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4360, + "name": "ElementaryTypeName", + "src": "86:7:9" + } + ], + "id": 4361, + "name": "VariableDeclaration", + "src": "86:15:9" + }, + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 4370, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4362, + "name": "ElementaryTypeName", + "src": "103:7:9" + } + ], + "id": 4363, + "name": "VariableDeclaration", + "src": "103:15:9" + }, + { + "attributes": { + "constant": false, + "name": "_method", + "scope": 4370, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4364, + "name": "ElementaryTypeName", + "src": "120:7:9" + } + ], + "id": 4365, + "name": "VariableDeclaration", + "src": "120:15:9" + } + ], + "id": 4366, + "name": "ParameterList", + "src": "84:53:9" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4370, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4367, + "name": "ElementaryTypeName", + "src": "153:4:9" + } + ], + "id": 4368, + "name": "VariableDeclaration", + "src": "153:4:9" + } + ], + "id": 4369, + "name": "ParameterList", + "src": "152:6:9" + } + ], + "id": 4370, + "name": "FunctionDefinition", + "src": "72:87:9" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "post", + "payable": false, + "scope": 4382, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_scheme", + "scope": 4381, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4371, + "name": "ElementaryTypeName", + "src": "180:7:9" + } + ], + "id": 4372, + "name": "VariableDeclaration", + "src": "180:15:9" + }, + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 4381, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4373, + "name": "ElementaryTypeName", + "src": "197:7:9" + } + ], + "id": 4374, + "name": "VariableDeclaration", + "src": "197:15:9" + }, + { + "attributes": { + "constant": false, + "name": "_method", + "scope": 4381, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4375, + "name": "ElementaryTypeName", + "src": "214:7:9" + } + ], + "id": 4376, + "name": "VariableDeclaration", + "src": "214:15:9" + } + ], + "id": 4377, + "name": "ParameterList", + "src": "178:53:9" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4381, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4378, + "name": "ElementaryTypeName", + "src": "247:4:9" + } + ], + "id": 4379, + "name": "VariableDeclaration", + "src": "247:4:9" + } + ], + "id": 4380, + "name": "ParameterList", + "src": "246:6:9" + } + ], + "id": 4381, + "name": "FunctionDefinition", + "src": "165:88:9" + } + ], + "id": 4382, + "name": "ContractDefinition", + "src": "30:226:9" + } + ], + "id": 4383, + "name": "SourceUnit", + "src": "0:258:9" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.848Z" +} \ No newline at end of file diff --git a/contracts/GlobalConstraintMock.json b/contracts/GlobalConstraintMock.json new file mode 100644 index 000000000..f28bcfea0 --- /dev/null +++ b/contracts/GlobalConstraintMock.json @@ -0,0 +1,1034 @@ +{ + "contractName": "GlobalConstraintMock", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "bytes32" + }, + { + "name": "method", + "type": "bytes" + } + ], + "name": "post", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "bytes32" + }, + { + "name": "method", + "type": "bytes" + } + ], + "name": "pre", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "method", + "type": "bytes" + }, + { + "name": "pre", + "type": "bool" + }, + { + "name": "post", + "type": "bool" + } + ], + "name": "setConstraint", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6103c28061001e6000396000f3006060604052600436106100565763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ab9b33a811461005b57806389eaee6a146100e1578063bcbbdf9814610153575b600080fd5b341561006657600080fd5b6100cd6004803573ffffffffffffffffffffffffffffffffffffffff169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506101af95505050505050565b604051901515815260200160405180910390f35b34156100ec57600080fd5b6100cd6004803573ffffffffffffffffffffffffffffffffffffffff169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061022795505050505050565b341561015e57600080fd5b6100cd60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050508235151592602001351515915061029a9050565b600080826040518082805190602001908083835b602083106101e25780518252601f1990920191602091820191016101c3565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405190819003902054610100900460ff16949350505050565b600080826040518082805190602001908083835b6020831061025a5780518252601f19909201916020918201910161023b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040519081900390205460ff16949350505050565b6000826000856040518082805190602001908083835b602083106102cf5780518252601f1990920191602091820191016102b0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051908190039020805460ff1916911515919091179055816000856040518082805190602001908083835b602083106103455780518252601f199092019160209182019101610326565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405190819003902080549115156101000261ff001990921691909117905593925050505600a165627a7a72305820aa731f264387caff4cb136ef62b4598a3520321810f24c0a287c845b407643ba0029", + "deployedBytecode": "0x6060604052600436106100565763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ab9b33a811461005b57806389eaee6a146100e1578063bcbbdf9814610153575b600080fd5b341561006657600080fd5b6100cd6004803573ffffffffffffffffffffffffffffffffffffffff169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506101af95505050505050565b604051901515815260200160405180910390f35b34156100ec57600080fd5b6100cd6004803573ffffffffffffffffffffffffffffffffffffffff169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061022795505050505050565b341561015e57600080fd5b6100cd60046024813581810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496505050508235151592602001351515915061029a9050565b600080826040518082805190602001908083835b602083106101e25780518252601f1990920191602091820191016101c3565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405190819003902054610100900460ff16949350505050565b600080826040518082805190602001908083835b6020831061025a5780518252601f19909201916020918201910161023b565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040519081900390205460ff16949350505050565b6000826000856040518082805190602001908083835b602083106102cf5780518252601f1990920191602091820191016102b0565b6001836020036101000a038019825116818451168082178552505050505050905001915050908152602001604051908190039020805460ff1916911515919091179055816000856040518082805190602001908083835b602083106103455780518252601f199092019160209182019101610326565b6001836020036101000a03801982511681845116808217855250505050505090500191505090815260200160405190819003902080549115156101000261ff001990921691909117905593925050505600a165627a7a72305820aa731f264387caff4cb136ef62b4598a3520321810f24c0a287c845b407643ba0029", + "sourceMap": "32:580:14:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "32:580:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;487:122;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;487:122:14;;-1:-1:-1;487:122:14;;-1:-1:-1;;;;;;487:122:14;;;;;;;;;;;;;;;;;;360:119;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;360:119:14;;-1:-1:-1;360:119:14;;-1:-1:-1;;;;;;360:119:14;187:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;187:165:14;;-1:-1:-1;;;;187:165:14;;;;;;;;;;;-1:-1:-1;187:165:14;;-1:-1:-1;187:165:14;487:122;554:4;578:10;589:6;578:18;;;;;;;;;;;;;36:153:-1;66:2;58;;36:153;;182:3;176:5;164:6;;-1:-1;;139:3;;;;98:2;89:3;;;;114;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;;;578:23:14;;;;;;;487:122;-1:-1:-1;;;;487:122:14:o;360:119::-;425:4;449:10;460:6;449:18;;;;;;;;;;;;;36:153:-1;66:2;58;;36:153;;182:3;176:5;164:6;;-1:-1;;139:3;;;;98:2;89:3;;;;114;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;;;449:22:14;;;;360:119;-1:-1:-1;;;;360:119:14:o;187:165::-;258:4;300:3;275:10;286:6;275:18;;;;;;;;;;;;;36:153:-1;66:2;58;;36:153;;182:3;176:5;164:6;;-1:-1;;139:3;;;;98:2;89:3;;;;114;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;;;275:28:14;;-1:-1:-1;;275:28:14;;;;;;;;;;340:4;-1:-1:-1;325:6:14;314:18;;;;;;;;;;;;;36:153:-1;66:2;58;;36:153;;182:3;176:5;164:6;;-1:-1;;139:3;;;;98:2;89:3;;;;114;36:153;;;274:1;267:3;263:2;259:3;254;250;246;315:4;311:3;305;299:5;295:3;356:4;350:3;344:5;340:3;389:7;380;377:2;372:3;365:6;3:399;;;;;;;;;;;;;;;;;;;;;;;;;314:30:14;;;;;;;-1:-1:-1;;314:30:14;;;;;;;;;187:165;;-1:-1:-1;;;187:165:14:o", + "source": "pragma solidity ^0.4.18;\r\n\r\n\r\n\r\ncontract GlobalConstraintMock {\r\n\r\n struct TestParam {\r\n bool pre;\r\n bool post;\r\n }\r\n mapping (bytes=>TestParam) testParams;\r\n\r\n function setConstraint(bytes method,bool pre,bool post) public returns(bool) {\r\n testParams[method].pre = pre;\r\n testParams[method].post = post;\r\n }\r\n\r\n function pre(address, bytes32, bytes method) public view returns(bool) {\r\n return testParams[method].pre;\r\n }\r\n\r\n function post(address, bytes32 , bytes method) public view returns(bool) {\r\n return testParams[method].post;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\test\\GlobalConstraintMock.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/test/GlobalConstraintMock.sol", + "exportedSymbols": { + "GlobalConstraintMock": [ + 4687 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 4617, + "name": "PragmaDirective", + "src": "0:24:14" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 4687 + ], + "name": "GlobalConstraintMock", + "scope": 4688 + }, + "children": [ + { + "attributes": { + "canonicalName": "GlobalConstraintMock.TestParam", + "name": "TestParam", + "scope": 4687, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "pre", + "scope": 4622, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4618, + "name": "ElementaryTypeName", + "src": "99:4:14" + } + ], + "id": 4619, + "name": "VariableDeclaration", + "src": "99:8:14" + }, + { + "attributes": { + "constant": false, + "name": "post", + "scope": 4622, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4620, + "name": "ElementaryTypeName", + "src": "118:4:14" + } + ], + "id": 4621, + "name": "VariableDeclaration", + "src": "118:9:14" + } + ], + "id": 4622, + "name": "StructDefinition", + "src": "71:64:14" + }, + { + "attributes": { + "constant": false, + "name": "testParams", + "scope": 4687, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes memory => struct GlobalConstraintMock.TestParam storage ref)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes memory => struct GlobalConstraintMock.TestParam storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 4623, + "name": "ElementaryTypeName", + "src": "150:5:14" + }, + { + "attributes": { + "contractScope": null, + "name": "TestParam", + "referencedDeclaration": 4622, + "type": "struct GlobalConstraintMock.TestParam storage pointer" + }, + "id": 4624, + "name": "UserDefinedTypeName", + "src": "157:9:14" + } + ], + "id": 4625, + "name": "Mapping", + "src": "141:26:14" + } + ], + "id": 4626, + "name": "VariableDeclaration", + "src": "141:37:14" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setConstraint", + "payable": false, + "scope": 4687, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "method", + "scope": 4652, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 4627, + "name": "ElementaryTypeName", + "src": "210:5:14" + } + ], + "id": 4628, + "name": "VariableDeclaration", + "src": "210:12:14" + }, + { + "attributes": { + "constant": false, + "name": "pre", + "scope": 4652, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4629, + "name": "ElementaryTypeName", + "src": "223:4:14" + } + ], + "id": 4630, + "name": "VariableDeclaration", + "src": "223:8:14" + }, + { + "attributes": { + "constant": false, + "name": "post", + "scope": 4652, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4631, + "name": "ElementaryTypeName", + "src": "232:4:14" + } + ], + "id": 4632, + "name": "VariableDeclaration", + "src": "232:9:14" + } + ], + "id": 4633, + "name": "ParameterList", + "src": "209:33:14" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4652, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4634, + "name": "ElementaryTypeName", + "src": "258:4:14" + } + ], + "id": 4635, + "name": "VariableDeclaration", + "src": "258:4:14" + } + ], + "id": 4636, + "name": "ParameterList", + "src": "257:6:14" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "pre", + "referencedDeclaration": 4619, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintMock.TestParam storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4626, + "type": "mapping(bytes memory => struct GlobalConstraintMock.TestParam storage ref)", + "value": "testParams" + }, + "id": 4637, + "name": "Identifier", + "src": "275:10:14" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4628, + "type": "bytes memory", + "value": "method" + }, + "id": 4638, + "name": "Identifier", + "src": "286:6:14" + } + ], + "id": 4639, + "name": "IndexAccess", + "src": "275:18:14" + } + ], + "id": 4640, + "name": "MemberAccess", + "src": "275:22:14" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4630, + "type": "bool", + "value": "pre" + }, + "id": 4641, + "name": "Identifier", + "src": "300:3:14" + } + ], + "id": 4642, + "name": "Assignment", + "src": "275:28:14" + } + ], + "id": 4643, + "name": "ExpressionStatement", + "src": "275:28:14" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "post", + "referencedDeclaration": 4621, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintMock.TestParam storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4626, + "type": "mapping(bytes memory => struct GlobalConstraintMock.TestParam storage ref)", + "value": "testParams" + }, + "id": 4644, + "name": "Identifier", + "src": "314:10:14" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4628, + "type": "bytes memory", + "value": "method" + }, + "id": 4645, + "name": "Identifier", + "src": "325:6:14" + } + ], + "id": 4646, + "name": "IndexAccess", + "src": "314:18:14" + } + ], + "id": 4647, + "name": "MemberAccess", + "src": "314:23:14" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4632, + "type": "bool", + "value": "post" + }, + "id": 4648, + "name": "Identifier", + "src": "340:4:14" + } + ], + "id": 4649, + "name": "Assignment", + "src": "314:30:14" + } + ], + "id": 4650, + "name": "ExpressionStatement", + "src": "314:30:14" + } + ], + "id": 4651, + "name": "Block", + "src": "264:88:14" + } + ], + "id": 4652, + "name": "FunctionDefinition", + "src": "187:165:14" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "pre", + "payable": false, + "scope": 4687, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4669, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4653, + "name": "ElementaryTypeName", + "src": "373:7:14" + } + ], + "id": 4654, + "name": "VariableDeclaration", + "src": "373:7:14" + }, + { + "attributes": { + "constant": false, + "name": "", + "scope": 4669, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4655, + "name": "ElementaryTypeName", + "src": "382:7:14" + } + ], + "id": 4656, + "name": "VariableDeclaration", + "src": "382:7:14" + }, + { + "attributes": { + "constant": false, + "name": "method", + "scope": 4669, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 4657, + "name": "ElementaryTypeName", + "src": "391:5:14" + } + ], + "id": 4658, + "name": "VariableDeclaration", + "src": "391:12:14" + } + ], + "id": 4659, + "name": "ParameterList", + "src": "372:32:14" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4669, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4660, + "name": "ElementaryTypeName", + "src": "425:4:14" + } + ], + "id": 4661, + "name": "VariableDeclaration", + "src": "425:4:14" + } + ], + "id": 4662, + "name": "ParameterList", + "src": "424:6:14" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 4662 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "pre", + "referencedDeclaration": 4619, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintMock.TestParam storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4626, + "type": "mapping(bytes memory => struct GlobalConstraintMock.TestParam storage ref)", + "value": "testParams" + }, + "id": 4663, + "name": "Identifier", + "src": "449:10:14" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4658, + "type": "bytes memory", + "value": "method" + }, + "id": 4664, + "name": "Identifier", + "src": "460:6:14" + } + ], + "id": 4665, + "name": "IndexAccess", + "src": "449:18:14" + } + ], + "id": 4666, + "name": "MemberAccess", + "src": "449:22:14" + } + ], + "id": 4667, + "name": "Return", + "src": "442:29:14" + } + ], + "id": 4668, + "name": "Block", + "src": "431:48:14" + } + ], + "id": 4669, + "name": "FunctionDefinition", + "src": "360:119:14" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "post", + "payable": false, + "scope": 4687, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4686, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4670, + "name": "ElementaryTypeName", + "src": "501:7:14" + } + ], + "id": 4671, + "name": "VariableDeclaration", + "src": "501:7:14" + }, + { + "attributes": { + "constant": false, + "name": "", + "scope": 4686, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4672, + "name": "ElementaryTypeName", + "src": "510:7:14" + } + ], + "id": 4673, + "name": "VariableDeclaration", + "src": "510:7:14" + }, + { + "attributes": { + "constant": false, + "name": "method", + "scope": 4686, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 4674, + "name": "ElementaryTypeName", + "src": "520:5:14" + } + ], + "id": 4675, + "name": "VariableDeclaration", + "src": "520:12:14" + } + ], + "id": 4676, + "name": "ParameterList", + "src": "500:33:14" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4686, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4677, + "name": "ElementaryTypeName", + "src": "554:4:14" + } + ], + "id": 4678, + "name": "VariableDeclaration", + "src": "554:4:14" + } + ], + "id": 4679, + "name": "ParameterList", + "src": "553:6:14" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 4679 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "post", + "referencedDeclaration": 4621, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintMock.TestParam storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4626, + "type": "mapping(bytes memory => struct GlobalConstraintMock.TestParam storage ref)", + "value": "testParams" + }, + "id": 4680, + "name": "Identifier", + "src": "578:10:14" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4675, + "type": "bytes memory", + "value": "method" + }, + "id": 4681, + "name": "Identifier", + "src": "589:6:14" + } + ], + "id": 4682, + "name": "IndexAccess", + "src": "578:18:14" + } + ], + "id": 4683, + "name": "MemberAccess", + "src": "578:23:14" + } + ], + "id": 4684, + "name": "Return", + "src": "571:30:14" + } + ], + "id": 4685, + "name": "Block", + "src": "560:49:14" + } + ], + "id": 4686, + "name": "FunctionDefinition", + "src": "487:122:14" + } + ], + "id": 4687, + "name": "ContractDefinition", + "src": "32:580:14" + } + ], + "id": 4688, + "name": "SourceUnit", + "src": "0:614:14" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.858Z" +} \ No newline at end of file diff --git a/contracts/GlobalConstraintRegistrar.json b/contracts/GlobalConstraintRegistrar.json new file mode 100644 index 000000000..1f3a3f4d9 --- /dev/null +++ b/contracts/GlobalConstraintRegistrar.json @@ -0,0 +1,7078 @@ +{ + "contractName": "GlobalConstraintRegistrar", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "name": "voteRegisterParams", + "type": "bytes32" + }, + { + "name": "intVote", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_gc", + "type": "address" + }, + { + "name": "_params", + "type": "bytes32" + }, + { + "name": "_voteToRemoveParams", + "type": "bytes32" + } + ], + "name": "proposeGlobalConstraint", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizationsData", + "outputs": [ + { + "name": "voteRegisterParams", + "type": "bytes32" + }, + { + "name": "intVote", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voteRegisterParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_param", + "type": "int256" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizations", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_voteRegisterParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "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" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_gc", + "type": "address" + } + ], + "name": "proposeToRemoveGC", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "hashedParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_gc", + "type": "address" + }, + { + "indexed": false, + "name": "_params", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_voteToRemoveParams", + "type": "bytes32" + } + ], + "name": "NewGlobalConstraintsProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_gc", + "type": "address" + } + ], + "name": "RemoveGlobalConstraintsProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "ProposalExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalDeleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b60405160608061117883398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617815590925061006b915084908490849064010000000061007381026109411704565b5050506100c6565b60005433600160a060020a0390811691161461008e57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b6110a3806100d56000396000f3006060604052600436106100d75763ffffffff60e060020a6000350416630250680481146100dc5780630fd6e498146101135780631db77c38146101505780632453732a1461016f578063310ce4e21461019157806338af3eed146101ca5780634345a610146101f95780635a1f74061461022757806368e14dac146102465780638da5cb5b1461026857806390be003c1461027b578063c3c5a5471461029a578063ddca3f43146102b9578063e1758bd8146102cc578063f2fde38b146102df578063f731e470146102fe578063f98e87ba14610323575b600080fd5b34156100e757600080fd5b6100f2600435610336565b604051918252600160a060020a031660208201526040908101905180910390f35b341561011e57600080fd5b61013e600160a060020a0360043581169060243516604435606435610358565b60405190815260200160405180910390f35b341561015b57600080fd5b6100f2600160a060020a03600435166105e9565b341561017a57600080fd5b61013e600435600160a060020a036024351661060b565b341561019c57600080fd5b6101b6600435600160a060020a0360243516604435610645565b604051901515815260200160405180910390f35b34156101d557600080fd5b6101dd610932565b604051600160a060020a03909116815260200160405180910390f35b341561020457600080fd5b610225600160a060020a036004358116906024359060443516606435610941565b005b341561023257600080fd5b6101b6600160a060020a0360043516610994565b341561025157600080fd5b61013e600435600160a060020a03602435166109a9565b341561027357600080fd5b6101dd6109f1565b341561028657600080fd5b610225600160a060020a0360043516610a00565b34156102a557600080fd5b6101b6600160a060020a0360043516610b29565b34156102c457600080fd5b61013e610b47565b34156102d757600080fd5b6101dd610b4d565b34156102ea57600080fd5b610225600160a060020a0360043516610b5c565b341561030957600080fd5b61013e600160a060020a0360043581169060243516610bea565b341561032e57600080fd5b61013e610f56565b60076020526000908152604090208054600190910154600160a060020a031682565b6000610362611039565b60008061036d611050565b600160a060020a038916600090815260056020526040902054899060ff16151561039657600080fd5b600760006103a38c610f5c565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a031660208201908152909550519350600160a060020a0384166388737b5e600287518d3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b151561045057600080fd5b6102c65a03f1151561046157600080fd5b50505060405180519050925060806040519081016040908152600160a060020a03808c16835260208084018c9052600183850152606084018b9052908d1660009081526006825282812087825260020190915220909250829081518154600160a060020a031916600160a060020a03919091161781556020820151600182015560408201518160020155606082015160039091015550600160a060020a038085169084908c167f4e87f569c5a3f504eea38add71bbdd022e5d63d0ee92d4130c407b8d64941bc08c8c8c604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a483600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b15156105c057600080fd5b6102c65a03f115156105d157600080fd5b505050604051805150929a9950505050505050505050565b60066020526000908152604090208054600190910154600160a060020a031682565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b6000806000610652611050565b33600160a060020a03166007600061066989610f5c565b8152602081019190915260400160002060010154600160a060020a03161461069057600080fd5b6001925084600114156108ac5785600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156106e357600080fd5b6102c65a03f115156106f457600080fd5b5050506040518051600160a060020a03881660009081526006602090815260408083208c8452600201909152908190209194509091506080905190810160409081528254600160a060020a0316825260018301546020830152600283015490820190815260039092015460608201529150516001141561082a57600160a060020a0382166346a4869c8251836020015160006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156107d057600080fd5b6102c65a03f115156107e157600080fd5b50505060405180519350506060810151600160a060020a0387166000908152600660205260408120600301908351600160a060020a031681526020810191909152604001600020555b8060400151600214156108ac57600160a060020a03821663488b3814825160006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561088f57600080fd5b6102c65a03f115156108a057600080fd5b50505060405180519350505b600160a060020a03861660008181526006602090815260408083208b845260029081019092528083208054600160a060020a0319168155600181018490559182018390556003909101919091558891907f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f533905160405180910390a3509095945050505050565b600354600160a060020a031681565b60005433600160a060020a0390811691161461095c57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b6000806109b6848461060b565b60008181526007602052604090208581556001018054600160a060020a038616600160a060020a031990911617905591508190505092915050565b600054600160a060020a031681565b6000600254118015610a2b5750600160a060020a03811660009081526005602052604090205460ff16155b15610ac457600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610aa857600080fd5b6102c65a03f11515610ab957600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a03908116911614610b7757600080fd5b600160a060020a0381161515610b8c57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b6000806000610bf7611039565b600080610c02611050565b600160a060020a038916600090815260056020526040902054899060ff161515610c2b57600080fd5b600160a060020a038a166000818152600660205260408082209950638da5cb5b919051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c8057600080fd5b6102c65a03f11515610c9157600080fd5b5050506040518051965050600160a060020a03861663043cc6ee8a60006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cf357600080fd5b6102c65a03f11515610d0457600080fd5b505050604051805190501515610d1957600080fd5b60076000610d268c610f5c565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a03166020820190815290955051935083600160a060020a03166388737b5e60028960030160008d600160a060020a0316600160a060020a03168152602001908152602001600020548d3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610df957600080fd5b6102c65a03f11515610e0a57600080fd5b50505060405180519050925060806040519081016040908152600160a060020a03808c16835260006020808501829052600284860181905260608601839052928f1682526006815283822088835290920190915220909250829081518154600160a060020a031916600160a060020a03919091161781556020820151600182015560408201518160020155606082015160039091015550600160a060020a038085169084908c167f661684a19fb0680f3f8beceaa9ee56c665ffec0875442e2cddc9a7a887d35c3e8c604051600160a060020a03909116815260200160405180910390a483600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b15156105c057600080fd5b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fa557600080fd5b6102c65a03f11515610fb657600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561101857600080fd5b6102c65a03f1151561102957600080fd5b5050506040518051949350505050565b604080519081016040526000808252602082015290565b608060405190810160409081526000808352602083018190529082018190526060820152905600a165627a7a723058206dee153249f2cbe16e6f7f9ea15cb7d99a5dbe8d7ea0020ba4c69fe6fd2707900029", + "deployedBytecode": "0x6060604052600436106100d75763ffffffff60e060020a6000350416630250680481146100dc5780630fd6e498146101135780631db77c38146101505780632453732a1461016f578063310ce4e21461019157806338af3eed146101ca5780634345a610146101f95780635a1f74061461022757806368e14dac146102465780638da5cb5b1461026857806390be003c1461027b578063c3c5a5471461029a578063ddca3f43146102b9578063e1758bd8146102cc578063f2fde38b146102df578063f731e470146102fe578063f98e87ba14610323575b600080fd5b34156100e757600080fd5b6100f2600435610336565b604051918252600160a060020a031660208201526040908101905180910390f35b341561011e57600080fd5b61013e600160a060020a0360043581169060243516604435606435610358565b60405190815260200160405180910390f35b341561015b57600080fd5b6100f2600160a060020a03600435166105e9565b341561017a57600080fd5b61013e600435600160a060020a036024351661060b565b341561019c57600080fd5b6101b6600435600160a060020a0360243516604435610645565b604051901515815260200160405180910390f35b34156101d557600080fd5b6101dd610932565b604051600160a060020a03909116815260200160405180910390f35b341561020457600080fd5b610225600160a060020a036004358116906024359060443516606435610941565b005b341561023257600080fd5b6101b6600160a060020a0360043516610994565b341561025157600080fd5b61013e600435600160a060020a03602435166109a9565b341561027357600080fd5b6101dd6109f1565b341561028657600080fd5b610225600160a060020a0360043516610a00565b34156102a557600080fd5b6101b6600160a060020a0360043516610b29565b34156102c457600080fd5b61013e610b47565b34156102d757600080fd5b6101dd610b4d565b34156102ea57600080fd5b610225600160a060020a0360043516610b5c565b341561030957600080fd5b61013e600160a060020a0360043581169060243516610bea565b341561032e57600080fd5b61013e610f56565b60076020526000908152604090208054600190910154600160a060020a031682565b6000610362611039565b60008061036d611050565b600160a060020a038916600090815260056020526040902054899060ff16151561039657600080fd5b600760006103a38c610f5c565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a031660208201908152909550519350600160a060020a0384166388737b5e600287518d3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b151561045057600080fd5b6102c65a03f1151561046157600080fd5b50505060405180519050925060806040519081016040908152600160a060020a03808c16835260208084018c9052600183850152606084018b9052908d1660009081526006825282812087825260020190915220909250829081518154600160a060020a031916600160a060020a03919091161781556020820151600182015560408201518160020155606082015160039091015550600160a060020a038085169084908c167f4e87f569c5a3f504eea38add71bbdd022e5d63d0ee92d4130c407b8d64941bc08c8c8c604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a483600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b15156105c057600080fd5b6102c65a03f115156105d157600080fd5b505050604051805150929a9950505050505050505050565b60066020526000908152604090208054600190910154600160a060020a031682565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b6000806000610652611050565b33600160a060020a03166007600061066989610f5c565b8152602081019190915260400160002060010154600160a060020a03161461069057600080fd5b6001925084600114156108ac5785600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156106e357600080fd5b6102c65a03f115156106f457600080fd5b5050506040518051600160a060020a03881660009081526006602090815260408083208c8452600201909152908190209194509091506080905190810160409081528254600160a060020a0316825260018301546020830152600283015490820190815260039092015460608201529150516001141561082a57600160a060020a0382166346a4869c8251836020015160006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156107d057600080fd5b6102c65a03f115156107e157600080fd5b50505060405180519350506060810151600160a060020a0387166000908152600660205260408120600301908351600160a060020a031681526020810191909152604001600020555b8060400151600214156108ac57600160a060020a03821663488b3814825160006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561088f57600080fd5b6102c65a03f115156108a057600080fd5b50505060405180519350505b600160a060020a03861660008181526006602090815260408083208b845260029081019092528083208054600160a060020a0319168155600181018490559182018390556003909101919091558891907f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f533905160405180910390a3509095945050505050565b600354600160a060020a031681565b60005433600160a060020a0390811691161461095c57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b6000806109b6848461060b565b60008181526007602052604090208581556001018054600160a060020a038616600160a060020a031990911617905591508190505092915050565b600054600160a060020a031681565b6000600254118015610a2b5750600160a060020a03811660009081526005602052604090205460ff16155b15610ac457600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610aa857600080fd5b6102c65a03f11515610ab957600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a03908116911614610b7757600080fd5b600160a060020a0381161515610b8c57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b6000806000610bf7611039565b600080610c02611050565b600160a060020a038916600090815260056020526040902054899060ff161515610c2b57600080fd5b600160a060020a038a166000818152600660205260408082209950638da5cb5b919051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c8057600080fd5b6102c65a03f11515610c9157600080fd5b5050506040518051965050600160a060020a03861663043cc6ee8a60006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610cf357600080fd5b6102c65a03f11515610d0457600080fd5b505050604051805190501515610d1957600080fd5b60076000610d268c610f5c565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a03166020820190815290955051935083600160a060020a03166388737b5e60028960030160008d600160a060020a0316600160a060020a03168152602001908152602001600020548d3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610df957600080fd5b6102c65a03f11515610e0a57600080fd5b50505060405180519050925060806040519081016040908152600160a060020a03808c16835260006020808501829052600284860181905260608601839052928f1682526006815283822088835290920190915220909250829081518154600160a060020a031916600160a060020a03919091161781556020820151600182015560408201518160020155606082015160039091015550600160a060020a038085169084908c167f661684a19fb0680f3f8beceaa9ee56c665ffec0875442e2cddc9a7a887d35c3e8c604051600160a060020a03909116815260200160405180910390a483600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b15156105c057600080fd5b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610fa557600080fd5b6102c65a03f11515610fb657600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561101857600080fd5b6102c65a03f1151561102957600080fd5b5050506040518051949350505050565b604080519081016040526000808252602082015290565b608060405190810160409081526000808352602083018190529082018190526060820152905600a165627a7a723058206dee153249f2cbe16e6f7f9ea15cb7d99a5dbe8d7ea0020ba4c69fe6fd2707900029", + "sourceMap": "264:8063:18:-;;;2500:184;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;2500:184:18;;-1:-1:-1;2614:62:18;;-1:-1:-1;2631:12:18;;2645:4;;2500:184;;2614:16;;;;;;:62;:::i;:::-;2500:184;;;264:8063;;1314:347:22;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;264:8063:18:-;;;;;;;", + "deployedSourceMap": "264:8063:18:-;;;;;;;;;-1:-1:-1;;;264:8063:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2194:46;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2194:46:18;;;;;;;;;;;;;;;;4367:1072;;;;;;;;;;-1:-1:-1;;;;;4367:1072:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1920:55;;;;;;;;;;-1:-1:-1;;;;;1920:55:18;;;;;3581:210;;;;;;;;;;;;-1:-1:-1;;;;;3581:210:18;;;;;7150:1174;;;;;;;;;;;;-1:-1:-1;;;;;7150:1174:18;;;;;;;;;;;;;;;;;;;;;;;;407:26:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;407:26:22;;;;;;;;;;;;;;1314:347;;;;;;;;;;-1:-1:-1;;;;;1314:347:22;;;;;;;;;;;;;;;;;591:43;;;;;;;;;;-1:-1:-1;;;;;591:43:22;;;;;2973:375:18;;;;;;;;;;;;-1:-1:-1;;;;;2973:375:18;;;;;238:20:29;;;;;;;;;;;;866:315:22;;;;;;;;;;-1:-1:-1;;;;;866:315:22;;;;;1189:117;;;;;;;;;;-1:-1:-1;;;;;1189:117:22;;;;;385:15;;;;;;;;;;;;346:32;;;;;;;;;;;;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;5722:1038:18;;;;;;;;;;-1:-1:-1;;;;;5722:1038:18;;;;;;;;;;440:31:22;;;;;;;;;;;;2194:46:18;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2194:46:18;;:::o;4367:1072::-;4541:7;4566:30;;:::i;:::-;4660:24;4718:18;4839:26;;:::i;:::-;-1:-1:-1;;;;;816:21:22;;;;;;:13;:21;;;;;;4519:7:18;;816:21:22;;808:30;;;;;;;;4599:10:18;:48;4610:36;4638:7;4610:27;:36::i;:::-;4599:48;;;;;;;;;;;;;;;;;4566:81;;;;;;;;;;;;;;;-1:-1:-1;;;;;4566:81:18;;;;;;;;;-1:-1:-1;4687:20:18;4660:47;-1:-1:-1;;;;;;4739:15:18;;;4755:1;4758:12;:31;4791:7;4820:4;4739:87;;;;;;;;-1:-1:-1;;;4739:87:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4739:87:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4718:108;;4868:159;;;;;;;;;;-1:-1:-1;;;;;4868:159:18;;;;;;;;;;;;4960:1;4868:159;;;;;;;;;;5040:26;;;4868:159;5040:26;;;:17;:26;;;;;:48;;;:36;;:48;;;;4868:159;;-1:-1:-1;4868:159:18;;;5040:59;;;-1:-1:-1;;;;;;5040:59:18;-1:-1:-1;;;;;5040:59:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5110:182:18;;;;5175:10;;5110:182;;;5222:3;5240:7;5262:19;5110:182;;-1:-1:-1;;;;;5110:182:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5303:7;-1:-1:-1;;;;;5303:17:18;;5321:10;5333:1;5336:10;5303:44;;;;;;;;-1:-1:-1;;;5303:44:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5303:44:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5421:10:18;;4367:1072;-1:-1:-1;;;;;;;;;;4367:1072:18:o;1920:55::-;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1920:55:18;;:::o;3581:210::-;3709:7;3752:19;3773:8;3742:40;;;;;-1:-1:-1;;;;;3742:40:18;;;;;;;;;;;;;;;;3734:49;;3581:210;;;;:::o;7150:1174::-;7234:4;7410:11;7566:21;7640:26;;:::i;:::-;7388:10;-1:-1:-1;;;;;7320:78:18;:10;:56;7331:44;7366:7;7331:27;:44::i;:::-;7320:56;;;;;;;;;;;;;:64;;;-1:-1:-1;;;;;7320:64:18;:78;7312:87;;;;;;7424:4;7410:18;;7485:6;7495:1;7485:11;7481:696;;;7608:7;-1:-1:-1;;;;;7601:21:18;;:23;;;;;;;;;;;-1:-1:-1;;;7601:23:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7669:26:18;;;;;;:17;:26;;;;;;;;:49;;;:36;;:49;;;;;;;7601:23;;-1:-1:-1;7669:49:18;;-1:-1:-1;7640:78:18;;;;;;;;;;;;-1:-1:-1;;;;;7640:78:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7761:21:18;7786:1;7761:26;7757:245;;;-1:-1:-1;;;;;7817:30:18;;;7848:8;:11;7861:8;:15;;;7817:60;;;;;;;;-1:-1:-1;;;7817:60:18;;;;;;-1:-1:-1;;;;;7817:60:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7957:27:18;;;;-1:-1:-1;;;;;7896:26:18;;;;;;:17;:26;;;;;:45;;;7942:8;:11;-1:-1:-1;;;;;7896:58:18;;;;;;;;;;;;-1:-1:-1;7896:58:18;:88;7757:245;8046:8;:21;;;8071:1;8046:26;8042:124;;;-1:-1:-1;;;;;8102:33:18;;;8136:8;:11;8102:46;;;;;;;;-1:-1:-1;;;8102:46:18;;;;;;-1:-1:-1;;;;;8102:46:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8042:124:18;-1:-1:-1;;;;;8194:26:18;;;;;;:17;:26;;;;;;;;:49;;;:36;;;;:49;;;;;;8187:56;;-1:-1:-1;;;;;;8187:56:18;;;;;;;;;;;;;;;;;;;;;;;8231:11;;8194:26;8254:38;;;;;;;;;;-1:-1:-1;8310:6:18;;7150:1174;-1:-1:-1;;;;;7150:1174:18:o;407:26:22:-;;;-1:-1:-1;;;;;407:26:22;;:::o;1314:347::-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;591:43::-;;;;;;;;;;;;;;;:::o;2973:375:18:-;3092:7;3117:18;3138:48;3156:19;3177:8;3138:17;:48::i;:::-;3197:22;;;;:10;:22;;;;;:63;;;3271:30;;:41;;-1:-1:-1;;;;;3271:41:18;;-1:-1:-1;;;;;;3271:41:18;;;;;;3117:69;-1:-1:-1;3117:69:18;;-1:-1:-1;2973:375:18;;;;;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;866:315:22:-;980:1;974:3;;:7;973:39;;;;-1:-1:-1;;;;;;989:22:22;;;;;;:13;:22;;;;;;;;987:24;973:39;969:123;;;1029:11;;1063;;1076:3;;-1:-1:-1;;;;;1029:11:22;;;;:24;;1054:7;;1063:11;;;1029;:51;;;;;;;-1:-1:-1;;;1029:51:22;;;;;;-1:-1:-1;;;;;1029:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;969:123:22;-1:-1:-1;;;;;1102:22:22;;;;;;:13;:22;;;;;;;:29;;-1:-1:-1;;1102:29:22;1127:4;1102:29;;;1142:31;;1116:7;;1142:31;-1:-1:-1;;;;;1142:31:22;;;;;;;;;;;;;;866:315;:::o;1189:117::-;-1:-1:-1;;;;;1276:22:22;1252:4;1276:22;;;:13;:22;;;;;;;;;1189:117::o;385:15::-;;;;:::o;346:32::-;;;-1:-1:-1;;;;;346:32:22;;:::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;;;;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;5722:1038:18:-;5829:7;5849:24;5913:21;6045:24;;:::i;:::-;6131;6183:18;6300:26;;:::i;:::-;-1:-1:-1;;;;;816:21:22;;;;;;:13;:21;;;;;;5812:7:18;;816:21:22;;808:30;;;;;;;;-1:-1:-1;;;;;5876:26:18;;;;;;:17;:26;;;;;;;-1:-1:-1;5948:21:18;;5876:26;5948:23;;;;;;;;;-1:-1:-1;;;5948:23:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;5991:37:18;;;6029:3;5991:42;;;;;;;;-1:-1:-1;;;5991:42:18;;;;;;-1:-1:-1;;;;;5991:42:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5983:51;;;;;;;;6072:10;:48;6083:36;6111:7;6083:27;:36::i;:::-;6072:48;;;;;;;;;;;;;;;;;6045:75;;;;;;;;;;;;;;;-1:-1:-1;;;;;6045:75:18;;;;;;;;;-1:-1:-1;6158:14:18;6131:41;;6204:7;-1:-1:-1;;;;;6204:15:18;;6220:1;6223:3;:22;;:27;6246:3;-1:-1:-1;;;;;6223:27:18;-1:-1:-1;;;;;6223:27:18;;;;;;;;;;;;;6252:7;6281:4;6204:83;;;;;;;;-1:-1:-1;;;6204:83:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6204:83:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6183:104;;6329:135;;;;;;;;;;-1:-1:-1;;;;;6329:135:18;;;;;6385:1;6329:135;;;;;;;6415:1;6329:135;;;;;;;;;;;;6477:26;;;;;:17;:26;;;;;:48;;;:36;;;:48;;;;6329:135;;-1:-1:-1;6329:135:18;;;6477:59;;;-1:-1:-1;;;;;;6477:59:18;-1:-1:-1;;;;;6477:59:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6547:66:18;;;;6588:10;;6547:66;;;6609:3;6547:66;;-1:-1:-1;;;;;6547:66:18;;;;;;;;;;;;;;6624:7;-1:-1:-1;;;;;6624:17:18;;6642:10;6654:1;6657:10;6624:44;;;;;;;;-1:-1:-1;;;6624:44:18;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6624:44:18;;;;;;;;;;;;;;;;;;;;;;;;;440:31:22;;;;:::o;1761:212::-;1840:7;1860:21;1895:7;-1:-1:-1;;;;;1895:13:22;;:15;;;;;;;;;;;-1:-1:-1;;;1895:15:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1929:30:22;;;1960:4;1929:36;;;;;;;;-1:-1:-1;;;1929:36:22;;;;;;-1:-1:-1;;;;;1929:36:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1761:212;-1:-1:-1;;;;1761:212:22:o;264:8063:18:-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../VotingMachines/IntVoteInterface.sol\";\r\nimport \"./UniversalScheme.sol\";\r\n\r\n\r\n/**\r\n * @title A scheme to manage global constaintg for organizations\r\n * @dev The scheme is used to register or remove new global constraints\r\n */\r\ncontract GlobalConstraintRegistrar is UniversalScheme {\r\n event NewGlobalConstraintsProposal(\r\n address indexed _avatar,\r\n bytes32 indexed _proposalId,\r\n address indexed _intVoteInterface,\r\n address _gc,\r\n bytes32 _params,\r\n bytes32 _voteToRemoveParams\r\n );\r\n event RemoveGlobalConstraintsProposal(\r\n address indexed _avatar,\r\n bytes32 indexed _proposalId,\r\n address indexed _intVoteInterface,\r\n address _gc\r\n );\r\n event ProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\r\n event LogProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\r\n\r\n // The struct that holds the information of a global constraint proposed to be added or removed.\r\n struct GCProposal {\r\n address gc; // The address of the global contraint contract.\r\n bytes32 params; // Parameters for global constraint.\r\n uint proposalType; // 1: add a GC, 2: remove a GC.\r\n bytes32 voteToRemoveParams; // Voting parameters for removing this GC.\r\n }\r\n\r\n // Struct holding the data for each organization\r\n struct Organization {\r\n bytes32 voteRegisterParams; // The voting parameters for adding a GC.\r\n IntVoteInterface intVote; // The voting machine in which the voting takes place.\r\n mapping(bytes32=>GCProposal) proposals; // A mapping from the proposal ID to the proposal itself.\r\n mapping(address=>bytes32) voteToRemoveParams; // A mapping that saves the parameters for removing each GC.\r\n }\r\n\r\n // A mapping from thr organization (Avatar) address to the saved data of the organization:\r\n mapping(address=>Organization) public organizationsData;\r\n\r\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\r\n struct Parameters {\r\n bytes32 voteRegisterParams;\r\n IntVoteInterface intVote;\r\n }\r\n\r\n mapping(bytes32=>Parameters) public parameters;\r\n\r\n /**\r\n * @dev Constructor, Updating the initial prarmeters\r\n * @param _nativeToken The native token of the ICO\r\n * @param _fee The fee for intiating the ICO\r\n * @param _beneficiary The address that will receive the ethers\r\n */\r\n function GlobalConstraintRegistrar(StandardToken _nativeToken, uint _fee, address _beneficiary) public {\r\n updateParameters(_nativeToken, _fee, _beneficiary, bytes32(0));\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters, save them if necessary, and return the hash value\r\n * @param _voteRegisterParams - voting parameters for register global constraint\r\n * @param _intVote - voting machine contract.\r\n * @return bytes32 -the parameters hash\r\n */\r\n function setParameters(\r\n bytes32 _voteRegisterParams,\r\n IntVoteInterface _intVote\r\n ) public returns(bytes32)\r\n {\r\n bytes32 paramsHash = getParametersHash(_voteRegisterParams, _intVote);\r\n parameters[paramsHash].voteRegisterParams = _voteRegisterParams;\r\n parameters[paramsHash].intVote = _intVote;\r\n return paramsHash;\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters,and return the hash value\r\n * @param _voteRegisterParams - voting parameters\r\n * @param _intVote - voting machine contract.\r\n * @return bytes32 -the parameters hash\r\n */\r\n function getParametersHash(\r\n bytes32 _voteRegisterParams,\r\n IntVoteInterface _intVote\r\n ) public pure returns(bytes32)\r\n {\r\n return (keccak256(_voteRegisterParams, _intVote));\r\n }\r\n\r\n /**\r\n * @dev propose to add a new global constraint:\r\n * @param _avatar the avatar of the organization that the constraint is proposed for\r\n * @param _gc the address of the global constraint that is being proposed\r\n * @param _params the parameters for the global contraint\r\n * @param _voteToRemoveParams the conditions (on the voting machine) for removing this global constraint\r\n * @return bytes32 -the proposal id\r\n */\r\n // TODO: do some checks on _voteToRemoveParams - it is very easy to make a mistake and not be able to remove the GC\r\n function proposeGlobalConstraint(Avatar _avatar, address _gc, bytes32 _params, bytes32 _voteToRemoveParams)\r\n public\r\n onlyRegisteredOrganization(_avatar)\r\n returns(bytes32)\r\n {\r\n Parameters memory votingParams = parameters[getParametersFromController(_avatar)];\r\n\r\n IntVoteInterface intVote = votingParams.intVote;\r\n bytes32 proposalId = intVote.propose(2, votingParams.voteRegisterParams, _avatar, ExecutableInterface(this));\r\n\r\n GCProposal memory proposal = GCProposal({\r\n gc: _gc,\r\n params: _params,\r\n proposalType: 1,\r\n voteToRemoveParams: _voteToRemoveParams\r\n });\r\n\r\n organizationsData[_avatar].proposals[proposalId] = proposal;\r\n NewGlobalConstraintsProposal(\r\n _avatar,\r\n proposalId,\r\n intVote,\r\n _gc,\r\n _params,\r\n _voteToRemoveParams\r\n );\r\n intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\r\n return proposalId;\r\n }\r\n\r\n /**\r\n * @dev propose to remove a global constraint:\r\n * @param _avatar the avatar of the organization that the constraint is proposed for\r\n * @param _gc the address of the global constraint that is being proposed\r\n * @return bytes32 -the proposal id\r\n */\r\n function proposeToRemoveGC(Avatar _avatar, address _gc) public onlyRegisteredOrganization(_avatar) returns(bytes32) {\r\n Organization storage org = organizationsData[_avatar];\r\n Controller controller = Controller(Avatar(_avatar).owner());\r\n require(controller.isGlobalConstraintRegister(_gc));\r\n Parameters memory params = parameters[getParametersFromController(_avatar)];\r\n IntVoteInterface intVote = params.intVote;\r\n bytes32 proposalId = intVote.propose(2, org.voteToRemoveParams[_gc], _avatar, ExecutableInterface(this));\r\n\r\n GCProposal memory proposal = GCProposal({\r\n gc: _gc,\r\n params: 0,\r\n proposalType: 2,\r\n voteToRemoveParams: 0\r\n });\r\n\r\n organizationsData[_avatar].proposals[proposalId] = proposal;\r\n RemoveGlobalConstraintsProposal(_avatar, proposalId, intVote, _gc);\r\n intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\r\n return proposalId;\r\n }\r\n\r\n /**\r\n * @dev execution of proposals, can only be called by the voting machine in which the vote is held.\r\n * @param _proposalId the ID of the voting in the voting machine\r\n * @param _avatar address of the controller\r\n * @param _param a parameter of the voting result, 0 is no and 1 is yes.\r\n * @return bool which represents a successful of the function.\r\n */\r\n function execute(bytes32 _proposalId, address _avatar, int _param) external returns(bool) {\r\n // Check the caller is indeed the voting machine:\r\n\r\n require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\r\n bool retVal = true;\r\n // Check if vote was successful:\r\n if (_param == 1 ) {\r\n\r\n // Define controller and get the parmas:\r\n Controller controller = Controller(Avatar(_avatar).owner());\r\n GCProposal memory proposal = organizationsData[_avatar].proposals[_proposalId];\r\n // Adding a GC\r\n if (proposal.proposalType == 1) {\r\n retVal = controller.addGlobalConstraint(proposal.gc, proposal.params);\r\n organizationsData[_avatar].voteToRemoveParams[proposal.gc] = proposal.voteToRemoveParams;\r\n }\r\n // Removing a GC\r\n if (proposal.proposalType == 2) {\r\n retVal = controller.removeGlobalConstraint(proposal.gc);\r\n }\r\n }\r\n delete organizationsData[_avatar].proposals[_proposalId];\r\n ProposalExecuted(_avatar, _proposalId);\r\n return retVal;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\GlobalConstraintRegistrar.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/GlobalConstraintRegistrar.sol", + "exportedSymbols": { + "GlobalConstraintRegistrar": [ + 5874 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 5439, + "name": "PragmaDirective", + "src": "0:24:18" + }, + { + "attributes": { + "SourceUnit": 2659, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/IntVoteInterface.sol", + "file": "../VotingMachines/IntVoteInterface.sol", + "scope": 5875, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 5440, + "name": "ImportDirective", + "src": "28:48:18" + }, + { + "attributes": { + "SourceUnit": 7230, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "file": "./UniversalScheme.sol", + "scope": 5875, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 5441, + "name": "ImportDirective", + "src": "78:31:18" + }, + { + "attributes": { + "contractDependencies": [ + 7229, + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": "@title A scheme to manage global constaintg for organizations\r\n@dev The scheme is used to register or remove new global constraints\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 5874, + 7229, + 7259, + 9140 + ], + "name": "GlobalConstraintRegistrar", + "scope": 5875 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalScheme", + "referencedDeclaration": 7229, + "type": "contract UniversalScheme" + }, + "id": 5442, + "name": "UserDefinedTypeName", + "src": "302:15:18" + } + ], + "id": 5443, + "name": "InheritanceSpecifier", + "src": "302:15:18" + }, + { + "attributes": { + "anonymous": false, + "name": "NewGlobalConstraintsProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 5457, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5444, + "name": "ElementaryTypeName", + "src": "370:7:18" + } + ], + "id": 5445, + "name": "VariableDeclaration", + "src": "370:23:18" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 5457, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5446, + "name": "ElementaryTypeName", + "src": "404:7:18" + } + ], + "id": 5447, + "name": "VariableDeclaration", + "src": "404:27:18" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_intVoteInterface", + "scope": 5457, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5448, + "name": "ElementaryTypeName", + "src": "442:7:18" + } + ], + "id": 5449, + "name": "VariableDeclaration", + "src": "442:33:18" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_gc", + "scope": 5457, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5450, + "name": "ElementaryTypeName", + "src": "486:7:18" + } + ], + "id": 5451, + "name": "VariableDeclaration", + "src": "486:11:18" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_params", + "scope": 5457, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5452, + "name": "ElementaryTypeName", + "src": "508:7:18" + } + ], + "id": 5453, + "name": "VariableDeclaration", + "src": "508:15:18" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_voteToRemoveParams", + "scope": 5457, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5454, + "name": "ElementaryTypeName", + "src": "534:7:18" + } + ], + "id": 5455, + "name": "VariableDeclaration", + "src": "534:27:18" + } + ], + "id": 5456, + "name": "ParameterList", + "src": "359:209:18" + } + ], + "id": 5457, + "name": "EventDefinition", + "src": "325:244:18" + }, + { + "attributes": { + "anonymous": false, + "name": "RemoveGlobalConstraintsProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 5467, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5458, + "name": "ElementaryTypeName", + "src": "623:7:18" + } + ], + "id": 5459, + "name": "VariableDeclaration", + "src": "623:23:18" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 5467, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5460, + "name": "ElementaryTypeName", + "src": "657:7:18" + } + ], + "id": 5461, + "name": "VariableDeclaration", + "src": "657:27:18" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_intVoteInterface", + "scope": 5467, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5462, + "name": "ElementaryTypeName", + "src": "695:7:18" + } + ], + "id": 5463, + "name": "VariableDeclaration", + "src": "695:33:18" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_gc", + "scope": 5467, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5464, + "name": "ElementaryTypeName", + "src": "739:7:18" + } + ], + "id": 5465, + "name": "VariableDeclaration", + "src": "739:11:18" + } + ], + "id": 5466, + "name": "ParameterList", + "src": "612:145:18" + } + ], + "id": 5467, + "name": "EventDefinition", + "src": "575:183:18" + }, + { + "attributes": { + "anonymous": false, + "name": "ProposalExecuted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 5473, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5468, + "name": "ElementaryTypeName", + "src": "787:7:18" + } + ], + "id": 5469, + "name": "VariableDeclaration", + "src": "787:23:18" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 5473, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5470, + "name": "ElementaryTypeName", + "src": "812:7:18" + } + ], + "id": 5471, + "name": "VariableDeclaration", + "src": "812:27:18" + } + ], + "id": 5472, + "name": "ParameterList", + "src": "786:54:18" + } + ], + "id": 5473, + "name": "EventDefinition", + "src": "764:77:18" + }, + { + "attributes": { + "anonymous": false, + "name": "LogProposalDeleted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 5479, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5474, + "name": "ElementaryTypeName", + "src": "872:7:18" + } + ], + "id": 5475, + "name": "VariableDeclaration", + "src": "872:23:18" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 5479, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5476, + "name": "ElementaryTypeName", + "src": "897:7:18" + } + ], + "id": 5477, + "name": "VariableDeclaration", + "src": "897:27:18" + } + ], + "id": 5478, + "name": "ParameterList", + "src": "871:54:18" + } + ], + "id": 5479, + "name": "EventDefinition", + "src": "847:79:18" + }, + { + "attributes": { + "canonicalName": "GlobalConstraintRegistrar.GCProposal", + "name": "GCProposal", + "scope": 5874, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "gc", + "scope": 5488, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5480, + "name": "ElementaryTypeName", + "src": "1065:7:18" + } + ], + "id": 5481, + "name": "VariableDeclaration", + "src": "1065:10:18" + }, + { + "attributes": { + "constant": false, + "name": "params", + "scope": 5488, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5482, + "name": "ElementaryTypeName", + "src": "1135:7:18" + } + ], + "id": 5483, + "name": "VariableDeclaration", + "src": "1135:14:18" + }, + { + "attributes": { + "constant": false, + "name": "proposalType", + "scope": 5488, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5484, + "name": "ElementaryTypeName", + "src": "1197:4:18" + } + ], + "id": 5485, + "name": "VariableDeclaration", + "src": "1197:17:18" + }, + { + "attributes": { + "constant": false, + "name": "voteToRemoveParams", + "scope": 5488, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5486, + "name": "ElementaryTypeName", + "src": "1257:7:18" + } + ], + "id": 5487, + "name": "VariableDeclaration", + "src": "1257:26:18" + } + ], + "id": 5488, + "name": "StructDefinition", + "src": "1036:298:18" + }, + { + "attributes": { + "canonicalName": "GlobalConstraintRegistrar.Organization", + "name": "Organization", + "scope": 5874, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "voteRegisterParams", + "scope": 5501, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5489, + "name": "ElementaryTypeName", + "src": "1427:7:18" + } + ], + "id": 5490, + "name": "VariableDeclaration", + "src": "1427:26:18" + }, + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 5501, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 5491, + "name": "UserDefinedTypeName", + "src": "1506:16:18" + } + ], + "id": 5492, + "name": "VariableDeclaration", + "src": "1506:24:18" + }, + { + "attributes": { + "constant": false, + "name": "proposals", + "scope": 5501, + "stateVariable": false, + "storageLocation": "default", + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5493, + "name": "ElementaryTypeName", + "src": "1604:7:18" + }, + { + "attributes": { + "contractScope": null, + "name": "GCProposal", + "referencedDeclaration": 5488, + "type": "struct GlobalConstraintRegistrar.GCProposal storage pointer" + }, + "id": 5494, + "name": "UserDefinedTypeName", + "src": "1613:10:18" + } + ], + "id": 5495, + "name": "Mapping", + "src": "1596:28:18" + } + ], + "id": 5496, + "name": "VariableDeclaration", + "src": "1596:38:18" + }, + { + "attributes": { + "constant": false, + "name": "voteToRemoveParams", + "scope": 5501, + "stateVariable": false, + "storageLocation": "default", + "type": "mapping(address => bytes32)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => bytes32)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5497, + "name": "ElementaryTypeName", + "src": "1711:7:18" + }, + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5498, + "name": "ElementaryTypeName", + "src": "1720:7:18" + } + ], + "id": 5499, + "name": "Mapping", + "src": "1703:25:18" + } + ], + "id": 5500, + "name": "VariableDeclaration", + "src": "1703:44:18" + } + ], + "id": 5501, + "name": "StructDefinition", + "src": "1396:420:18" + }, + { + "attributes": { + "constant": false, + "name": "organizationsData", + "scope": 5874, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5502, + "name": "ElementaryTypeName", + "src": "1928:7:18" + }, + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 5501, + "type": "struct GlobalConstraintRegistrar.Organization storage pointer" + }, + "id": 5503, + "name": "UserDefinedTypeName", + "src": "1937:12:18" + } + ], + "id": 5504, + "name": "Mapping", + "src": "1920:30:18" + } + ], + "id": 5505, + "name": "VariableDeclaration", + "src": "1920:55:18" + }, + { + "attributes": { + "canonicalName": "GlobalConstraintRegistrar.Parameters", + "name": "Parameters", + "scope": 5874, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "voteRegisterParams", + "scope": 5510, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5506, + "name": "ElementaryTypeName", + "src": "2117:7:18" + } + ], + "id": 5507, + "name": "VariableDeclaration", + "src": "2117:26:18" + }, + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 5510, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 5508, + "name": "UserDefinedTypeName", + "src": "2154:16:18" + } + ], + "id": 5509, + "name": "VariableDeclaration", + "src": "2154:24:18" + } + ], + "id": 5510, + "name": "StructDefinition", + "src": "2088:98:18" + }, + { + "attributes": { + "constant": false, + "name": "parameters", + "scope": 5874, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5511, + "name": "ElementaryTypeName", + "src": "2202:7:18" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 5510, + "type": "struct GlobalConstraintRegistrar.Parameters storage pointer" + }, + "id": 5512, + "name": "UserDefinedTypeName", + "src": "2211:10:18" + } + ], + "id": 5513, + "name": "Mapping", + "src": "2194:28:18" + } + ], + "id": 5514, + "name": "VariableDeclaration", + "src": "2194:46:18" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "GlobalConstraintRegistrar", + "payable": false, + "scope": 5874, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 5533, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 5515, + "name": "UserDefinedTypeName", + "src": "2535:13:18" + } + ], + "id": 5516, + "name": "VariableDeclaration", + "src": "2535:26:18" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 5533, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5517, + "name": "ElementaryTypeName", + "src": "2563:4:18" + } + ], + "id": 5518, + "name": "VariableDeclaration", + "src": "2563:9:18" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 5533, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5519, + "name": "ElementaryTypeName", + "src": "2574:7:18" + } + ], + "id": 5520, + "name": "VariableDeclaration", + "src": "2574:20:18" + } + ], + "id": 5521, + "name": "ParameterList", + "src": "2534:61:18" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 5522, + "name": "ParameterList", + "src": "2603:0:18" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 7207 + ], + "referencedDeclaration": 7207, + "type": "function (contract StandardToken,uint256,address,bytes32)", + "value": "updateParameters" + }, + "id": 5523, + "name": "Identifier", + "src": "2614:16:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5516, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 5524, + "name": "Identifier", + "src": "2631:12:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5518, + "type": "uint256", + "value": "_fee" + }, + "id": 5525, + "name": "Identifier", + "src": "2645:4:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5520, + "type": "address", + "value": "_beneficiary" + }, + "id": 5526, + "name": "Identifier", + "src": "2651:12:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 5527, + "name": "ElementaryTypeNameExpression", + "src": "2665:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5528, + "name": "Literal", + "src": "2673:1:18" + } + ], + "id": 5529, + "name": "FunctionCall", + "src": "2665:10:18" + } + ], + "id": 5530, + "name": "FunctionCall", + "src": "2614:62:18" + } + ], + "id": 5531, + "name": "ExpressionStatement", + "src": "2614:62:18" + } + ], + "id": 5532, + "name": "Block", + "src": "2603:81:18" + } + ], + "id": 5533, + "name": "FunctionDefinition", + "src": "2500:184:18" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 5874, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_voteRegisterParams", + "scope": 5566, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5534, + "name": "ElementaryTypeName", + "src": "3006:7:18" + } + ], + "id": 5535, + "name": "VariableDeclaration", + "src": "3006:27:18" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 5566, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 5536, + "name": "UserDefinedTypeName", + "src": "3044:16:18" + } + ], + "id": 5537, + "name": "VariableDeclaration", + "src": "3044:25:18" + } + ], + "id": 5538, + "name": "ParameterList", + "src": "2995:81:18" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 5566, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5539, + "name": "ElementaryTypeName", + "src": "3092:7:18" + } + ], + "id": 5540, + "name": "VariableDeclaration", + "src": "3092:7:18" + } + ], + "id": 5541, + "name": "ParameterList", + "src": "3091:9:18" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 5543 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 5566, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5542, + "name": "ElementaryTypeName", + "src": "3117:7:18" + } + ], + "id": 5543, + "name": "VariableDeclaration", + "src": "3117:18:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5582, + "type": "function (bytes32,contract IntVoteInterface) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 5544, + "name": "Identifier", + "src": "3138:17:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5535, + "type": "bytes32", + "value": "_voteRegisterParams" + }, + "id": 5545, + "name": "Identifier", + "src": "3156:19:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5537, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 5546, + "name": "Identifier", + "src": "3177:8:18" + } + ], + "id": 5547, + "name": "FunctionCall", + "src": "3138:48:18" + } + ], + "id": 5548, + "name": "VariableDeclarationStatement", + "src": "3117:69:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "voteRegisterParams", + "referencedDeclaration": 5507, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5514, + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 5549, + "name": "Identifier", + "src": "3197:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5543, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 5550, + "name": "Identifier", + "src": "3208:10:18" + } + ], + "id": 5551, + "name": "IndexAccess", + "src": "3197:22:18" + } + ], + "id": 5552, + "name": "MemberAccess", + "src": "3197:41:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5535, + "type": "bytes32", + "value": "_voteRegisterParams" + }, + "id": 5553, + "name": "Identifier", + "src": "3241:19:18" + } + ], + "id": 5554, + "name": "Assignment", + "src": "3197:63:18" + } + ], + "id": 5555, + "name": "ExpressionStatement", + "src": "3197:63:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "intVote", + "referencedDeclaration": 5509, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5514, + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 5556, + "name": "Identifier", + "src": "3271:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5543, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 5557, + "name": "Identifier", + "src": "3282:10:18" + } + ], + "id": 5558, + "name": "IndexAccess", + "src": "3271:22:18" + } + ], + "id": 5559, + "name": "MemberAccess", + "src": "3271:30:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5537, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 5560, + "name": "Identifier", + "src": "3304:8:18" + } + ], + "id": 5561, + "name": "Assignment", + "src": "3271:41:18" + } + ], + "id": 5562, + "name": "ExpressionStatement", + "src": "3271:41:18" + }, + { + "attributes": { + "functionReturnParameters": 5541 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5543, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 5563, + "name": "Identifier", + "src": "3330:10:18" + } + ], + "id": 5564, + "name": "Return", + "src": "3323:17:18" + } + ], + "id": 5565, + "name": "Block", + "src": "3106:242:18" + } + ], + "id": 5566, + "name": "FunctionDefinition", + "src": "2973:375:18" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 5874, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_voteRegisterParams", + "scope": 5582, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5567, + "name": "ElementaryTypeName", + "src": "3618:7:18" + } + ], + "id": 5568, + "name": "VariableDeclaration", + "src": "3618:27:18" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 5582, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 5569, + "name": "UserDefinedTypeName", + "src": "3656:16:18" + } + ], + "id": 5570, + "name": "VariableDeclaration", + "src": "3656:25:18" + } + ], + "id": 5571, + "name": "ParameterList", + "src": "3607:81:18" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 5582, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5572, + "name": "ElementaryTypeName", + "src": "3709:7:18" + } + ], + "id": 5573, + "name": "VariableDeclaration", + "src": "3709:7:18" + } + ], + "id": 5574, + "name": "ParameterList", + "src": "3708:9:18" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 5574 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 5575, + "name": "Identifier", + "src": "3742:9:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5568, + "type": "bytes32", + "value": "_voteRegisterParams" + }, + "id": 5576, + "name": "Identifier", + "src": "3752:19:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5570, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 5577, + "name": "Identifier", + "src": "3773:8:18" + } + ], + "id": 5578, + "name": "FunctionCall", + "src": "3742:40:18" + } + ], + "id": 5579, + "name": "TupleExpression", + "src": "3741:42:18" + } + ], + "id": 5580, + "name": "Return", + "src": "3734:49:18" + } + ], + "id": 5581, + "name": "Block", + "src": "3723:68:18" + } + ], + "id": 5582, + "name": "FunctionDefinition", + "src": "3581:210:18" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "proposeGlobalConstraint", + "payable": false, + "scope": 5874, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 5663, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 5583, + "name": "UserDefinedTypeName", + "src": "4400:6:18" + } + ], + "id": 5584, + "name": "VariableDeclaration", + "src": "4400:14:18" + }, + { + "attributes": { + "constant": false, + "name": "_gc", + "scope": 5663, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5585, + "name": "ElementaryTypeName", + "src": "4416:7:18" + } + ], + "id": 5586, + "name": "VariableDeclaration", + "src": "4416:11:18" + }, + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 5663, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5587, + "name": "ElementaryTypeName", + "src": "4429:7:18" + } + ], + "id": 5588, + "name": "VariableDeclaration", + "src": "4429:15:18" + }, + { + "attributes": { + "constant": false, + "name": "_voteToRemoveParams", + "scope": 5663, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5589, + "name": "ElementaryTypeName", + "src": "4446:7:18" + } + ], + "id": 5590, + "name": "VariableDeclaration", + "src": "4446:27:18" + } + ], + "id": 5591, + "name": "ParameterList", + "src": "4399:75:18" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 5663, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5595, + "name": "ElementaryTypeName", + "src": "4541:7:18" + } + ], + "id": 5596, + "name": "VariableDeclaration", + "src": "4541:7:18" + } + ], + "id": 5597, + "name": "ParameterList", + "src": "4540:9:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7129, + "type": "modifier (address)", + "value": "onlyRegisteredOrganization" + }, + "id": 5592, + "name": "Identifier", + "src": "4492:26:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5584, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5593, + "name": "Identifier", + "src": "4519:7:18" + } + ], + "id": 5594, + "name": "ModifierInvocation", + "src": "4492:35:18" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 5599 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "votingParams", + "scope": 5663, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct GlobalConstraintRegistrar.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 5510, + "type": "struct GlobalConstraintRegistrar.Parameters storage pointer" + }, + "id": 5598, + "name": "UserDefinedTypeName", + "src": "4566:10:18" + } + ], + "id": 5599, + "name": "VariableDeclaration", + "src": "4566:30:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5514, + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 5600, + "name": "Identifier", + "src": "4599:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 5601, + "name": "Identifier", + "src": "4610:27:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5584, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5602, + "name": "Identifier", + "src": "4638:7:18" + } + ], + "id": 5603, + "name": "FunctionCall", + "src": "4610:36:18" + } + ], + "id": 5604, + "name": "IndexAccess", + "src": "4599:48:18" + } + ], + "id": 5605, + "name": "VariableDeclarationStatement", + "src": "4566:81:18" + }, + { + "attributes": { + "assignments": [ + 5607 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 5663, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 5606, + "name": "UserDefinedTypeName", + "src": "4660:16:18" + } + ], + "id": 5607, + "name": "VariableDeclaration", + "src": "4660:24:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 5509, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5599, + "type": "struct GlobalConstraintRegistrar.Parameters memory", + "value": "votingParams" + }, + "id": 5608, + "name": "Identifier", + "src": "4687:12:18" + } + ], + "id": 5609, + "name": "MemberAccess", + "src": "4687:20:18" + } + ], + "id": 5610, + "name": "VariableDeclarationStatement", + "src": "4660:47:18" + }, + { + "attributes": { + "assignments": [ + 5612 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposalId", + "scope": 5663, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5611, + "name": "ElementaryTypeName", + "src": "4718:7:18" + } + ], + "id": 5612, + "name": "VariableDeclaration", + "src": "4718:18:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_ExecutableInterface_$5155", + "typeString": "contract ExecutableInterface" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "propose", + "referencedDeclaration": 2570, + "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5607, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 5613, + "name": "Identifier", + "src": "4739:7:18" + } + ], + "id": 5614, + "name": "MemberAccess", + "src": "4739:15:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 5615, + "name": "Literal", + "src": "4755:1:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteRegisterParams", + "referencedDeclaration": 5507, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5599, + "type": "struct GlobalConstraintRegistrar.Parameters memory", + "value": "votingParams" + }, + "id": 5616, + "name": "Identifier", + "src": "4758:12:18" + } + ], + "id": 5617, + "name": "MemberAccess", + "src": "4758:31:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5584, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5618, + "name": "Identifier", + "src": "4791:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ExecutableInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_GlobalConstraintRegistrar_$5874", + "typeString": "contract GlobalConstraintRegistrar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5155, + "type": "type(contract ExecutableInterface)", + "value": "ExecutableInterface" + }, + "id": 5619, + "name": "Identifier", + "src": "4800:19:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9809, + "type": "contract GlobalConstraintRegistrar", + "value": "this" + }, + "id": 5620, + "name": "Identifier", + "src": "4820:4:18" + } + ], + "id": 5621, + "name": "FunctionCall", + "src": "4800:25:18" + } + ], + "id": 5622, + "name": "FunctionCall", + "src": "4739:87:18" + } + ], + "id": 5623, + "name": "VariableDeclarationStatement", + "src": "4718:108:18" + }, + { + "attributes": { + "assignments": [ + 5625 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 5663, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "GCProposal", + "referencedDeclaration": 5488, + "type": "struct GlobalConstraintRegistrar.GCProposal storage pointer" + }, + "id": 5624, + "name": "UserDefinedTypeName", + "src": "4839:10:18" + } + ], + "id": 5625, + "name": "VariableDeclaration", + "src": "4839:26:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "gc", + "params", + "proposalType", + "voteToRemoveParams" + ], + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5488, + "type": "type(struct GlobalConstraintRegistrar.GCProposal storage pointer)", + "value": "GCProposal" + }, + "id": 5626, + "name": "Identifier", + "src": "4868:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5586, + "type": "address", + "value": "_gc" + }, + "id": 5627, + "name": "Identifier", + "src": "4898:3:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5588, + "type": "bytes32", + "value": "_params" + }, + "id": 5628, + "name": "Identifier", + "src": "4924:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 5629, + "name": "Literal", + "src": "4960:1:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5590, + "type": "bytes32", + "value": "_voteToRemoveParams" + }, + "id": 5630, + "name": "Identifier", + "src": "4996:19:18" + } + ], + "id": 5631, + "name": "FunctionCall", + "src": "4868:159:18" + } + ], + "id": 5632, + "name": "VariableDeclarationStatement", + "src": "4839:188:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct GlobalConstraintRegistrar.GCProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct GlobalConstraintRegistrar.GCProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposals", + "referencedDeclaration": 5496, + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5505, + "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)", + "value": "organizationsData" + }, + "id": 5633, + "name": "Identifier", + "src": "5040:17:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5584, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5634, + "name": "Identifier", + "src": "5058:7:18" + } + ], + "id": 5635, + "name": "IndexAccess", + "src": "5040:26:18" + } + ], + "id": 5636, + "name": "MemberAccess", + "src": "5040:36:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5612, + "type": "bytes32", + "value": "proposalId" + }, + "id": 5637, + "name": "Identifier", + "src": "5077:10:18" + } + ], + "id": 5638, + "name": "IndexAccess", + "src": "5040:48:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5625, + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": "proposal" + }, + "id": 5639, + "name": "Identifier", + "src": "5091:8:18" + } + ], + "id": 5640, + "name": "Assignment", + "src": "5040:59:18" + } + ], + "id": 5641, + "name": "ExpressionStatement", + "src": "5040:59:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5457, + "type": "function (address,bytes32,address,address,bytes32,bytes32)", + "value": "NewGlobalConstraintsProposal" + }, + "id": 5642, + "name": "Identifier", + "src": "5110:28:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5584, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5643, + "name": "Identifier", + "src": "5153:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5612, + "type": "bytes32", + "value": "proposalId" + }, + "id": 5644, + "name": "Identifier", + "src": "5175:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5607, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 5645, + "name": "Identifier", + "src": "5200:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5586, + "type": "address", + "value": "_gc" + }, + "id": 5646, + "name": "Identifier", + "src": "5222:3:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5588, + "type": "bytes32", + "value": "_params" + }, + "id": 5647, + "name": "Identifier", + "src": "5240:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5590, + "type": "bytes32", + "value": "_voteToRemoveParams" + }, + "id": 5648, + "name": "Identifier", + "src": "5262:19:18" + } + ], + "id": 5649, + "name": "FunctionCall", + "src": "5110:182:18" + } + ], + "id": 5650, + "name": "ExpressionStatement", + "src": "5110:182:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "ownerVote", + "referencedDeclaration": 2597, + "type": "function (bytes32,uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5607, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 5651, + "name": "Identifier", + "src": "5303:7:18" + } + ], + "id": 5653, + "name": "MemberAccess", + "src": "5303:17:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5612, + "type": "bytes32", + "value": "proposalId" + }, + "id": 5654, + "name": "Identifier", + "src": "5321:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 5655, + "name": "Literal", + "src": "5333:1:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 5656, + "name": "Identifier", + "src": "5336:3:18" + } + ], + "id": 5657, + "name": "MemberAccess", + "src": "5336:10:18" + } + ], + "id": 5658, + "name": "FunctionCall", + "src": "5303:44:18" + } + ], + "id": 5659, + "name": "ExpressionStatement", + "src": "5303:44:18" + }, + { + "attributes": { + "functionReturnParameters": 5597 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5612, + "type": "bytes32", + "value": "proposalId" + }, + "id": 5660, + "name": "Identifier", + "src": "5421:10:18" + } + ], + "id": 5661, + "name": "Return", + "src": "5414:17:18" + } + ], + "id": 5662, + "name": "Block", + "src": "4555:884:18" + } + ], + "id": 5663, + "name": "FunctionDefinition", + "src": "4367:1072:18" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "proposeToRemoveGC", + "payable": false, + "scope": 5874, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 5763, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 5664, + "name": "UserDefinedTypeName", + "src": "5749:6:18" + } + ], + "id": 5665, + "name": "VariableDeclaration", + "src": "5749:14:18" + }, + { + "attributes": { + "constant": false, + "name": "_gc", + "scope": 5763, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5666, + "name": "ElementaryTypeName", + "src": "5765:7:18" + } + ], + "id": 5667, + "name": "VariableDeclaration", + "src": "5765:11:18" + } + ], + "id": 5668, + "name": "ParameterList", + "src": "5748:29:18" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 5763, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5672, + "name": "ElementaryTypeName", + "src": "5829:7:18" + } + ], + "id": 5673, + "name": "VariableDeclaration", + "src": "5829:7:18" + } + ], + "id": 5674, + "name": "ParameterList", + "src": "5828:9:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7129, + "type": "modifier (address)", + "value": "onlyRegisteredOrganization" + }, + "id": 5669, + "name": "Identifier", + "src": "5785:26:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5665, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5670, + "name": "Identifier", + "src": "5812:7:18" + } + ], + "id": 5671, + "name": "ModifierInvocation", + "src": "5785:35:18" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 5676 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "org", + "scope": 5763, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct GlobalConstraintRegistrar.Organization storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 5501, + "type": "struct GlobalConstraintRegistrar.Organization storage pointer" + }, + "id": 5675, + "name": "UserDefinedTypeName", + "src": "5849:12:18" + } + ], + "id": 5676, + "name": "VariableDeclaration", + "src": "5849:24:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5505, + "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)", + "value": "organizationsData" + }, + "id": 5677, + "name": "Identifier", + "src": "5876:17:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5665, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5678, + "name": "Identifier", + "src": "5894:7:18" + } + ], + "id": 5679, + "name": "IndexAccess", + "src": "5876:26:18" + } + ], + "id": 5680, + "name": "VariableDeclarationStatement", + "src": "5849:53:18" + }, + { + "attributes": { + "assignments": [ + 5682 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 5763, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 5681, + "name": "UserDefinedTypeName", + "src": "5913:10:18" + } + ], + "id": 5682, + "name": "VariableDeclaration", + "src": "5913:21:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 5683, + "name": "Identifier", + "src": "5937:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 5684, + "name": "Identifier", + "src": "5948:6:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5665, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5685, + "name": "Identifier", + "src": "5955:7:18" + } + ], + "id": 5686, + "name": "FunctionCall", + "src": "5948:15:18" + } + ], + "id": 5687, + "name": "MemberAccess", + "src": "5948:21:18" + } + ], + "id": 5688, + "name": "FunctionCall", + "src": "5948:23:18" + } + ], + "id": 5689, + "name": "FunctionCall", + "src": "5937:35:18" + } + ], + "id": 5690, + "name": "VariableDeclarationStatement", + "src": "5913:59:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 5691, + "name": "Identifier", + "src": "5983:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "isGlobalConstraintRegister", + "referencedDeclaration": 3764, + "type": "function (address) view external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5682, + "type": "contract Controller", + "value": "controller" + }, + "id": 5692, + "name": "Identifier", + "src": "5991:10:18" + } + ], + "id": 5693, + "name": "MemberAccess", + "src": "5991:37:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5667, + "type": "address", + "value": "_gc" + }, + "id": 5694, + "name": "Identifier", + "src": "6029:3:18" + } + ], + "id": 5695, + "name": "FunctionCall", + "src": "5991:42:18" + } + ], + "id": 5696, + "name": "FunctionCall", + "src": "5983:51:18" + } + ], + "id": 5697, + "name": "ExpressionStatement", + "src": "5983:51:18" + }, + { + "attributes": { + "assignments": [ + 5699 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 5763, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct GlobalConstraintRegistrar.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 5510, + "type": "struct GlobalConstraintRegistrar.Parameters storage pointer" + }, + "id": 5698, + "name": "UserDefinedTypeName", + "src": "6045:10:18" + } + ], + "id": 5699, + "name": "VariableDeclaration", + "src": "6045:24:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5514, + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 5700, + "name": "Identifier", + "src": "6072:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 5701, + "name": "Identifier", + "src": "6083:27:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5665, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5702, + "name": "Identifier", + "src": "6111:7:18" + } + ], + "id": 5703, + "name": "FunctionCall", + "src": "6083:36:18" + } + ], + "id": 5704, + "name": "IndexAccess", + "src": "6072:48:18" + } + ], + "id": 5705, + "name": "VariableDeclarationStatement", + "src": "6045:75:18" + }, + { + "attributes": { + "assignments": [ + 5707 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 5763, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 5706, + "name": "UserDefinedTypeName", + "src": "6131:16:18" + } + ], + "id": 5707, + "name": "VariableDeclaration", + "src": "6131:24:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 5509, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5699, + "type": "struct GlobalConstraintRegistrar.Parameters memory", + "value": "params" + }, + "id": 5708, + "name": "Identifier", + "src": "6158:6:18" + } + ], + "id": 5709, + "name": "MemberAccess", + "src": "6158:14:18" + } + ], + "id": 5710, + "name": "VariableDeclarationStatement", + "src": "6131:41:18" + }, + { + "attributes": { + "assignments": [ + 5712 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposalId", + "scope": 5763, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5711, + "name": "ElementaryTypeName", + "src": "6183:7:18" + } + ], + "id": 5712, + "name": "VariableDeclaration", + "src": "6183:18:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_ExecutableInterface_$5155", + "typeString": "contract ExecutableInterface" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "propose", + "referencedDeclaration": 2570, + "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5707, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 5713, + "name": "Identifier", + "src": "6204:7:18" + } + ], + "id": 5714, + "name": "MemberAccess", + "src": "6204:15:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 5715, + "name": "Literal", + "src": "6220:1:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteToRemoveParams", + "referencedDeclaration": 5500, + "type": "mapping(address => bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5676, + "type": "struct GlobalConstraintRegistrar.Organization storage pointer", + "value": "org" + }, + "id": 5716, + "name": "Identifier", + "src": "6223:3:18" + } + ], + "id": 5717, + "name": "MemberAccess", + "src": "6223:22:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5667, + "type": "address", + "value": "_gc" + }, + "id": 5718, + "name": "Identifier", + "src": "6246:3:18" + } + ], + "id": 5719, + "name": "IndexAccess", + "src": "6223:27:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5665, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5720, + "name": "Identifier", + "src": "6252:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ExecutableInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_GlobalConstraintRegistrar_$5874", + "typeString": "contract GlobalConstraintRegistrar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5155, + "type": "type(contract ExecutableInterface)", + "value": "ExecutableInterface" + }, + "id": 5721, + "name": "Identifier", + "src": "6261:19:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9809, + "type": "contract GlobalConstraintRegistrar", + "value": "this" + }, + "id": 5722, + "name": "Identifier", + "src": "6281:4:18" + } + ], + "id": 5723, + "name": "FunctionCall", + "src": "6261:25:18" + } + ], + "id": 5724, + "name": "FunctionCall", + "src": "6204:83:18" + } + ], + "id": 5725, + "name": "VariableDeclarationStatement", + "src": "6183:104:18" + }, + { + "attributes": { + "assignments": [ + 5727 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 5763, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "GCProposal", + "referencedDeclaration": 5488, + "type": "struct GlobalConstraintRegistrar.GCProposal storage pointer" + }, + "id": 5726, + "name": "UserDefinedTypeName", + "src": "6300:10:18" + } + ], + "id": 5727, + "name": "VariableDeclaration", + "src": "6300:26:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "gc", + "params", + "proposalType", + "voteToRemoveParams" + ], + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5488, + "type": "type(struct GlobalConstraintRegistrar.GCProposal storage pointer)", + "value": "GCProposal" + }, + "id": 5728, + "name": "Identifier", + "src": "6329:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5667, + "type": "address", + "value": "_gc" + }, + "id": 5729, + "name": "Identifier", + "src": "6359:3:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5730, + "name": "Literal", + "src": "6385:1:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 5731, + "name": "Literal", + "src": "6415:1:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5732, + "name": "Literal", + "src": "6451:1:18" + } + ], + "id": 5733, + "name": "FunctionCall", + "src": "6329:135:18" + } + ], + "id": 5734, + "name": "VariableDeclarationStatement", + "src": "6300:164:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct GlobalConstraintRegistrar.GCProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct GlobalConstraintRegistrar.GCProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposals", + "referencedDeclaration": 5496, + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5505, + "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)", + "value": "organizationsData" + }, + "id": 5735, + "name": "Identifier", + "src": "6477:17:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5665, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5736, + "name": "Identifier", + "src": "6495:7:18" + } + ], + "id": 5737, + "name": "IndexAccess", + "src": "6477:26:18" + } + ], + "id": 5738, + "name": "MemberAccess", + "src": "6477:36:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5712, + "type": "bytes32", + "value": "proposalId" + }, + "id": 5739, + "name": "Identifier", + "src": "6514:10:18" + } + ], + "id": 5740, + "name": "IndexAccess", + "src": "6477:48:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5727, + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": "proposal" + }, + "id": 5741, + "name": "Identifier", + "src": "6528:8:18" + } + ], + "id": 5742, + "name": "Assignment", + "src": "6477:59:18" + } + ], + "id": 5743, + "name": "ExpressionStatement", + "src": "6477:59:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5467, + "type": "function (address,bytes32,address,address)", + "value": "RemoveGlobalConstraintsProposal" + }, + "id": 5744, + "name": "Identifier", + "src": "6547:31:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5665, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 5745, + "name": "Identifier", + "src": "6579:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5712, + "type": "bytes32", + "value": "proposalId" + }, + "id": 5746, + "name": "Identifier", + "src": "6588:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5707, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 5747, + "name": "Identifier", + "src": "6600:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5667, + "type": "address", + "value": "_gc" + }, + "id": 5748, + "name": "Identifier", + "src": "6609:3:18" + } + ], + "id": 5749, + "name": "FunctionCall", + "src": "6547:66:18" + } + ], + "id": 5750, + "name": "ExpressionStatement", + "src": "6547:66:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "ownerVote", + "referencedDeclaration": 2597, + "type": "function (bytes32,uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5707, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 5751, + "name": "Identifier", + "src": "6624:7:18" + } + ], + "id": 5753, + "name": "MemberAccess", + "src": "6624:17:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5712, + "type": "bytes32", + "value": "proposalId" + }, + "id": 5754, + "name": "Identifier", + "src": "6642:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 5755, + "name": "Literal", + "src": "6654:1:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 5756, + "name": "Identifier", + "src": "6657:3:18" + } + ], + "id": 5757, + "name": "MemberAccess", + "src": "6657:10:18" + } + ], + "id": 5758, + "name": "FunctionCall", + "src": "6624:44:18" + } + ], + "id": 5759, + "name": "ExpressionStatement", + "src": "6624:44:18" + }, + { + "attributes": { + "functionReturnParameters": 5674 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5712, + "type": "bytes32", + "value": "proposalId" + }, + "id": 5760, + "name": "Identifier", + "src": "6742:10:18" + } + ], + "id": 5761, + "name": "Return", + "src": "6735:17:18" + } + ], + "id": 5762, + "name": "Block", + "src": "5838:922:18" + } + ], + "id": 5763, + "name": "FunctionDefinition", + "src": "5722:1038:18" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "execute", + "payable": false, + "scope": 5874, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 5873, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5764, + "name": "ElementaryTypeName", + "src": "7167:7:18" + } + ], + "id": 5765, + "name": "VariableDeclaration", + "src": "7167:19:18" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 5873, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5766, + "name": "ElementaryTypeName", + "src": "7188:7:18" + } + ], + "id": 5767, + "name": "VariableDeclaration", + "src": "7188:15:18" + }, + { + "attributes": { + "constant": false, + "name": "_param", + "scope": 5873, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 5768, + "name": "ElementaryTypeName", + "src": "7205:3:18" + } + ], + "id": 5769, + "name": "VariableDeclaration", + "src": "7205:10:18" + } + ], + "id": 5770, + "name": "ParameterList", + "src": "7166:50:18" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 5873, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 5771, + "name": "ElementaryTypeName", + "src": "7234:4:18" + } + ], + "id": 5772, + "name": "VariableDeclaration", + "src": "7234:4:18" + } + ], + "id": 5773, + "name": "ParameterList", + "src": "7233:6:18" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 5774, + "name": "Identifier", + "src": "7312:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 5509, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5514, + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 5775, + "name": "Identifier", + "src": "7320:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 5776, + "name": "Identifier", + "src": "7331:27:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 5777, + "name": "Identifier", + "src": "7359:6:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5767, + "type": "address", + "value": "_avatar" + }, + "id": 5778, + "name": "Identifier", + "src": "7366:7:18" + } + ], + "id": 5779, + "name": "FunctionCall", + "src": "7359:15:18" + } + ], + "id": 5780, + "name": "FunctionCall", + "src": "7331:44:18" + } + ], + "id": 5781, + "name": "IndexAccess", + "src": "7320:56:18" + } + ], + "id": 5782, + "name": "MemberAccess", + "src": "7320:64:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 5783, + "name": "Identifier", + "src": "7388:3:18" + } + ], + "id": 5784, + "name": "MemberAccess", + "src": "7388:10:18" + } + ], + "id": 5785, + "name": "BinaryOperation", + "src": "7320:78:18" + } + ], + "id": 5786, + "name": "FunctionCall", + "src": "7312:87:18" + } + ], + "id": 5787, + "name": "ExpressionStatement", + "src": "7312:87:18" + }, + { + "attributes": { + "assignments": [ + 5789 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "retVal", + "scope": 5873, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 5788, + "name": "ElementaryTypeName", + "src": "7410:4:18" + } + ], + "id": 5789, + "name": "VariableDeclaration", + "src": "7410:11:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 5790, + "name": "Literal", + "src": "7424:4:18" + } + ], + "id": 5791, + "name": "VariableDeclarationStatement", + "src": "7410:18:18" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5769, + "type": "int256", + "value": "_param" + }, + "id": 5792, + "name": "Identifier", + "src": "7485:6:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 5793, + "name": "Literal", + "src": "7495:1:18" + } + ], + "id": 5794, + "name": "BinaryOperation", + "src": "7485:11:18" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 5796 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 5873, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 5795, + "name": "UserDefinedTypeName", + "src": "7566:10:18" + } + ], + "id": 5796, + "name": "VariableDeclaration", + "src": "7566:21:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 5797, + "name": "Identifier", + "src": "7590:10:18" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 5798, + "name": "Identifier", + "src": "7601:6:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5767, + "type": "address", + "value": "_avatar" + }, + "id": 5799, + "name": "Identifier", + "src": "7608:7:18" + } + ], + "id": 5800, + "name": "FunctionCall", + "src": "7601:15:18" + } + ], + "id": 5801, + "name": "MemberAccess", + "src": "7601:21:18" + } + ], + "id": 5802, + "name": "FunctionCall", + "src": "7601:23:18" + } + ], + "id": 5803, + "name": "FunctionCall", + "src": "7590:35:18" + } + ], + "id": 5804, + "name": "VariableDeclarationStatement", + "src": "7566:59:18" + }, + { + "attributes": { + "assignments": [ + 5806 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 5873, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "GCProposal", + "referencedDeclaration": 5488, + "type": "struct GlobalConstraintRegistrar.GCProposal storage pointer" + }, + "id": 5805, + "name": "UserDefinedTypeName", + "src": "7640:10:18" + } + ], + "id": 5806, + "name": "VariableDeclaration", + "src": "7640:26:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.GCProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposals", + "referencedDeclaration": 5496, + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5505, + "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)", + "value": "organizationsData" + }, + "id": 5807, + "name": "Identifier", + "src": "7669:17:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5767, + "type": "address", + "value": "_avatar" + }, + "id": 5808, + "name": "Identifier", + "src": "7687:7:18" + } + ], + "id": 5809, + "name": "IndexAccess", + "src": "7669:26:18" + } + ], + "id": 5810, + "name": "MemberAccess", + "src": "7669:36:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5765, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 5811, + "name": "Identifier", + "src": "7706:11:18" + } + ], + "id": 5812, + "name": "IndexAccess", + "src": "7669:49:18" + } + ], + "id": 5813, + "name": "VariableDeclarationStatement", + "src": "7640:78:18" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposalType", + "referencedDeclaration": 5485, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5806, + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": "proposal" + }, + "id": 5814, + "name": "Identifier", + "src": "7761:8:18" + } + ], + "id": 5815, + "name": "MemberAccess", + "src": "7761:21:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 5816, + "name": "Literal", + "src": "7786:1:18" + } + ], + "id": 5817, + "name": "BinaryOperation", + "src": "7761:26:18" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5789, + "type": "bool", + "value": "retVal" + }, + "id": 5818, + "name": "Identifier", + "src": "7808:6:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "addGlobalConstraint", + "referencedDeclaration": 3822, + "type": "function (address,bytes32) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5796, + "type": "contract Controller", + "value": "controller" + }, + "id": 5819, + "name": "Identifier", + "src": "7817:10:18" + } + ], + "id": 5820, + "name": "MemberAccess", + "src": "7817:30:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "gc", + "referencedDeclaration": 5481, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5806, + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": "proposal" + }, + "id": 5821, + "name": "Identifier", + "src": "7848:8:18" + } + ], + "id": 5822, + "name": "MemberAccess", + "src": "7848:11:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "params", + "referencedDeclaration": 5483, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5806, + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": "proposal" + }, + "id": 5823, + "name": "Identifier", + "src": "7861:8:18" + } + ], + "id": 5824, + "name": "MemberAccess", + "src": "7861:15:18" + } + ], + "id": 5825, + "name": "FunctionCall", + "src": "7817:60:18" + } + ], + "id": 5826, + "name": "Assignment", + "src": "7808:69:18" + } + ], + "id": 5827, + "name": "ExpressionStatement", + "src": "7808:69:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteToRemoveParams", + "referencedDeclaration": 5500, + "type": "mapping(address => bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5505, + "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)", + "value": "organizationsData" + }, + "id": 5828, + "name": "Identifier", + "src": "7896:17:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5767, + "type": "address", + "value": "_avatar" + }, + "id": 5829, + "name": "Identifier", + "src": "7914:7:18" + } + ], + "id": 5830, + "name": "IndexAccess", + "src": "7896:26:18" + } + ], + "id": 5831, + "name": "MemberAccess", + "src": "7896:45:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "gc", + "referencedDeclaration": 5481, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5806, + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": "proposal" + }, + "id": 5832, + "name": "Identifier", + "src": "7942:8:18" + } + ], + "id": 5833, + "name": "MemberAccess", + "src": "7942:11:18" + } + ], + "id": 5834, + "name": "IndexAccess", + "src": "7896:58:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteToRemoveParams", + "referencedDeclaration": 5487, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5806, + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": "proposal" + }, + "id": 5835, + "name": "Identifier", + "src": "7957:8:18" + } + ], + "id": 5836, + "name": "MemberAccess", + "src": "7957:27:18" + } + ], + "id": 5837, + "name": "Assignment", + "src": "7896:88:18" + } + ], + "id": 5838, + "name": "ExpressionStatement", + "src": "7896:88:18" + } + ], + "id": 5839, + "name": "Block", + "src": "7789:213:18" + } + ], + "id": 5840, + "name": "IfStatement", + "src": "7757:245:18" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposalType", + "referencedDeclaration": 5485, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5806, + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": "proposal" + }, + "id": 5841, + "name": "Identifier", + "src": "8046:8:18" + } + ], + "id": 5842, + "name": "MemberAccess", + "src": "8046:21:18" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 5843, + "name": "Literal", + "src": "8071:1:18" + } + ], + "id": 5844, + "name": "BinaryOperation", + "src": "8046:26:18" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5789, + "type": "bool", + "value": "retVal" + }, + "id": 5845, + "name": "Identifier", + "src": "8093:6:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "removeGlobalConstraint", + "referencedDeclaration": 3896, + "type": "function (address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5796, + "type": "contract Controller", + "value": "controller" + }, + "id": 5846, + "name": "Identifier", + "src": "8102:10:18" + } + ], + "id": 5847, + "name": "MemberAccess", + "src": "8102:33:18" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "gc", + "referencedDeclaration": 5481, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5806, + "type": "struct GlobalConstraintRegistrar.GCProposal memory", + "value": "proposal" + }, + "id": 5848, + "name": "Identifier", + "src": "8136:8:18" + } + ], + "id": 5849, + "name": "MemberAccess", + "src": "8136:11:18" + } + ], + "id": 5850, + "name": "FunctionCall", + "src": "8102:46:18" + } + ], + "id": 5851, + "name": "Assignment", + "src": "8093:55:18" + } + ], + "id": 5852, + "name": "ExpressionStatement", + "src": "8093:55:18" + } + ], + "id": 5853, + "name": "Block", + "src": "8074:92:18" + } + ], + "id": 5854, + "name": "IfStatement", + "src": "8042:124:18" + } + ], + "id": 5855, + "name": "Block", + "src": "7499:678:18" + } + ], + "id": 5856, + "name": "IfStatement", + "src": "7481:696:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct GlobalConstraintRegistrar.GCProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposals", + "referencedDeclaration": 5496, + "type": "mapping(bytes32 => struct GlobalConstraintRegistrar.GCProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct GlobalConstraintRegistrar.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5505, + "type": "mapping(address => struct GlobalConstraintRegistrar.Organization storage ref)", + "value": "organizationsData" + }, + "id": 5857, + "name": "Identifier", + "src": "8194:17:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5767, + "type": "address", + "value": "_avatar" + }, + "id": 5858, + "name": "Identifier", + "src": "8212:7:18" + } + ], + "id": 5859, + "name": "IndexAccess", + "src": "8194:26:18" + } + ], + "id": 5860, + "name": "MemberAccess", + "src": "8194:36:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5765, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 5861, + "name": "Identifier", + "src": "8231:11:18" + } + ], + "id": 5862, + "name": "IndexAccess", + "src": "8194:49:18" + } + ], + "id": 5863, + "name": "UnaryOperation", + "src": "8187:56:18" + } + ], + "id": 5864, + "name": "ExpressionStatement", + "src": "8187:56:18" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5473, + "type": "function (address,bytes32)", + "value": "ProposalExecuted" + }, + "id": 5865, + "name": "Identifier", + "src": "8254:16:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5767, + "type": "address", + "value": "_avatar" + }, + "id": 5866, + "name": "Identifier", + "src": "8271:7:18" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5765, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 5867, + "name": "Identifier", + "src": "8280:11:18" + } + ], + "id": 5868, + "name": "FunctionCall", + "src": "8254:38:18" + } + ], + "id": 5869, + "name": "ExpressionStatement", + "src": "8254:38:18" + }, + { + "attributes": { + "functionReturnParameters": 5773 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5789, + "type": "bool", + "value": "retVal" + }, + "id": 5870, + "name": "Identifier", + "src": "8310:6:18" + } + ], + "id": 5871, + "name": "Return", + "src": "8303:13:18" + } + ], + "id": 5872, + "name": "Block", + "src": "7240:1084:18" + } + ], + "id": 5873, + "name": "FunctionDefinition", + "src": "7150:1174:18" + } + ], + "id": 5874, + "name": "ContractDefinition", + "src": "264:8063:18" + } + ], + "id": 5875, + "name": "SourceUnit", + "src": "0:8329:18" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "42": { + "events": { + "0x4e87f569c5a3f504eea38add71bbdd022e5d63d0ee92d4130c407b8d64941bc0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_gc", + "type": "address" + }, + { + "indexed": false, + "name": "_params", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_voteToRemoveParams", + "type": "bytes32" + } + ], + "name": "NewGlobalConstraintsProposal", + "type": "event" + }, + "0x661684a19fb0680f3f8beceaa9ee56c665ffec0875442e2cddc9a7a887d35c3e": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_gc", + "type": "address" + } + ], + "name": "RemoveGlobalConstraintsProposal", + "type": "event" + }, + "0x253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f533": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "ProposalExecuted", + "type": "event" + }, + "0xb5a530776d05e9cd7b304c6670fc54c08de4635c6c958237204d61215ca1ce34": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalDeleted", + "type": "event" + }, + "0x2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e5": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + "0x3e49374a7db898f4d722a5bb59326d1c41e883a698b84df91f09ebe018070732": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xa02270becd272930ff7139a79039aca343fea332" + }, + "1512051714758": { + "events": { + "0x4e87f569c5a3f504eea38add71bbdd022e5d63d0ee92d4130c407b8d64941bc0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_gc", + "type": "address" + }, + { + "indexed": false, + "name": "_params", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_voteToRemoveParams", + "type": "bytes32" + } + ], + "name": "NewGlobalConstraintsProposal", + "type": "event" + }, + "0x661684a19fb0680f3f8beceaa9ee56c665ffec0875442e2cddc9a7a887d35c3e": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_gc", + "type": "address" + } + ], + "name": "RemoveGlobalConstraintsProposal", + "type": "event" + }, + "0x253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f533": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "ProposalExecuted", + "type": "event" + }, + "0xb5a530776d05e9cd7b304c6670fc54c08de4635c6c958237204d61215ca1ce34": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalDeleted", + "type": "event" + }, + "0x2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e5": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + "0x3e49374a7db898f4d722a5bb59326d1c41e883a698b84df91f09ebe018070732": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x6c3e1054419033030da0cd279a40cd32cee145d8" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.887Z" +} \ No newline at end of file diff --git a/contracts/IntVoteInterface.json b/contracts/IntVoteInterface.json new file mode 100644 index 000000000..b8b4d80a1 --- /dev/null +++ b/contracts/IntVoteInterface.json @@ -0,0 +1,1631 @@ +{ + "contractName": "IntVoteInterface", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "ownerVote", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "cancelProposal", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_numOfChoices", + "type": "uint256" + }, + { + "name": "_proposalParameters", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_executable", + "type": "address" + } + ], + "name": "propose", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "cancelVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + } + ], + "name": "vote", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getNumberOfChoices", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + }, + { + "name": "_rep", + "type": "uint256" + }, + { + "name": "_token", + "type": "uint256" + } + ], + "name": "voteWithSpecifiedAmounts", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "isVotable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../universalSchemes/ExecutableInterface.sol\";\r\n\r\n\r\ncontract IntVoteInterface {\r\n modifier onlyProposalOwner(bytes32 _proposalId) {_;}\r\n modifier votable(bytes32 _proposalId) {_;}\r\n\r\n function propose(\r\n uint _numOfChoices,\r\n bytes32 _proposalParameters,\r\n address _avatar,\r\n ExecutableInterface _executable\r\n ) public returns(bytes32);\r\n\r\n // Only owned proposals and only the owner:\r\n function cancelProposal(bytes32 _proposalId) public onlyProposalOwner(_proposalId) votable(_proposalId) returns(bool);\r\n\r\n // Only owned proposals and only the owner:\r\n function ownerVote(bytes32 _proposalId, uint _vote, address _voter) public onlyProposalOwner(_proposalId) returns(bool);\r\n\r\n function vote(bytes32 _proposalId, uint _vote) public votable(_proposalId) returns(bool);\r\n\r\n function voteWithSpecifiedAmounts(\r\n bytes32 _proposalId,\r\n uint _vote,\r\n uint _rep,\r\n uint _token) public votable(_proposalId) returns(bool);\r\n\r\n function cancelVote(bytes32 _proposalId) public votable(_proposalId);\r\n\r\n //@dev execute check if the proposal has been decided, and if so, execute the proposal\r\n //@param _proposalId the id of the proposal\r\n //@return bool true - the proposal has been executed\r\n // false - otherwise.\r\n function execute(bytes32 _proposalId) public votable(_proposalId) returns(bool);\r\n\r\n function getNumberOfChoices(bytes32 _proposalId) public constant returns(uint);\r\n\r\n function isVotable(bytes32 _proposalId) public constant returns(bool);\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\VotingMachines\\IntVoteInterface.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/IntVoteInterface.sol", + "exportedSymbols": { + "IntVoteInterface": [ + 2658 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 2544, + "name": "PragmaDirective", + "src": "0:24:3" + }, + { + "attributes": { + "SourceUnit": 5156, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/ExecutableInterface.sol", + "file": "../universalSchemes/ExecutableInterface.sol", + "scope": 2659, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2545, + "name": "ImportDirective", + "src": "28:53:3" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 2658 + ], + "name": "IntVoteInterface", + "scope": 2659 + }, + "children": [ + { + "attributes": { + "name": "onlyProposalOwner", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2551, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2546, + "name": "ElementaryTypeName", + "src": "147:7:3" + } + ], + "id": 2547, + "name": "VariableDeclaration", + "src": "147:19:3" + } + ], + "id": 2548, + "name": "ParameterList", + "src": "146:21:3" + }, + { + "children": [ + { + "id": 2549, + "name": "PlaceholderStatement", + "src": "169:1:3" + } + ], + "id": 2550, + "name": "Block", + "src": "168:4:3" + } + ], + "id": 2551, + "name": "ModifierDefinition", + "src": "120:52:3" + }, + { + "attributes": { + "name": "votable", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2557, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2552, + "name": "ElementaryTypeName", + "src": "195:7:3" + } + ], + "id": 2553, + "name": "VariableDeclaration", + "src": "195:19:3" + } + ], + "id": 2554, + "name": "ParameterList", + "src": "194:21:3" + }, + { + "children": [ + { + "id": 2555, + "name": "PlaceholderStatement", + "src": "217:1:3" + } + ], + "id": 2556, + "name": "Block", + "src": "216:4:3" + } + ], + "id": 2557, + "name": "ModifierDefinition", + "src": "178:42:3" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "propose", + "payable": false, + "scope": 2658, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_numOfChoices", + "scope": 2570, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2558, + "name": "ElementaryTypeName", + "src": "255:4:3" + } + ], + "id": 2559, + "name": "VariableDeclaration", + "src": "255:18:3" + }, + { + "attributes": { + "constant": false, + "name": "_proposalParameters", + "scope": 2570, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2560, + "name": "ElementaryTypeName", + "src": "284:7:3" + } + ], + "id": 2561, + "name": "VariableDeclaration", + "src": "284:27:3" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 2570, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2562, + "name": "ElementaryTypeName", + "src": "322:7:3" + } + ], + "id": 2563, + "name": "VariableDeclaration", + "src": "322:15:3" + }, + { + "attributes": { + "constant": false, + "name": "_executable", + "scope": 2570, + "stateVariable": false, + "storageLocation": "default", + "type": "contract ExecutableInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ExecutableInterface", + "referencedDeclaration": 5155, + "type": "contract ExecutableInterface" + }, + "id": 2564, + "name": "UserDefinedTypeName", + "src": "348:19:3" + } + ], + "id": 2565, + "name": "VariableDeclaration", + "src": "348:31:3" + } + ], + "id": 2566, + "name": "ParameterList", + "src": "244:146:3" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2570, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2567, + "name": "ElementaryTypeName", + "src": "406:7:3" + } + ], + "id": 2568, + "name": "VariableDeclaration", + "src": "406:7:3" + } + ], + "id": 2569, + "name": "ParameterList", + "src": "405:9:3" + } + ], + "id": 2570, + "name": "FunctionDefinition", + "src": "228:187:3" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "name": "cancelProposal", + "payable": false, + "scope": 2658, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2583, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2571, + "name": "ElementaryTypeName", + "src": "496:7:3" + } + ], + "id": 2572, + "name": "VariableDeclaration", + "src": "496:19:3" + } + ], + "id": 2573, + "name": "ParameterList", + "src": "495:21:3" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2583, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2580, + "name": "ElementaryTypeName", + "src": "584:4:3" + } + ], + "id": 2581, + "name": "VariableDeclaration", + "src": "584:4:3" + } + ], + "id": 2582, + "name": "ParameterList", + "src": "583:6:3" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2551, + "type": "modifier (bytes32)", + "value": "onlyProposalOwner" + }, + "id": 2574, + "name": "Identifier", + "src": "524:17:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2572, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2575, + "name": "Identifier", + "src": "542:11:3" + } + ], + "id": 2576, + "name": "ModifierInvocation", + "src": "524:30:3" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2557, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 2577, + "name": "Identifier", + "src": "555:7:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2572, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2578, + "name": "Identifier", + "src": "563:11:3" + } + ], + "id": 2579, + "name": "ModifierInvocation", + "src": "555:20:3" + } + ], + "id": 2583, + "name": "FunctionDefinition", + "src": "472:118:3" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "name": "ownerVote", + "payable": false, + "scope": 2658, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2597, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2584, + "name": "ElementaryTypeName", + "src": "666:7:3" + } + ], + "id": 2585, + "name": "VariableDeclaration", + "src": "666:19:3" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 2597, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2586, + "name": "ElementaryTypeName", + "src": "687:4:3" + } + ], + "id": 2587, + "name": "VariableDeclaration", + "src": "687:10:3" + }, + { + "attributes": { + "constant": false, + "name": "_voter", + "scope": 2597, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2588, + "name": "ElementaryTypeName", + "src": "699:7:3" + } + ], + "id": 2589, + "name": "VariableDeclaration", + "src": "699:14:3" + } + ], + "id": 2590, + "name": "ParameterList", + "src": "665:49:3" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2597, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2594, + "name": "ElementaryTypeName", + "src": "761:4:3" + } + ], + "id": 2595, + "name": "VariableDeclaration", + "src": "761:4:3" + } + ], + "id": 2596, + "name": "ParameterList", + "src": "760:6:3" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2551, + "type": "modifier (bytes32)", + "value": "onlyProposalOwner" + }, + "id": 2591, + "name": "Identifier", + "src": "722:17:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2585, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2592, + "name": "Identifier", + "src": "740:11:3" + } + ], + "id": 2593, + "name": "ModifierInvocation", + "src": "722:30:3" + } + ], + "id": 2597, + "name": "FunctionDefinition", + "src": "647:120:3" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "name": "vote", + "payable": false, + "scope": 2658, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2609, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2598, + "name": "ElementaryTypeName", + "src": "789:7:3" + } + ], + "id": 2599, + "name": "VariableDeclaration", + "src": "789:19:3" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 2609, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2600, + "name": "ElementaryTypeName", + "src": "810:4:3" + } + ], + "id": 2601, + "name": "VariableDeclaration", + "src": "810:10:3" + } + ], + "id": 2602, + "name": "ParameterList", + "src": "788:33:3" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2609, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2606, + "name": "ElementaryTypeName", + "src": "858:4:3" + } + ], + "id": 2607, + "name": "VariableDeclaration", + "src": "858:4:3" + } + ], + "id": 2608, + "name": "ParameterList", + "src": "857:6:3" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2557, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 2603, + "name": "Identifier", + "src": "829:7:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2599, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2604, + "name": "Identifier", + "src": "837:11:3" + } + ], + "id": 2605, + "name": "ModifierInvocation", + "src": "829:20:3" + } + ], + "id": 2609, + "name": "FunctionDefinition", + "src": "775:89:3" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "name": "voteWithSpecifiedAmounts", + "payable": false, + "scope": 2658, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2625, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2610, + "name": "ElementaryTypeName", + "src": "916:7:3" + } + ], + "id": 2611, + "name": "VariableDeclaration", + "src": "916:19:3" + }, + { + "attributes": { + "constant": false, + "name": "_vote", + "scope": 2625, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2612, + "name": "ElementaryTypeName", + "src": "946:4:3" + } + ], + "id": 2613, + "name": "VariableDeclaration", + "src": "946:10:3" + }, + { + "attributes": { + "constant": false, + "name": "_rep", + "scope": 2625, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2614, + "name": "ElementaryTypeName", + "src": "967:4:3" + } + ], + "id": 2615, + "name": "VariableDeclaration", + "src": "967:9:3" + }, + { + "attributes": { + "constant": false, + "name": "_token", + "scope": 2625, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2616, + "name": "ElementaryTypeName", + "src": "987:4:3" + } + ], + "id": 2617, + "name": "VariableDeclaration", + "src": "987:11:3" + } + ], + "id": 2618, + "name": "ParameterList", + "src": "905:94:3" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2625, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2622, + "name": "ElementaryTypeName", + "src": "1036:4:3" + } + ], + "id": 2623, + "name": "VariableDeclaration", + "src": "1036:4:3" + } + ], + "id": 2624, + "name": "ParameterList", + "src": "1035:6:3" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2557, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 2619, + "name": "Identifier", + "src": "1007:7:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2611, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2620, + "name": "Identifier", + "src": "1015:11:3" + } + ], + "id": 2621, + "name": "ModifierInvocation", + "src": "1007:20:3" + } + ], + "id": 2625, + "name": "FunctionDefinition", + "src": "872:170:3" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "name": "cancelVote", + "payable": false, + "scope": 2658, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2633, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2626, + "name": "ElementaryTypeName", + "src": "1070:7:3" + } + ], + "id": 2627, + "name": "VariableDeclaration", + "src": "1070:19:3" + } + ], + "id": 2628, + "name": "ParameterList", + "src": "1069:21:3" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 2632, + "name": "ParameterList", + "src": "1118:0:3" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2557, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 2629, + "name": "Identifier", + "src": "1098:7:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2627, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2630, + "name": "Identifier", + "src": "1106:11:3" + } + ], + "id": 2631, + "name": "ModifierInvocation", + "src": "1098:20:3" + } + ], + "id": 2633, + "name": "FunctionDefinition", + "src": "1050:69:3" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "name": "execute", + "payable": false, + "scope": 2658, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2643, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2634, + "name": "ElementaryTypeName", + "src": "1382:7:3" + } + ], + "id": 2635, + "name": "VariableDeclaration", + "src": "1382:19:3" + } + ], + "id": 2636, + "name": "ParameterList", + "src": "1381:21:3" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2643, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2640, + "name": "ElementaryTypeName", + "src": "1439:4:3" + } + ], + "id": 2641, + "name": "VariableDeclaration", + "src": "1439:4:3" + } + ], + "id": 2642, + "name": "ParameterList", + "src": "1438:6:3" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2557, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 2637, + "name": "Identifier", + "src": "1410:7:3" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2635, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2638, + "name": "Identifier", + "src": "1418:11:3" + } + ], + "id": 2639, + "name": "ModifierInvocation", + "src": "1410:20:3" + } + ], + "id": 2643, + "name": "FunctionDefinition", + "src": "1365:80:3" + }, + { + "attributes": { + "body": null, + "constant": true, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getNumberOfChoices", + "payable": false, + "scope": 2658, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2650, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2644, + "name": "ElementaryTypeName", + "src": "1481:7:3" + } + ], + "id": 2645, + "name": "VariableDeclaration", + "src": "1481:19:3" + } + ], + "id": 2646, + "name": "ParameterList", + "src": "1480:21:3" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2650, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2647, + "name": "ElementaryTypeName", + "src": "1526:4:3" + } + ], + "id": 2648, + "name": "VariableDeclaration", + "src": "1526:4:3" + } + ], + "id": 2649, + "name": "ParameterList", + "src": "1525:6:3" + } + ], + "id": 2650, + "name": "FunctionDefinition", + "src": "1453:79:3" + }, + { + "attributes": { + "body": null, + "constant": true, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isVotable", + "payable": false, + "scope": 2658, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2657, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2651, + "name": "ElementaryTypeName", + "src": "1559:7:3" + } + ], + "id": 2652, + "name": "VariableDeclaration", + "src": "1559:19:3" + } + ], + "id": 2653, + "name": "ParameterList", + "src": "1558:21:3" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2657, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2654, + "name": "ElementaryTypeName", + "src": "1604:4:3" + } + ], + "id": 2655, + "name": "VariableDeclaration", + "src": "1604:4:3" + } + ], + "id": 2656, + "name": "ParameterList", + "src": "1603:6:3" + } + ], + "id": 2657, + "name": "FunctionDefinition", + "src": "1540:70:3" + } + ], + "id": 2658, + "name": "ContractDefinition", + "src": "87:1526:3" + } + ], + "id": 2659, + "name": "SourceUnit", + "src": "0:1615:3" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.823Z" +} \ No newline at end of file diff --git a/contracts/Migrations.json b/contracts/Migrations.json new file mode 100644 index 000000000..50b166ac2 --- /dev/null +++ b/contracts/Migrations.json @@ -0,0 +1,839 @@ +{ + "contractName": "Migrations", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "newAddress", + "type": "address" + } + ], + "name": "upgrade", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "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" + }, + { + "constant": false, + "inputs": [ + { + "name": "completed", + "type": "uint256" + } + ], + "name": "setCompleted", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a03199091161790556101e78061003b6000396000f3006060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630900f0108114610066578063445df0ac146100875780638da5cb5b146100ac578063fdacd576146100db575b600080fd5b341561007157600080fd5b610085600160a060020a03600435166100f1565b005b341561009257600080fd5b61009a610186565b60405190815260200160405180910390f35b34156100b757600080fd5b6100bf61018c565b604051600160a060020a03909116815260200160405180910390f35b34156100e657600080fd5b61008560043561019b565b6000805433600160a060020a03908116911614156101825781905080600160a060020a031663fdacd5766001546040517c010000000000000000000000000000000000000000000000000000000063ffffffff84160281526004810191909152602401600060405180830381600087803b151561016d57600080fd5b6102c65a03f1151561017e57600080fd5b5050505b5050565b60015481565b600054600160a060020a031681565b60005433600160a060020a03908116911614156101b85760018190555b505600a165627a7a72305820d8987e7dd94a87c81ec13cf1f5c60eaf1f8a369904ab8dfbcf989a24d36676450029", + "deployedBytecode": "0x6060604052600436106100615763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630900f0108114610066578063445df0ac146100875780638da5cb5b146100ac578063fdacd576146100db575b600080fd5b341561007157600080fd5b610085600160a060020a03600435166100f1565b005b341561009257600080fd5b61009a610186565b60405190815260200160405180910390f35b34156100b757600080fd5b6100bf61018c565b604051600160a060020a03909116815260200160405180910390f35b34156100e657600080fd5b61008560043561019b565b6000805433600160a060020a03908116911614156101825781905080600160a060020a031663fdacd5766001546040517c010000000000000000000000000000000000000000000000000000000063ffffffff84160281526004810191909152602401600060405180830381600087803b151561016d57600080fd5b6102c65a03f1151561017e57600080fd5b5050505b5050565b60015481565b600054600160a060020a031681565b60005433600160a060020a03908116911614156101b85760018190555b505600a165627a7a72305820d8987e7dd94a87c81ec13cf1f5c60eaf1f8a369904ab8dfbcf989a24d36676450029", + "sourceMap": "30:572:0:-;;;230:66;;;;;;;;270:5;:18;;-1:-1:-1;;;;;278:10:0;270:18;-1:-1:-1;;;;;;270:18:0;;;;;;30:572;;;;;;", + "deployedSourceMap": "30:572:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;423:176;;;;;;;;;;-1:-1:-1;;;;;423:176:0;;;;;;;84:36;;;;;;;;;;;;;;;;;;;;;;;;;;;57:20;;;;;;;;;;;;;;;-1:-1:-1;;;;;57:20:0;;;;;;;;;;;;;;304:111;;;;;;;;;;;;;;423:176;489:19;180:5;;166:10;-1:-1:-1;;;;;166:19:0;;;180:5;;166:19;162:53;;;522:10;489:44;;544:8;-1:-1:-1;;;;;544:21:0;;566:24;;544:47;;;;;;;;;;;;;;;;;;-1:-1:-1;544:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;162:53;423:176;;:::o;84:36::-;;;;:::o;57:20::-;;;-1:-1:-1;;;;;57:20:0;;:::o;304:111::-;180:5;;166:10;-1:-1:-1;;;;;166:19:0;;;180:5;;166:19;162:53;;;371:24;:36;;;162:53;304:111;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\n\r\ncontract Migrations {\r\n address public owner;\r\n uint public last_completed_migration;\r\n\r\n modifier restricted() {\r\n if (msg.sender == owner) {\r\n _;\r\n }\r\n }\r\n\r\n function Migrations() public {\r\n owner = msg.sender;\r\n }\r\n\r\n function setCompleted(uint completed) public restricted {\r\n last_completed_migration = completed;\r\n }\r\n\r\n function upgrade(address newAddress) public restricted {\r\n Migrations upgraded = Migrations(newAddress);\r\n upgraded.setCompleted(last_completed_migration);\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\Migrations.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/Migrations.sol", + "exportedSymbols": { + "Migrations": [ + 57 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 1, + "name": "PragmaDirective", + "src": "0:24:0" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 57 + ], + "name": "Migrations", + "scope": 58 + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "owner", + "scope": 57, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 2, + "name": "ElementaryTypeName", + "src": "57:7:0" + } + ], + "id": 3, + "name": "VariableDeclaration", + "src": "57:20:0" + }, + { + "attributes": { + "constant": false, + "name": "last_completed_migration", + "scope": 57, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4, + "name": "ElementaryTypeName", + "src": "84:4:0" + } + ], + "id": 5, + "name": "VariableDeclaration", + "src": "84:36:0" + }, + { + "attributes": { + "name": "restricted", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6, + "name": "ParameterList", + "src": "148:2:0" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 7, + "name": "Identifier", + "src": "166:3:0" + } + ], + "id": 8, + "name": "MemberAccess", + "src": "166:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3, + "type": "address", + "value": "owner" + }, + "id": 9, + "name": "Identifier", + "src": "180:5:0" + } + ], + "id": 10, + "name": "BinaryOperation", + "src": "166:19:0" + }, + { + "children": [ + { + "id": 11, + "name": "PlaceholderStatement", + "src": "202:1:0" + } + ], + "id": 12, + "name": "Block", + "src": "187:28:0" + } + ], + "id": 13, + "name": "IfStatement", + "src": "162:53:0" + } + ], + "id": 14, + "name": "Block", + "src": "151:71:0" + } + ], + "id": 15, + "name": "ModifierDefinition", + "src": "129:93:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Migrations", + "payable": false, + "scope": 57, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 16, + "name": "ParameterList", + "src": "249:2:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 17, + "name": "ParameterList", + "src": "259:0:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3, + "type": "address", + "value": "owner" + }, + "id": 18, + "name": "Identifier", + "src": "270:5:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 19, + "name": "Identifier", + "src": "278:3:0" + } + ], + "id": 20, + "name": "MemberAccess", + "src": "278:10:0" + } + ], + "id": 21, + "name": "Assignment", + "src": "270:18:0" + } + ], + "id": 22, + "name": "ExpressionStatement", + "src": "270:18:0" + } + ], + "id": 23, + "name": "Block", + "src": "259:37:0" + } + ], + "id": 24, + "name": "FunctionDefinition", + "src": "230:66:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "setCompleted", + "payable": false, + "scope": 57, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "completed", + "scope": 36, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 25, + "name": "ElementaryTypeName", + "src": "326:4:0" + } + ], + "id": 26, + "name": "VariableDeclaration", + "src": "326:14:0" + } + ], + "id": 27, + "name": "ParameterList", + "src": "325:16:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 30, + "name": "ParameterList", + "src": "360:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 15, + "type": "modifier ()", + "value": "restricted" + }, + "id": 28, + "name": "Identifier", + "src": "349:10:0" + } + ], + "id": 29, + "name": "ModifierInvocation", + "src": "349:10:0" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5, + "type": "uint256", + "value": "last_completed_migration" + }, + "id": 31, + "name": "Identifier", + "src": "371:24:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 26, + "type": "uint256", + "value": "completed" + }, + "id": 32, + "name": "Identifier", + "src": "398:9:0" + } + ], + "id": 33, + "name": "Assignment", + "src": "371:36:0" + } + ], + "id": 34, + "name": "ExpressionStatement", + "src": "371:36:0" + } + ], + "id": 35, + "name": "Block", + "src": "360:55:0" + } + ], + "id": 36, + "name": "FunctionDefinition", + "src": "304:111:0" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "upgrade", + "payable": false, + "scope": 57, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "newAddress", + "scope": 56, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 37, + "name": "ElementaryTypeName", + "src": "440:7:0" + } + ], + "id": 38, + "name": "VariableDeclaration", + "src": "440:18:0" + } + ], + "id": 39, + "name": "ParameterList", + "src": "439:20:0" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 42, + "name": "ParameterList", + "src": "478:0:0" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 15, + "type": "modifier ()", + "value": "restricted" + }, + "id": 40, + "name": "Identifier", + "src": "467:10:0" + } + ], + "id": 41, + "name": "ModifierInvocation", + "src": "467:10:0" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 44 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "upgraded", + "scope": 56, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Migrations", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Migrations", + "referencedDeclaration": 57, + "type": "contract Migrations" + }, + "id": 43, + "name": "UserDefinedTypeName", + "src": "489:10:0" + } + ], + "id": 44, + "name": "VariableDeclaration", + "src": "489:19:0" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Migrations", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 57, + "type": "type(contract Migrations)", + "value": "Migrations" + }, + "id": 45, + "name": "Identifier", + "src": "511:10:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 38, + "type": "address", + "value": "newAddress" + }, + "id": 46, + "name": "Identifier", + "src": "522:10:0" + } + ], + "id": 47, + "name": "FunctionCall", + "src": "511:22:0" + } + ], + "id": 48, + "name": "VariableDeclarationStatement", + "src": "489:44:0" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "setCompleted", + "referencedDeclaration": 36, + "type": "function (uint256) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 44, + "type": "contract Migrations", + "value": "upgraded" + }, + "id": 49, + "name": "Identifier", + "src": "544:8:0" + } + ], + "id": 51, + "name": "MemberAccess", + "src": "544:21:0" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5, + "type": "uint256", + "value": "last_completed_migration" + }, + "id": 52, + "name": "Identifier", + "src": "566:24:0" + } + ], + "id": 53, + "name": "FunctionCall", + "src": "544:47:0" + } + ], + "id": 54, + "name": "ExpressionStatement", + "src": "544:47:0" + } + ], + "id": 55, + "name": "Block", + "src": "478:121:0" + } + ], + "id": 56, + "name": "FunctionDefinition", + "src": "423:176:0" + } + ], + "id": 57, + "name": "ContractDefinition", + "src": "30:572:0" + } + ], + "id": 58, + "name": "SourceUnit", + "src": "0:604:0" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "42": { + "events": {}, + "links": {}, + "address": "0xbece03462fffccae79b4b5fbf858025bfb930eb2" + }, + "1512051714758": { + "events": {}, + "links": {}, + "address": "0x7016b1a2d5f5bc5107161ef111d06dfd09843ba5" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.930Z" +} \ No newline at end of file diff --git a/contracts/MintableToken.json b/contracts/MintableToken.json new file mode 100644 index 000000000..986aff561 --- /dev/null +++ b/contracts/MintableToken.json @@ -0,0 +1,1668 @@ +{ + "contractName": "MintableToken", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "mintingFinished", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "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": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "mint", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "finishMinting", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "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" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "uint256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [], + "name": "MintFinished", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "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": "0x606060405260038054600160a860020a03191633600160a060020a0316179055610a078061002e6000396000f3006060604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146100c9578063095ea7b3146100f057806318160ddd1461011257806323b872dd1461013757806340c10f191461015f578063661884631461018157806370a08231146101a35780637d64bcb4146101c25780638da5cb5b146101d5578063a9059cbb14610204578063d73dd62314610226578063dd62ed3e14610248578063f2fde38b1461026d575b600080fd5b34156100d457600080fd5b6100dc61028e565b604051901515815260200160405180910390f35b34156100fb57600080fd5b6100dc600160a060020a036004351660243561029e565b341561011d57600080fd5b61012561030a565b60405190815260200160405180910390f35b341561014257600080fd5b6100dc600160a060020a0360043581169060243516604435610310565b341561016a57600080fd5b6100dc600160a060020a0360043516602435610492565b341561018c57600080fd5b6100dc600160a060020a036004351660243561059f565b34156101ae57600080fd5b610125600160a060020a0360043516610699565b34156101cd57600080fd5b6100dc6106b4565b34156101e057600080fd5b6101e861073f565b604051600160a060020a03909116815260200160405180910390f35b341561020f57600080fd5b6100dc600160a060020a036004351660243561074e565b341561023157600080fd5b6100dc600160a060020a0360043516602435610849565b341561025357600080fd5b610125600160a060020a03600435811690602435166108ed565b341561027857600080fd5b61028c600160a060020a0360043516610918565b005b60035460a060020a900460ff1681565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316151561032757600080fd5b600160a060020a03841660009081526001602052604090205482111561034c57600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482111561037f57600080fd5b600160a060020a0384166000908152600160205260409020546103a8908363ffffffff6109b316565b600160a060020a0380861660009081526001602052604080822093909355908516815220546103dd908363ffffffff6109c516565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610425908363ffffffff6109b316565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a039081169116146104b057600080fd5b60035460a060020a900460ff16156104c757600080fd5b6000546104da908363ffffffff6109c516565b6000908155600160a060020a038416815260016020526040902054610505908363ffffffff6109c516565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156105fc57600160a060020a033381166000908152600260209081526040808320938816835292905290812055610633565b61060c818463ffffffff6109b316565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a039081169116146106d257600080fd5b60035460a060020a900460ff16156106e957600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b600354600160a060020a031681565b6000600160a060020a038316151561076557600080fd5b600160a060020a03331660009081526001602052604090205482111561078a57600080fd5b600160a060020a0333166000908152600160205260409020546107b3908363ffffffff6109b316565b600160a060020a0333811660009081526001602052604080822093909355908516815220546107e8908363ffffffff6109c516565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610881908363ffffffff6109c516565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a0390811691161461093357600080fd5b600160a060020a038116151561094857600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000828211156109bf57fe5b50900390565b6000828201838110156109d457fe5b93925050505600a165627a7a723058205e3d491941013f1bd336ae4d73d04dffebf76fd1122e21cf403693f402bf5abb0029", + "deployedBytecode": "0x6060604052600436106100c45763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b81146100c9578063095ea7b3146100f057806318160ddd1461011257806323b872dd1461013757806340c10f191461015f578063661884631461018157806370a08231146101a35780637d64bcb4146101c25780638da5cb5b146101d5578063a9059cbb14610204578063d73dd62314610226578063dd62ed3e14610248578063f2fde38b1461026d575b600080fd5b34156100d457600080fd5b6100dc61028e565b604051901515815260200160405180910390f35b34156100fb57600080fd5b6100dc600160a060020a036004351660243561029e565b341561011d57600080fd5b61012561030a565b60405190815260200160405180910390f35b341561014257600080fd5b6100dc600160a060020a0360043581169060243516604435610310565b341561016a57600080fd5b6100dc600160a060020a0360043516602435610492565b341561018c57600080fd5b6100dc600160a060020a036004351660243561059f565b34156101ae57600080fd5b610125600160a060020a0360043516610699565b34156101cd57600080fd5b6100dc6106b4565b34156101e057600080fd5b6101e861073f565b604051600160a060020a03909116815260200160405180910390f35b341561020f57600080fd5b6100dc600160a060020a036004351660243561074e565b341561023157600080fd5b6100dc600160a060020a0360043516602435610849565b341561025357600080fd5b610125600160a060020a03600435811690602435166108ed565b341561027857600080fd5b61028c600160a060020a0360043516610918565b005b60035460a060020a900460ff1681565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316151561032757600080fd5b600160a060020a03841660009081526001602052604090205482111561034c57600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482111561037f57600080fd5b600160a060020a0384166000908152600160205260409020546103a8908363ffffffff6109b316565b600160a060020a0380861660009081526001602052604080822093909355908516815220546103dd908363ffffffff6109c516565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610425908363ffffffff6109b316565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60035460009033600160a060020a039081169116146104b057600080fd5b60035460a060020a900460ff16156104c757600080fd5b6000546104da908363ffffffff6109c516565b6000908155600160a060020a038416815260016020526040902054610505908363ffffffff6109c516565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054808311156105fc57600160a060020a033381166000908152600260209081526040808320938816835292905290812055610633565b61060c818463ffffffff6109b316565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a039081169116146106d257600080fd5b60035460a060020a900460ff16156106e957600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b600354600160a060020a031681565b6000600160a060020a038316151561076557600080fd5b600160a060020a03331660009081526001602052604090205482111561078a57600080fd5b600160a060020a0333166000908152600160205260409020546107b3908363ffffffff6109b316565b600160a060020a0333811660009081526001602052604080822093909355908516815220546107e8908363ffffffff6109c516565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054610881908363ffffffff6109c516565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035433600160a060020a0390811691161461093357600080fd5b600160a060020a038116151561094857600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000828211156109bf57fe5b50900390565b6000828201838110156109d457fe5b93925050505600a165627a7a723058205e3d491941013f1bd336ae4d73d04dffebf76fd1122e21cf403693f402bf5abb0029", + "sourceMap": "386:980:34:-;;;514:35;;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;386:980:34;;;-1:-1:-1;386:980:34;;", + "deployedSourceMap": "386:980:34:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;514:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:183:35;;;;;;;;;;-1:-1:-1;;;;;1799:183:35;;;;;;;179:26:33;;;;;;;;;;;;;;;;;;;;;;;;;;;737:439:35;;;;;;;;;;-1:-1:-1;;;;;737:439:35;;;;;;;;;;;;853:262:34;;;;;;;;;;-1:-1:-1;;;;;853:262:34;;;;;;;2928:398:35;;;;;;;;;;-1:-1:-1;;;;;2928:398:35;;;;;;;1018:107:30;;;;;;;;;;-1:-1:-1;;;;;1018:107:30;;;;;1229:135:34;;;;;;;;;;;;238:20:29;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:29;;;;;;;;;;;;;;437:379:30;;;;;;;;;;-1:-1:-1;;;;;437:379:30;;;;;;;2667:257:35;;;;;;;;;;-1:-1:-1;;;;;2667:257:35;;;;;;;2301:126;;;;;;;;;;-1:-1:-1;;;;;2301:126:35;;;;;;;;;;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;;;514:35:34;;;-1:-1:-1;;;514:35:34;;;;;:::o;1799:183:35:-;-1:-1:-1;;;;;1886:10:35;1878:19;;1866:4;1878:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;:38;;;1866:4;;1878:29;:19;1922:38;;1910:6;;1922:38;;;;;;;;;;;;;-1:-1:-1;1973:4:35;1799:183;;;;:::o;179:26:33:-;;;;:::o;737:439:35:-;819:4;-1:-1:-1;;;;;839:17:35;;;;831:26;;;;;;-1:-1:-1;;;;;881:15:35;;;;;;:8;:15;;;;;;871:25;;;863:34;;;;;;-1:-1:-1;;;;;921:14:35;;;;;;;:7;:14;;;;;;;;936:10;921:26;;;;;;;;;;911:36;;;903:45;;;;;;-1:-1:-1;;;;;973:15:35;;;;;;:8;:15;;;;;;:27;;993:6;973:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;955:15:35;;;;;;;:8;:15;;;;;;:45;;;;1022:13;;;;;;;:25;;1040:6;1022:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1006:13:35;;;;;;;:8;:13;;;;;;;;:41;;;;1082:14;;;;;:7;:14;;;;;1097:10;1082:26;;;;;;;;;;;:38;;1113:6;1082:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;1053:14:35;;;;;;;:7;:14;;;;;;;;1068:10;1053:26;;;;;;;;;;;:67;;;;1126:28;;;;;;1147:6;;1126:28;;;;;;;;;;;;;-1:-1:-1;1167:4:35;737:439;;;;;:::o;853:262:34:-;654:5:29;;931:4:34;;640:10:29;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;589:15:34;;-1:-1:-1;;;589:15:34;;;;588:16;580:25;;;;;;957:11;;:24;;973:7;957:24;:15;:24;:::i;:::-;943:11;:38;;;-1:-1:-1;;;;;1003:13:34;;;;:8;:13;;;;;;:26;;1021:7;1003:26;:17;:26;:::i;:::-;-1:-1:-1;;;;;987:13:34;;;;;;:8;:13;;;;;;;:42;;;;:13;1035:18;;1045:7;;1035:18;;;;;;;;;;;;;-1:-1:-1;;;;;1059:34:34;;1076:1;1059:34;1085:7;1059:34;;;;;;;;;;;;;;-1:-1:-1;1106:4:34;853:262;;;;:::o;2928:398:35:-;-1:-1:-1;;;;;3047:10:35;3039:19;;3011:4;3039:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;3078:27;;;3074:164;;;-1:-1:-1;;;;;3123:10:35;3115:19;;3147:1;3115:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;:33;3074:164;;;3201:30;:8;3214:16;3201:30;:12;:30;:::i;:::-;-1:-1:-1;;;;;3177:10:35;3169:19;;;;;;:7;:19;;;;;;;;:29;;;;;;;;;:62;3074:164;-1:-1:-1;;;;;3252:10:35;3243:61;;3274:19;;;;:7;:19;;;;;;;;3243:61;;;3274:29;;;;;;;;;;;;3243:61;;;;;;;;;;;;;;;-1:-1:-1;3317:4:35;;2928:398;-1:-1:-1;;;2928:398:35:o;1018:107:30:-;-1:-1:-1;;;;;1104:16:30;1074:15;1104:16;;;:8;:16;;;;;;;1018:107::o;1229:135:34:-;654:5:29;;1288:4:34;;640:10:29;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;589:15:34;;-1:-1:-1;;;589:15:34;;;;588:16;580:25;;;;;;1300:15;:22;;-1:-1:-1;;1300:22:34;-1:-1:-1;;;1300:22:34;;;1328:14;;;;;;;;;;-1:-1:-1;1355:4:34;1229:135;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;437:379:30:-;500:4;-1:-1:-1;;;;;520:17:30;;;;512:26;;;;;;-1:-1:-1;;;;;571:10:30;562:20;;;;;:8;:20;;;;;;552:30;;;544:39;;;;;;-1:-1:-1;;;;;685:10:30;676:20;;;;;:8;:20;;;;;;:32;;701:6;676:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;662:10:30;653:20;;;;;;:8;:20;;;;;;:55;;;;730:13;;;;;;;:25;;748:6;730:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;714:13:30;;;;;;;:8;:13;;;;;;;:41;;;;:13;770:10;761:33;;;;;;787:6;;761:33;;;;;;;;;;;;;-1:-1:-1;807:4:30;437:379;;;;:::o;2667:257:35:-;-1:-1:-1;;;;;2797:10:35;2789:19;;2745:4;2789:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;:46;;2823:11;2789:46;:33;:46;:::i;:::-;-1:-1:-1;;;;;2765:10:35;2757:19;;;;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;;:78;;;:29;;:19;;2841:61;;2757:78;2841:61;;;;;;;;;;;;;-1:-1:-1;2915:4:35;2667:257;;;;:::o;2301:126::-;-1:-1:-1;;;;;2397:15:35;;;2375:7;2397:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2301:126::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;584:110:28:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;698:129::-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:28:o", + "source": "pragma solidity ^0.4.18;\n\n\nimport './StandardToken.sol';\nimport '../ownership/Ownable.sol';\n\n\n\n/**\n * @title Mintable token\n * @dev Simple ERC20 Token example, with mintable token creation\n * @dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120\n * Based on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol\n */\n\ncontract MintableToken is StandardToken, Ownable {\n event Mint(address indexed to, uint256 amount);\n event MintFinished();\n\n bool public mintingFinished = false;\n\n\n modifier canMint() {\n require(!mintingFinished);\n _;\n }\n\n /**\n * @dev Function to mint tokens\n * @param _to The address that will receive the minted tokens.\n * @param _amount The amount of tokens to mint.\n * @return A boolean that indicates if the operation was successful.\n */\n function mint(address _to, uint256 _amount) onlyOwner canMint public returns (bool) {\n totalSupply = totalSupply.add(_amount);\n balances[_to] = balances[_to].add(_amount);\n Mint(_to, _amount);\n Transfer(address(0), _to, _amount);\n return true;\n }\n\n /**\n * @dev Function to stop minting new tokens.\n * @return True if the operation was successful.\n */\n function finishMinting() onlyOwner canMint public returns (bool) {\n mintingFinished = true;\n MintFinished();\n return true;\n }\n}\n", + "sourcePath": "zeppelin-solidity/contracts/token/MintableToken.sol", + "ast": { + "attributes": { + "absolutePath": "zeppelin-solidity/contracts/token/MintableToken.sol", + "exportedSymbols": { + "MintableToken": [ + 9454 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 9361, + "name": "PragmaDirective", + "src": "0:24:34" + }, + { + "attributes": { + "SourceUnit": 9701, + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "file": "./StandardToken.sol", + "scope": 9455, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 9362, + "name": "ImportDirective", + "src": "27:29:34" + }, + { + "attributes": { + "SourceUnit": 9141, + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "../ownership/Ownable.sol", + "scope": 9455, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 9363, + "name": "ImportDirective", + "src": "57:34:34" + }, + { + "attributes": { + "contractDependencies": [ + 9140, + 9226, + 9330, + 9359, + 9700 + ], + "contractKind": "contract", + "documentation": "@title Mintable token\n@dev Simple ERC20 Token example, with mintable token creation\n@dev Issue: * https://github.com/OpenZeppelin/zeppelin-solidity/issues/120\nBased on code by TokenMarketNet: https://github.com/TokenMarketNet/ico/blob/master/contracts/MintableToken.sol", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 9454, + 9140, + 9700, + 9226, + 9330, + 9359 + ], + "name": "MintableToken", + "scope": 9455 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 9364, + "name": "UserDefinedTypeName", + "src": "412:13:34" + } + ], + "id": 9365, + "name": "InheritanceSpecifier", + "src": "412:13:34" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 9140, + "type": "contract Ownable" + }, + "id": 9366, + "name": "UserDefinedTypeName", + "src": "427:7:34" + } + ], + "id": 9367, + "name": "InheritanceSpecifier", + "src": "427:7:34" + }, + { + "attributes": { + "anonymous": false, + "name": "Mint" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "to", + "scope": 9373, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9368, + "name": "ElementaryTypeName", + "src": "450:7:34" + } + ], + "id": 9369, + "name": "VariableDeclaration", + "src": "450:18:34" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "amount", + "scope": 9373, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9370, + "name": "ElementaryTypeName", + "src": "470:7:34" + } + ], + "id": 9371, + "name": "VariableDeclaration", + "src": "470:14:34" + } + ], + "id": 9372, + "name": "ParameterList", + "src": "449:36:34" + } + ], + "id": 9373, + "name": "EventDefinition", + "src": "439:47:34" + }, + { + "attributes": { + "anonymous": false, + "name": "MintFinished" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 9374, + "name": "ParameterList", + "src": "507:2:34" + } + ], + "id": 9375, + "name": "EventDefinition", + "src": "489:21:34" + }, + { + "attributes": { + "constant": false, + "name": "mintingFinished", + "scope": 9454, + "stateVariable": true, + "storageLocation": "default", + "type": "bool", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9376, + "name": "ElementaryTypeName", + "src": "514:4:34" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 9377, + "name": "Literal", + "src": "544:5:34" + } + ], + "id": 9378, + "name": "VariableDeclaration", + "src": "514:35:34" + }, + { + "attributes": { + "name": "canMint", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 9379, + "name": "ParameterList", + "src": "571:2:34" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 9380, + "name": "Identifier", + "src": "580:7:34" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9378, + "type": "bool", + "value": "mintingFinished" + }, + "id": 9381, + "name": "Identifier", + "src": "589:15:34" + } + ], + "id": 9382, + "name": "UnaryOperation", + "src": "588:16:34" + } + ], + "id": 9383, + "name": "FunctionCall", + "src": "580:25:34" + } + ], + "id": 9384, + "name": "ExpressionStatement", + "src": "580:25:34" + }, + { + "id": 9385, + "name": "PlaceholderStatement", + "src": "611:1:34" + } + ], + "id": 9386, + "name": "Block", + "src": "574:43:34" + } + ], + "id": 9387, + "name": "ModifierDefinition", + "src": "555:62:34" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "mint", + "payable": false, + "scope": 9454, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 9434, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9388, + "name": "ElementaryTypeName", + "src": "867:7:34" + } + ], + "id": 9389, + "name": "VariableDeclaration", + "src": "867:11:34" + }, + { + "attributes": { + "constant": false, + "name": "_amount", + "scope": 9434, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9390, + "name": "ElementaryTypeName", + "src": "880:7:34" + } + ], + "id": 9391, + "name": "VariableDeclaration", + "src": "880:15:34" + } + ], + "id": 9392, + "name": "ParameterList", + "src": "866:30:34" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9434, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9397, + "name": "ElementaryTypeName", + "src": "931:4:34" + } + ], + "id": 9398, + "name": "VariableDeclaration", + "src": "931:4:34" + } + ], + "id": 9399, + "name": "ParameterList", + "src": "930:6:34" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 9393, + "name": "Identifier", + "src": "897:9:34" + } + ], + "id": 9394, + "name": "ModifierInvocation", + "src": "897:9:34" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9387, + "type": "modifier ()", + "value": "canMint" + }, + "id": 9395, + "name": "Identifier", + "src": "907:7:34" + } + ], + "id": 9396, + "name": "ModifierInvocation", + "src": "907:7:34" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9334, + "type": "uint256", + "value": "totalSupply" + }, + "id": 9400, + "name": "Identifier", + "src": "943:11:34" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9334, + "type": "uint256", + "value": "totalSupply" + }, + "id": 9401, + "name": "Identifier", + "src": "957:11:34" + } + ], + "id": 9402, + "name": "MemberAccess", + "src": "957:15:34" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9391, + "type": "uint256", + "value": "_amount" + }, + "id": 9403, + "name": "Identifier", + "src": "973:7:34" + } + ], + "id": 9404, + "name": "FunctionCall", + "src": "957:24:34" + } + ], + "id": 9405, + "name": "Assignment", + "src": "943:38:34" + } + ], + "id": 9406, + "name": "ExpressionStatement", + "src": "943:38:34" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9407, + "name": "Identifier", + "src": "987:8:34" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9389, + "type": "address", + "value": "_to" + }, + "id": 9408, + "name": "Identifier", + "src": "996:3:34" + } + ], + "id": 9409, + "name": "IndexAccess", + "src": "987:13:34" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9410, + "name": "Identifier", + "src": "1003:8:34" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9389, + "type": "address", + "value": "_to" + }, + "id": 9411, + "name": "Identifier", + "src": "1012:3:34" + } + ], + "id": 9412, + "name": "IndexAccess", + "src": "1003:13:34" + } + ], + "id": 9413, + "name": "MemberAccess", + "src": "1003:17:34" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9391, + "type": "uint256", + "value": "_amount" + }, + "id": 9414, + "name": "Identifier", + "src": "1021:7:34" + } + ], + "id": 9415, + "name": "FunctionCall", + "src": "1003:26:34" + } + ], + "id": 9416, + "name": "Assignment", + "src": "987:42:34" + } + ], + "id": 9417, + "name": "ExpressionStatement", + "src": "987:42:34" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9373, + "type": "function (address,uint256)", + "value": "Mint" + }, + "id": 9418, + "name": "Identifier", + "src": "1035:4:34" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9389, + "type": "address", + "value": "_to" + }, + "id": 9419, + "name": "Identifier", + "src": "1040:3:34" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9391, + "type": "uint256", + "value": "_amount" + }, + "id": 9420, + "name": "Identifier", + "src": "1045:7:34" + } + ], + "id": 9421, + "name": "FunctionCall", + "src": "1035:18:34" + } + ], + "id": 9422, + "name": "ExpressionStatement", + "src": "1035:18:34" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9358, + "type": "function (address,address,uint256)", + "value": "Transfer" + }, + "id": 9423, + "name": "Identifier", + "src": "1059:8:34" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 9424, + "name": "ElementaryTypeNameExpression", + "src": "1068:7:34" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 9425, + "name": "Literal", + "src": "1076:1:34" + } + ], + "id": 9426, + "name": "FunctionCall", + "src": "1068:10:34" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9389, + "type": "address", + "value": "_to" + }, + "id": 9427, + "name": "Identifier", + "src": "1080:3:34" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9391, + "type": "uint256", + "value": "_amount" + }, + "id": 9428, + "name": "Identifier", + "src": "1085:7:34" + } + ], + "id": 9429, + "name": "FunctionCall", + "src": "1059:34:34" + } + ], + "id": 9430, + "name": "ExpressionStatement", + "src": "1059:34:34" + }, + { + "attributes": { + "functionReturnParameters": 9399 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 9431, + "name": "Literal", + "src": "1106:4:34" + } + ], + "id": 9432, + "name": "Return", + "src": "1099:11:34" + } + ], + "id": 9433, + "name": "Block", + "src": "937:178:34" + } + ], + "id": 9434, + "name": "FunctionDefinition", + "src": "853:262:34" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "finishMinting", + "payable": false, + "scope": 9454, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 9435, + "name": "ParameterList", + "src": "1251:2:34" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9453, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9440, + "name": "ElementaryTypeName", + "src": "1288:4:34" + } + ], + "id": 9441, + "name": "VariableDeclaration", + "src": "1288:4:34" + } + ], + "id": 9442, + "name": "ParameterList", + "src": "1287:6:34" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 9436, + "name": "Identifier", + "src": "1254:9:34" + } + ], + "id": 9437, + "name": "ModifierInvocation", + "src": "1254:9:34" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9387, + "type": "modifier ()", + "value": "canMint" + }, + "id": 9438, + "name": "Identifier", + "src": "1264:7:34" + } + ], + "id": 9439, + "name": "ModifierInvocation", + "src": "1264:7:34" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9378, + "type": "bool", + "value": "mintingFinished" + }, + "id": 9443, + "name": "Identifier", + "src": "1300:15:34" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 9444, + "name": "Literal", + "src": "1318:4:34" + } + ], + "id": 9445, + "name": "Assignment", + "src": "1300:22:34" + } + ], + "id": 9446, + "name": "ExpressionStatement", + "src": "1300:22:34" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9375, + "type": "function ()", + "value": "MintFinished" + }, + "id": 9447, + "name": "Identifier", + "src": "1328:12:34" + } + ], + "id": 9448, + "name": "FunctionCall", + "src": "1328:14:34" + } + ], + "id": 9449, + "name": "ExpressionStatement", + "src": "1328:14:34" + }, + { + "attributes": { + "functionReturnParameters": 9442 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 9450, + "name": "Literal", + "src": "1355:4:34" + } + ], + "id": 9451, + "name": "Return", + "src": "1348:11:34" + } + ], + "id": 9452, + "name": "Block", + "src": "1294:70:34" + } + ], + "id": 9453, + "name": "FunctionDefinition", + "src": "1229:135:34" + } + ], + "id": 9454, + "name": "ContractDefinition", + "src": "386:980:34" + } + ], + "id": 9455, + "name": "SourceUnit", + "src": "0:1367:34" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.996Z" +} \ No newline at end of file diff --git a/contracts/MirrorContractICO.json b/contracts/MirrorContractICO.json new file mode 100644 index 000000000..b525325fb --- /dev/null +++ b/contracts/MirrorContractICO.json @@ -0,0 +1,7248 @@ +{ + "contractName": "MirrorContractICO", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "simpleICO", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "organization", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "destroy", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_recipient", + "type": "address" + } + ], + "name": "destroyAndSend", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "name": "_organization", + "type": "address" + }, + { + "name": "_simpleICO", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "payable": true, + "stateMutability": "payable", + "type": "fallback" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b604051604080610393833981016040528080519190602001805160008054600160a060020a03338116600160a060020a0319928316179092556001805496831696821696909617909555600280549190921694169390931790925550506103188061007b6000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ebbede2811461012e57806323bd4d7a1461015d57806383197ef0146101705780638da5cb5b14610183578063f2fde38b14610196578063f5074f41146101b5575b34151561008357600080fd5b600254600154600160a060020a03918216916321bea7cc91349116336000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039283166004820152911660248201526044016020604051808303818588803b151561010557600080fd5b6125ee5a03f1151561011657600080fd5b5050505060405180511515905061012c57600080fd5b005b341561013957600080fd5b6101416101d4565b604051600160a060020a03909116815260200160405180910390f35b341561016857600080fd5b6101416101e3565b341561017b57600080fd5b61012c6101f2565b341561018e57600080fd5b61014161021b565b34156101a157600080fd5b61012c600160a060020a036004351661022a565b34156101c057600080fd5b61012c600160a060020a03600435166102c5565b600254600160a060020a031681565b600154600160a060020a031681565b60005433600160a060020a0390811691161461020d57600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60005433600160a060020a0390811691161461024557600080fd5b600160a060020a038116151561025a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146102e057600080fd5b80600160a060020a0316ff00a165627a7a72305820493184bff5490b8faf0143f84171302c487f56805bd80602c117beb91eabe9c40029", + "deployedBytecode": "0x6060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ebbede2811461012e57806323bd4d7a1461015d57806383197ef0146101705780638da5cb5b14610183578063f2fde38b14610196578063f5074f41146101b5575b34151561008357600080fd5b600254600154600160a060020a03918216916321bea7cc91349116336000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039283166004820152911660248201526044016020604051808303818588803b151561010557600080fd5b6125ee5a03f1151561011657600080fd5b5050505060405180511515905061012c57600080fd5b005b341561013957600080fd5b6101416101d4565b604051600160a060020a03909116815260200160405180910390f35b341561016857600080fd5b6101416101e3565b341561017b57600080fd5b61012c6101f2565b341561018e57600080fd5b61014161021b565b34156101a157600080fd5b61012c600160a060020a036004351661022a565b34156101c057600080fd5b61012c600160a060020a03600435166102c5565b600254600160a060020a031681565b600154600160a060020a031681565b60005433600160a060020a0390811691161461020d57600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60005433600160a060020a0390811691161461024557600080fd5b600160a060020a038116151561025a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146102e057600080fd5b80600160a060020a0316ff00a165627a7a72305820493184bff5490b8faf0143f84171302c487f56805bd80602c117beb91eabe9c40029", + "sourceMap": "369:962:21:-;;;734:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;509:10:29;501:18;;-1:-1:-1;;;;;;501:18:29;;;;;;;;823:28:21;;;;;;;;;;;;;;;862:9;:22;;;;;;;;;;;;;;;-1:-1:-1;;369:962:21;;;;;;", + "deployedSourceMap": "369:962:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1144:9;:14;;1136:23;;;;;;1220:9;;;1254:12;-1:-1:-1;;;;;1220:9:21;;;;:16;;1243:9;;1254:12;1268:10;1220:9;:59;;;;;;;;;;;;;;-1:-1:-1;;;;;1220:59:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:64;1216:105;;-1:-1:-1;1216:105:21;;1301:8;;;1216:105;369:962;493:26;;;;;;;;;;;;;;;-1:-1:-1;;;;;493:26:21;;;;;;;;;;;;;;;419;;;;;;;;;;;;376:66:27;;;;;;;;;;;;238:20:29;;;;;;;;;;;;834:169;;;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;446:96:27;;;;;;;;;;;;-1:-1:-1;;;;;446:96:27;;;493:26:21;;;-1:-1:-1;;;;;493:26:21;;:::o;419:::-;;;-1:-1:-1;;;;;419:26:21;;:::o;376:66:27:-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;431:5:27;;-1:-1:-1;;;;;431:5:27;418:19;238:20:29;;;-1:-1:-1;;;;;238:20:29;;:::o;834:169::-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;446:96:27:-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;513:24:27;;", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"./UniversalScheme.sol\";\r\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\r\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\r\nimport \"zeppelin-solidity/contracts/lifecycle/Destructible.sol\";\r\n\r\n\r\n/**\r\n * @title An avatar contract for ICO.\r\n * @dev Allow people to donate by simply sending ether to an address.\r\n */\r\ncontract MirrorContractICO is Destructible {\r\n Avatar public organization; // The organization address (the avatar)\r\n SimpleICO public simpleICO; // The ICO contract address\r\n /**\r\n * @dev Constructor, setting the organization and ICO scheme.\r\n * @param _organization The organization's avatar.\r\n * @param _simpleICO The ICO Scheme.\r\n */\r\n function MirrorContractICO(Avatar _organization, SimpleICO _simpleICO) public {\r\n organization = _organization;\r\n simpleICO = _simpleICO;\r\n }\r\n\r\n /**\r\n * @dev Fallback function, when ether is sent it will donate to the ICO.\r\n * The ether will be returned if the donation is failed.\r\n */\r\n function () public payable {\r\n // Not to waste gas, if no value.\r\n require(msg.value != 0);\r\n\r\n // Return ether if couln't donate.\r\n if (simpleICO.donate.value(msg.value)(organization, msg.sender) == 0) {\r\n revert();\r\n }\r\n }\r\n}\r\n\r\n\r\n/**\r\n * @title SimpleICO scheme.\r\n * @dev A universal scheme to allow organizations to open a simple ICO and get donations.\r\n */\r\ncontract SimpleICO is UniversalScheme {\r\n using SafeMath for uint;\r\n\r\n // Struct holding the data for each organization\r\n struct Organization {\r\n bytes32 paramsHash; // Save the parameters approved by the org to open the ICO, so reules of ICO will not change.\r\n address avatarContractICO; // Avatar is a contract for users that want to send eth without calling a funciton.\r\n uint totalEthRaised;\r\n bool isHalted; // The admin of the ICO can halt the ICO at any time, and also resume it.\r\n }\r\n\r\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\r\n struct Parameters {\r\n uint cap; // Cap in Eth\r\n uint price; // Price represents Tokens per 1 Eth\r\n uint startBlock;\r\n uint endBlock;\r\n address beneficiary; // all funds received will be transffered to this address.\r\n address admin; // The admin can halt or resume ICO.\r\n }\r\n\r\n // A mapping from the organization (Avatar) address to the saved data of the organization:\r\n mapping(address=>Organization) public organizationsICOInfo;\r\n\r\n mapping(bytes32=>Parameters) public parameters;\r\n\r\n event DonationReceived(address indexed organization, address indexed _beneficiary, uint _incomingEther, uint indexed _tokensAmount);\r\n\r\n /**\r\n * @dev Constructor, Updating the initial prarmeters\r\n * @param _nativeToken The native token of the ICO\r\n * @param _fee The fee for intiating the ICO\r\n * @param _beneficiary The address that will receive the ethers\r\n */\r\n function SimpleICO(StandardToken _nativeToken, uint _fee, address _beneficiary) public {\r\n updateParameters(_nativeToken, _fee, _beneficiary, bytes32(0));\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters, save them if necessary, and return the hash value\r\n * @param _cap the ico cap\r\n * @param _price represents Tokens per 1 Eth\r\n * @param _startBlock ico start block\r\n * @param _endBlock ico end\r\n * @param _beneficiary the ico ether beneficiary\r\n * @param _admin the address of the ico admin which can hald and resume the ICO.\r\n * @return bytes32 -the params hash\r\n */\r\n function setParameters(\r\n uint _cap,\r\n uint _price,\r\n uint _startBlock,\r\n uint _endBlock,\r\n address _beneficiary,\r\n address _admin\r\n )\r\n public\r\n returns(bytes32)\r\n {\r\n bytes32 paramsHash = getParametersHash(\r\n _cap,\r\n _price,\r\n _startBlock,\r\n _endBlock,\r\n _beneficiary,\r\n _admin\r\n );\r\n if (parameters[paramsHash].cap == 0) {\r\n parameters[paramsHash] = Parameters({\r\n cap: _cap,\r\n price: _price,\r\n startBlock: _startBlock,\r\n endBlock:_endBlock,\r\n beneficiary:_beneficiary,\r\n admin:_admin\r\n });\r\n }\r\n return paramsHash;\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters and return the hash value\r\n * @param _cap the ico cap\r\n * @param _price represents Tokens per 1 Eth\r\n * @param _startBlock ico start block\r\n * @param _endBlock ico end\r\n * @param _beneficiary the ico ether beneficiary\r\n * @param _admin the address of the ico admin which can hald and resume the ICO.\r\n * @return bytes32 -the params hash\r\n */\r\n function getParametersHash(\r\n uint _cap,\r\n uint _price,\r\n uint _startBlock,\r\n uint _endBlock,\r\n address _beneficiary,\r\n address _admin\r\n )\r\n public\r\n pure\r\n returns(bytes32)\r\n {\r\n return (keccak256(\r\n _cap,\r\n _price,\r\n _startBlock,\r\n _endBlock,\r\n _beneficiary,\r\n _admin\r\n ));\r\n }\r\n\r\n /**\r\n * @dev start an ICO\r\n * @param _avatar The Avatar's of the organization\r\n */\r\n function start(Avatar _avatar) public {\r\n require(!isActive(_avatar));\r\n Organization memory org;\r\n org.paramsHash = getParametersFromController(_avatar);\r\n require(parameters[org.paramsHash].cap != 0);\r\n org.avatarContractICO = new MirrorContractICO(_avatar, this);\r\n organizationsICOInfo[_avatar] = org;\r\n }\r\n\r\n /**\r\n * @dev Allowing admin to halt an ICO.\r\n * @param _avatar The Avatar's of the organization\r\n */\r\n function haltICO(address _avatar) public {\r\n require(msg.sender == parameters[organizationsICOInfo[_avatar].paramsHash].admin);\r\n organizationsICOInfo[_avatar].isHalted = true;\r\n }\r\n\r\n /**\r\n * @dev Allowing admin to reopen an ICO.\r\n * @param _avatar The Avatar's of the organization\r\n */\r\n function resumeICO(address _avatar) public {\r\n require(msg.sender == parameters[organizationsICOInfo[_avatar].paramsHash].admin);\r\n organizationsICOInfo[_avatar].isHalted = false;\r\n }\r\n\r\n /**\r\n * @dev Check is an ICO is active (halted is still considered active). Active ICO:\r\n * 1. The organization is registered.\r\n * 2. The ICO didn't reach it's cap yet.\r\n * 3. The current block isn't bigger than the \"endBlock\" & Smaller then the \"startBlock\"\r\n * @param _avatar The Avatar's of the organization\r\n * @return bool which represents a successful of the function\r\n */\r\n function isActive(address _avatar) public constant returns(bool) {\r\n Organization memory org = organizationsICOInfo[_avatar];\r\n Parameters memory params = parameters[org.paramsHash];\r\n if (! organizations[_avatar]) {\r\n return false;\r\n }\r\n if (org.totalEthRaised >= params.cap) {\r\n return false;\r\n }\r\n if (block.number >= params.endBlock) {\r\n return false;\r\n }\r\n if (block.number <= params.startBlock) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev Donating ethers to get tokens.\r\n * If the donation is higher than the remaining ethers in the \"cap\",\r\n * The donator will get the change in ethers.\r\n * @param _avatar The Avatar's of the organization.\r\n * @param _beneficiary The donator's address - which will receive the ICO's tokens.\r\n * @return bool which represents a successful of the function\r\n */\r\n function donate(Avatar _avatar, address _beneficiary) public payable returns(uint) {\r\n Organization memory org = organizationsICOInfo[_avatar];\r\n Parameters memory params = parameters[org.paramsHash];\r\n\r\n // Check ICO is active:\r\n require(isActive(_avatar));\r\n\r\n // Check ICO is not halted:\r\n require(!org.isHalted);\r\n\r\n\r\n uint incomingEther;\r\n uint change;\r\n\r\n // Compute how much tokens to buy:\r\n if ( msg.value > (params.cap).sub(org.totalEthRaised) ) {\r\n incomingEther = (params.cap).sub(org.totalEthRaised);\r\n change = (msg.value).sub(incomingEther);\r\n } else {\r\n incomingEther = msg.value;\r\n }\r\n uint tokens = incomingEther.mul(params.price);\r\n // Send ether to the defined address, mint, and send change to beneficiary:\r\n params.beneficiary.transfer(incomingEther);\r\n\r\n Controller controller = Controller(_avatar.owner());\r\n if (!controller.mintTokens(tokens, _beneficiary)) {\r\n revert();\r\n }\r\n if (change != 0) {\r\n _beneficiary.transfer(change);\r\n }\r\n // Update total raised, call event and return amount of tokens bought:\r\n organizationsICOInfo[_avatar].totalEthRaised += incomingEther;\r\n DonationReceived(_avatar, _beneficiary, incomingEther, tokens);\r\n return tokens;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\SimpleICO.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/SimpleICO.sol", + "exportedSymbols": { + "MirrorContractICO": [ + 6641 + ], + "SimpleICO": [ + 7086 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 6586, + "name": "PragmaDirective", + "src": "0:24:21" + }, + { + "attributes": { + "SourceUnit": 7230, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "file": "./UniversalScheme.sol", + "scope": 7087, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6587, + "name": "ImportDirective", + "src": "28:31:21" + }, + { + "attributes": { + "SourceUnit": 9141, + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "scope": 7087, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6588, + "name": "ImportDirective", + "src": "61:59:21" + }, + { + "attributes": { + "SourceUnit": 9085, + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "scope": 7087, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6589, + "name": "ImportDirective", + "src": "122:55:21" + }, + { + "attributes": { + "SourceUnit": 8987, + "absolutePath": "zeppelin-solidity/contracts/lifecycle/Destructible.sol", + "file": "zeppelin-solidity/contracts/lifecycle/Destructible.sol", + "scope": 7087, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6590, + "name": "ImportDirective", + "src": "179:64:21" + }, + { + "attributes": { + "contractDependencies": [ + 8986, + 9140 + ], + "contractKind": "contract", + "documentation": "@title An avatar contract for ICO.\r\n@dev Allow people to donate by simply sending ether to an address.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 6641, + 8986, + 9140 + ], + "name": "MirrorContractICO", + "scope": 7087 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Destructible", + "referencedDeclaration": 8986, + "type": "contract Destructible" + }, + "id": 6591, + "name": "UserDefinedTypeName", + "src": "399:12:21" + } + ], + "id": 6592, + "name": "InheritanceSpecifier", + "src": "399:12:21" + }, + { + "attributes": { + "constant": false, + "name": "organization", + "scope": 6641, + "stateVariable": true, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6593, + "name": "UserDefinedTypeName", + "src": "419:6:21" + } + ], + "id": 6594, + "name": "VariableDeclaration", + "src": "419:26:21" + }, + { + "attributes": { + "constant": false, + "name": "simpleICO", + "scope": 6641, + "stateVariable": true, + "storageLocation": "default", + "type": "contract SimpleICO", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SimpleICO", + "referencedDeclaration": 7086, + "type": "contract SimpleICO" + }, + "id": 6595, + "name": "UserDefinedTypeName", + "src": "493:9:21" + } + ], + "id": 6596, + "name": "VariableDeclaration", + "src": "493:26:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "MirrorContractICO", + "payable": false, + "scope": 6641, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_organization", + "scope": 6612, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6597, + "name": "UserDefinedTypeName", + "src": "761:6:21" + } + ], + "id": 6598, + "name": "VariableDeclaration", + "src": "761:20:21" + }, + { + "attributes": { + "constant": false, + "name": "_simpleICO", + "scope": 6612, + "stateVariable": false, + "storageLocation": "default", + "type": "contract SimpleICO", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SimpleICO", + "referencedDeclaration": 7086, + "type": "contract SimpleICO" + }, + "id": 6599, + "name": "UserDefinedTypeName", + "src": "783:9:21" + } + ], + "id": 6600, + "name": "VariableDeclaration", + "src": "783:20:21" + } + ], + "id": 6601, + "name": "ParameterList", + "src": "760:44:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6602, + "name": "ParameterList", + "src": "812:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract Avatar" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6594, + "type": "contract Avatar", + "value": "organization" + }, + "id": 6603, + "name": "Identifier", + "src": "823:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6598, + "type": "contract Avatar", + "value": "_organization" + }, + "id": 6604, + "name": "Identifier", + "src": "838:13:21" + } + ], + "id": 6605, + "name": "Assignment", + "src": "823:28:21" + } + ], + "id": 6606, + "name": "ExpressionStatement", + "src": "823:28:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract SimpleICO" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6596, + "type": "contract SimpleICO", + "value": "simpleICO" + }, + "id": 6607, + "name": "Identifier", + "src": "862:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6600, + "type": "contract SimpleICO", + "value": "_simpleICO" + }, + "id": 6608, + "name": "Identifier", + "src": "874:10:21" + } + ], + "id": 6609, + "name": "Assignment", + "src": "862:22:21" + } + ], + "id": 6610, + "name": "ExpressionStatement", + "src": "862:22:21" + } + ], + "id": 6611, + "name": "Block", + "src": "812:80:21" + } + ], + "id": 6612, + "name": "FunctionDefinition", + "src": "734:158:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 6641, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6613, + "name": "ParameterList", + "src": "1064:2:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6614, + "name": "ParameterList", + "src": "1082:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6615, + "name": "Identifier", + "src": "1136:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6616, + "name": "Identifier", + "src": "1144:3:21" + } + ], + "id": 6617, + "name": "MemberAccess", + "src": "1144:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6618, + "name": "Literal", + "src": "1157:1:21" + } + ], + "id": 6619, + "name": "BinaryOperation", + "src": "1144:14:21" + } + ], + "id": 6620, + "name": "FunctionCall", + "src": "1136:23:21" + } + ], + "id": 6621, + "name": "ExpressionStatement", + "src": "1136:23:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function (contract Avatar,address) payable external returns (uint256)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function (contract Avatar,address) payable external returns (uint256))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "donate", + "referencedDeclaration": 7085, + "type": "function (contract Avatar,address) payable external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6596, + "type": "contract SimpleICO", + "value": "simpleICO" + }, + "id": 6622, + "name": "Identifier", + "src": "1220:9:21" + } + ], + "id": 6623, + "name": "MemberAccess", + "src": "1220:16:21" + } + ], + "id": 6624, + "name": "MemberAccess", + "src": "1220:22:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6625, + "name": "Identifier", + "src": "1243:3:21" + } + ], + "id": 6626, + "name": "MemberAccess", + "src": "1243:9:21" + } + ], + "id": 6627, + "name": "FunctionCall", + "src": "1220:33:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6594, + "type": "contract Avatar", + "value": "organization" + }, + "id": 6628, + "name": "Identifier", + "src": "1254:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6629, + "name": "Identifier", + "src": "1268:3:21" + } + ], + "id": 6630, + "name": "MemberAccess", + "src": "1268:10:21" + } + ], + "id": 6631, + "name": "FunctionCall", + "src": "1220:59:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6632, + "name": "Literal", + "src": "1283:1:21" + } + ], + "id": 6633, + "name": "BinaryOperation", + "src": "1220:64:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 6634, + "name": "Identifier", + "src": "1301:6:21" + } + ], + "id": 6635, + "name": "FunctionCall", + "src": "1301:8:21" + } + ], + "id": 6636, + "name": "ExpressionStatement", + "src": "1301:8:21" + } + ], + "id": 6637, + "name": "Block", + "src": "1286:35:21" + } + ], + "id": 6638, + "name": "IfStatement", + "src": "1216:105:21" + } + ], + "id": 6639, + "name": "Block", + "src": "1082:246:21" + } + ], + "id": 6640, + "name": "FunctionDefinition", + "src": "1055:273:21" + } + ], + "id": 6641, + "name": "ContractDefinition", + "src": "369:962:21" + }, + { + "attributes": { + "contractDependencies": [ + 6641, + 7229, + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": "@title SimpleICO scheme.\r\n@dev A universal scheme to allow organizations to open a simple ICO and get donations.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 7086, + 7229, + 7259, + 9140 + ], + "name": "SimpleICO", + "scope": 7087 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalScheme", + "referencedDeclaration": 7229, + "type": "contract UniversalScheme" + }, + "id": 6642, + "name": "UserDefinedTypeName", + "src": "1489:15:21" + } + ], + "id": 6643, + "name": "InheritanceSpecifier", + "src": "1489:15:21" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 9084, + "type": "library SafeMath" + }, + "id": 6644, + "name": "UserDefinedTypeName", + "src": "1518:8:21" + }, + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6645, + "name": "ElementaryTypeName", + "src": "1531:4:21" + } + ], + "id": 6646, + "name": "UsingForDirective", + "src": "1512:24:21" + }, + { + "attributes": { + "canonicalName": "SimpleICO.Organization", + "name": "Organization", + "scope": 7086, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 6655, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6647, + "name": "ElementaryTypeName", + "src": "1629:7:21" + } + ], + "id": 6648, + "name": "VariableDeclaration", + "src": "1629:18:21" + }, + { + "attributes": { + "constant": false, + "name": "avatarContractICO", + "scope": 6655, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6649, + "name": "ElementaryTypeName", + "src": "1752:7:21" + } + ], + "id": 6650, + "name": "VariableDeclaration", + "src": "1752:25:21" + }, + { + "attributes": { + "constant": false, + "name": "totalEthRaised", + "scope": 6655, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6651, + "name": "ElementaryTypeName", + "src": "1872:4:21" + } + ], + "id": 6652, + "name": "VariableDeclaration", + "src": "1872:19:21" + }, + { + "attributes": { + "constant": false, + "name": "isHalted", + "scope": 6655, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6653, + "name": "ElementaryTypeName", + "src": "1902:4:21" + } + ], + "id": 6654, + "name": "VariableDeclaration", + "src": "1902:13:21" + } + ], + "id": 6655, + "name": "StructDefinition", + "src": "1598:399:21" + }, + { + "attributes": { + "canonicalName": "SimpleICO.Parameters", + "name": "Parameters", + "scope": 7086, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cap", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6656, + "name": "ElementaryTypeName", + "src": "2138:4:21" + } + ], + "id": 6657, + "name": "VariableDeclaration", + "src": "2138:8:21" + }, + { + "attributes": { + "constant": false, + "name": "price", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6658, + "name": "ElementaryTypeName", + "src": "2171:4:21" + } + ], + "id": 6659, + "name": "VariableDeclaration", + "src": "2171:10:21" + }, + { + "attributes": { + "constant": false, + "name": "startBlock", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6660, + "name": "ElementaryTypeName", + "src": "2229:4:21" + } + ], + "id": 6661, + "name": "VariableDeclaration", + "src": "2229:15:21" + }, + { + "attributes": { + "constant": false, + "name": "endBlock", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6662, + "name": "ElementaryTypeName", + "src": "2255:4:21" + } + ], + "id": 6663, + "name": "VariableDeclaration", + "src": "2255:13:21" + }, + { + "attributes": { + "constant": false, + "name": "beneficiary", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6664, + "name": "ElementaryTypeName", + "src": "2279:7:21" + } + ], + "id": 6665, + "name": "VariableDeclaration", + "src": "2279:19:21" + }, + { + "attributes": { + "constant": false, + "name": "admin", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6666, + "name": "ElementaryTypeName", + "src": "2368:7:21" + } + ], + "id": 6667, + "name": "VariableDeclaration", + "src": "2368:13:21" + } + ], + "id": 6668, + "name": "StructDefinition", + "src": "2109:317:21" + }, + { + "attributes": { + "constant": false, + "name": "organizationsICOInfo", + "scope": 7086, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => struct SimpleICO.Organization storage ref)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6669, + "name": "ElementaryTypeName", + "src": "2538:7:21" + }, + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 6655, + "type": "struct SimpleICO.Organization storage pointer" + }, + "id": 6670, + "name": "UserDefinedTypeName", + "src": "2547:12:21" + } + ], + "id": 6671, + "name": "Mapping", + "src": "2530:30:21" + } + ], + "id": 6672, + "name": "VariableDeclaration", + "src": "2530:58:21" + }, + { + "attributes": { + "constant": false, + "name": "parameters", + "scope": 7086, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6673, + "name": "ElementaryTypeName", + "src": "2605:7:21" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 6668, + "type": "struct SimpleICO.Parameters storage pointer" + }, + "id": 6674, + "name": "UserDefinedTypeName", + "src": "2614:10:21" + } + ], + "id": 6675, + "name": "Mapping", + "src": "2597:28:21" + } + ], + "id": 6676, + "name": "VariableDeclaration", + "src": "2597:46:21" + }, + { + "attributes": { + "anonymous": false, + "name": "DonationReceived" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "organization", + "scope": 6686, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6677, + "name": "ElementaryTypeName", + "src": "2675:7:21" + } + ], + "id": 6678, + "name": "VariableDeclaration", + "src": "2675:28:21" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_beneficiary", + "scope": 6686, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6679, + "name": "ElementaryTypeName", + "src": "2705:7:21" + } + ], + "id": 6680, + "name": "VariableDeclaration", + "src": "2705:28:21" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_incomingEther", + "scope": 6686, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6681, + "name": "ElementaryTypeName", + "src": "2735:4:21" + } + ], + "id": 6682, + "name": "VariableDeclaration", + "src": "2735:19:21" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_tokensAmount", + "scope": 6686, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6683, + "name": "ElementaryTypeName", + "src": "2756:4:21" + } + ], + "id": 6684, + "name": "VariableDeclaration", + "src": "2756:26:21" + } + ], + "id": 6685, + "name": "ParameterList", + "src": "2674:109:21" + } + ], + "id": 6686, + "name": "EventDefinition", + "src": "2652:132:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "SimpleICO", + "payable": false, + "scope": 7086, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 6705, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 6687, + "name": "UserDefinedTypeName", + "src": "3062:13:21" + } + ], + "id": 6688, + "name": "VariableDeclaration", + "src": "3062:26:21" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 6705, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6689, + "name": "ElementaryTypeName", + "src": "3090:4:21" + } + ], + "id": 6690, + "name": "VariableDeclaration", + "src": "3090:9:21" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 6705, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6691, + "name": "ElementaryTypeName", + "src": "3101:7:21" + } + ], + "id": 6692, + "name": "VariableDeclaration", + "src": "3101:20:21" + } + ], + "id": 6693, + "name": "ParameterList", + "src": "3061:61:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6694, + "name": "ParameterList", + "src": "3130:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 7207 + ], + "referencedDeclaration": 7207, + "type": "function (contract StandardToken,uint256,address,bytes32)", + "value": "updateParameters" + }, + "id": 6695, + "name": "Identifier", + "src": "3141:16:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6688, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 6696, + "name": "Identifier", + "src": "3158:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6690, + "type": "uint256", + "value": "_fee" + }, + "id": 6697, + "name": "Identifier", + "src": "3172:4:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6692, + "type": "address", + "value": "_beneficiary" + }, + "id": 6698, + "name": "Identifier", + "src": "3178:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 6699, + "name": "ElementaryTypeNameExpression", + "src": "3192:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6700, + "name": "Literal", + "src": "3200:1:21" + } + ], + "id": 6701, + "name": "FunctionCall", + "src": "3192:10:21" + } + ], + "id": 6702, + "name": "FunctionCall", + "src": "3141:62:21" + } + ], + "id": 6703, + "name": "ExpressionStatement", + "src": "3141:62:21" + } + ], + "id": 6704, + "name": "Block", + "src": "3130:81:21" + } + ], + "id": 6705, + "name": "FunctionDefinition", + "src": "3043:168:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 7086, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_cap", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6706, + "name": "ElementaryTypeName", + "src": "3686:4:21" + } + ], + "id": 6707, + "name": "VariableDeclaration", + "src": "3686:9:21" + }, + { + "attributes": { + "constant": false, + "name": "_price", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6708, + "name": "ElementaryTypeName", + "src": "3706:4:21" + } + ], + "id": 6709, + "name": "VariableDeclaration", + "src": "3706:11:21" + }, + { + "attributes": { + "constant": false, + "name": "_startBlock", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6710, + "name": "ElementaryTypeName", + "src": "3728:4:21" + } + ], + "id": 6711, + "name": "VariableDeclaration", + "src": "3728:16:21" + }, + { + "attributes": { + "constant": false, + "name": "_endBlock", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6712, + "name": "ElementaryTypeName", + "src": "3755:4:21" + } + ], + "id": 6713, + "name": "VariableDeclaration", + "src": "3755:14:21" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6714, + "name": "ElementaryTypeName", + "src": "3780:7:21" + } + ], + "id": 6715, + "name": "VariableDeclaration", + "src": "3780:20:21" + }, + { + "attributes": { + "constant": false, + "name": "_admin", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6716, + "name": "ElementaryTypeName", + "src": "3811:7:21" + } + ], + "id": 6717, + "name": "VariableDeclaration", + "src": "3811:14:21" + } + ], + "id": 6718, + "name": "ParameterList", + "src": "3675:157:21" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6719, + "name": "ElementaryTypeName", + "src": "3866:7:21" + } + ], + "id": 6720, + "name": "VariableDeclaration", + "src": "3866:7:21" + } + ], + "id": 6721, + "name": "ParameterList", + "src": "3865:9:21" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 6723 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6722, + "name": "ElementaryTypeName", + "src": "3891:7:21" + } + ], + "id": 6723, + "name": "VariableDeclaration", + "src": "3891:18:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6785, + "type": "function (uint256,uint256,uint256,uint256,address,address) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 6724, + "name": "Identifier", + "src": "3912:17:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6707, + "type": "uint256", + "value": "_cap" + }, + "id": 6725, + "name": "Identifier", + "src": "3944:4:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6709, + "type": "uint256", + "value": "_price" + }, + "id": 6726, + "name": "Identifier", + "src": "3963:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6711, + "type": "uint256", + "value": "_startBlock" + }, + "id": 6727, + "name": "Identifier", + "src": "3984:11:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6713, + "type": "uint256", + "value": "_endBlock" + }, + "id": 6728, + "name": "Identifier", + "src": "4010:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6715, + "type": "address", + "value": "_beneficiary" + }, + "id": 6729, + "name": "Identifier", + "src": "4034:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6717, + "type": "address", + "value": "_admin" + }, + "id": 6730, + "name": "Identifier", + "src": "4061:6:21" + } + ], + "id": 6731, + "name": "FunctionCall", + "src": "3912:166:21" + } + ], + "id": 6732, + "name": "VariableDeclarationStatement", + "src": "3891:187:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 6657, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6733, + "name": "Identifier", + "src": "4093:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6723, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6734, + "name": "Identifier", + "src": "4104:10:21" + } + ], + "id": 6735, + "name": "IndexAccess", + "src": "4093:22:21" + } + ], + "id": 6736, + "name": "MemberAccess", + "src": "4093:26:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6737, + "name": "Literal", + "src": "4123:1:21" + } + ], + "id": 6738, + "name": "BinaryOperation", + "src": "4093:31:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6739, + "name": "Identifier", + "src": "4141:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6723, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6740, + "name": "Identifier", + "src": "4152:10:21" + } + ], + "id": 6741, + "name": "IndexAccess", + "src": "4141:22:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "cap", + "price", + "startBlock", + "endBlock", + "beneficiary", + "admin" + ], + "type": "struct SimpleICO.Parameters memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6668, + "type": "type(struct SimpleICO.Parameters storage pointer)", + "value": "Parameters" + }, + "id": 6742, + "name": "Identifier", + "src": "4166:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6707, + "type": "uint256", + "value": "_cap" + }, + "id": 6743, + "name": "Identifier", + "src": "4201:4:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6709, + "type": "uint256", + "value": "_price" + }, + "id": 6744, + "name": "Identifier", + "src": "4231:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6711, + "type": "uint256", + "value": "_startBlock" + }, + "id": 6745, + "name": "Identifier", + "src": "4268:11:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6713, + "type": "uint256", + "value": "_endBlock" + }, + "id": 6746, + "name": "Identifier", + "src": "4307:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6715, + "type": "address", + "value": "_beneficiary" + }, + "id": 6747, + "name": "Identifier", + "src": "4347:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6717, + "type": "address", + "value": "_admin" + }, + "id": 6748, + "name": "Identifier", + "src": "4384:6:21" + } + ], + "id": 6749, + "name": "FunctionCall", + "src": "4166:240:21" + } + ], + "id": 6750, + "name": "Assignment", + "src": "4141:265:21" + } + ], + "id": 6751, + "name": "ExpressionStatement", + "src": "4141:265:21" + } + ], + "id": 6752, + "name": "Block", + "src": "4126:292:21" + } + ], + "id": 6753, + "name": "IfStatement", + "src": "4089:329:21" + }, + { + "attributes": { + "functionReturnParameters": 6721 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6723, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6754, + "name": "Identifier", + "src": "4435:10:21" + } + ], + "id": 6755, + "name": "Return", + "src": "4428:17:21" + } + ], + "id": 6756, + "name": "Block", + "src": "3880:573:21" + } + ], + "id": 6757, + "name": "FunctionDefinition", + "src": "3653:800:21" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 7086, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_cap", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6758, + "name": "ElementaryTypeName", + "src": "4907:4:21" + } + ], + "id": 6759, + "name": "VariableDeclaration", + "src": "4907:9:21" + }, + { + "attributes": { + "constant": false, + "name": "_price", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6760, + "name": "ElementaryTypeName", + "src": "4927:4:21" + } + ], + "id": 6761, + "name": "VariableDeclaration", + "src": "4927:11:21" + }, + { + "attributes": { + "constant": false, + "name": "_startBlock", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6762, + "name": "ElementaryTypeName", + "src": "4949:4:21" + } + ], + "id": 6763, + "name": "VariableDeclaration", + "src": "4949:16:21" + }, + { + "attributes": { + "constant": false, + "name": "_endBlock", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6764, + "name": "ElementaryTypeName", + "src": "4976:4:21" + } + ], + "id": 6765, + "name": "VariableDeclaration", + "src": "4976:14:21" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6766, + "name": "ElementaryTypeName", + "src": "5001:7:21" + } + ], + "id": 6767, + "name": "VariableDeclaration", + "src": "5001:20:21" + }, + { + "attributes": { + "constant": false, + "name": "_admin", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6768, + "name": "ElementaryTypeName", + "src": "5032:7:21" + } + ], + "id": 6769, + "name": "VariableDeclaration", + "src": "5032:14:21" + } + ], + "id": 6770, + "name": "ParameterList", + "src": "4896:157:21" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6771, + "name": "ElementaryTypeName", + "src": "5101:7:21" + } + ], + "id": 6772, + "name": "VariableDeclaration", + "src": "5101:7:21" + } + ], + "id": 6773, + "name": "ParameterList", + "src": "5100:9:21" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6773 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 6774, + "name": "Identifier", + "src": "5133:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6759, + "type": "uint256", + "value": "_cap" + }, + "id": 6775, + "name": "Identifier", + "src": "5157:4:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6761, + "type": "uint256", + "value": "_price" + }, + "id": 6776, + "name": "Identifier", + "src": "5176:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6763, + "type": "uint256", + "value": "_startBlock" + }, + "id": 6777, + "name": "Identifier", + "src": "5197:11:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6765, + "type": "uint256", + "value": "_endBlock" + }, + "id": 6778, + "name": "Identifier", + "src": "5223:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6767, + "type": "address", + "value": "_beneficiary" + }, + "id": 6779, + "name": "Identifier", + "src": "5247:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6769, + "type": "address", + "value": "_admin" + }, + "id": 6780, + "name": "Identifier", + "src": "5274:6:21" + } + ], + "id": 6781, + "name": "FunctionCall", + "src": "5133:158:21" + } + ], + "id": 6782, + "name": "TupleExpression", + "src": "5132:160:21" + } + ], + "id": 6783, + "name": "Return", + "src": "5125:167:21" + } + ], + "id": 6784, + "name": "Block", + "src": "5114:186:21" + } + ], + "id": 6785, + "name": "FunctionDefinition", + "src": "4870:430:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "start", + "payable": false, + "scope": 7086, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6835, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6786, + "name": "UserDefinedTypeName", + "src": "5423:6:21" + } + ], + "id": 6787, + "name": "VariableDeclaration", + "src": "5423:14:21" + } + ], + "id": 6788, + "name": "ParameterList", + "src": "5422:16:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6789, + "name": "ParameterList", + "src": "5446:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6790, + "name": "Identifier", + "src": "5457:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6945, + "type": "function (address) view returns (bool)", + "value": "isActive" + }, + "id": 6791, + "name": "Identifier", + "src": "5466:8:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6787, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6792, + "name": "Identifier", + "src": "5475:7:21" + } + ], + "id": 6793, + "name": "FunctionCall", + "src": "5466:17:21" + } + ], + "id": 6794, + "name": "UnaryOperation", + "src": "5465:18:21" + } + ], + "id": 6795, + "name": "FunctionCall", + "src": "5457:27:21" + } + ], + "id": 6796, + "name": "ExpressionStatement", + "src": "5457:27:21" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "org", + "scope": 6835, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SimpleICO.Organization memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 6655, + "type": "struct SimpleICO.Organization storage pointer" + }, + "id": 6797, + "name": "UserDefinedTypeName", + "src": "5495:12:21" + } + ], + "id": 6798, + "name": "VariableDeclaration", + "src": "5495:23:21" + } + ], + "id": 6799, + "name": "VariableDeclarationStatement", + "src": "5495:23:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6798, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6800, + "name": "Identifier", + "src": "5529:3:21" + } + ], + "id": 6802, + "name": "MemberAccess", + "src": "5529:14:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 6803, + "name": "Identifier", + "src": "5546:27:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6787, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6804, + "name": "Identifier", + "src": "5574:7:21" + } + ], + "id": 6805, + "name": "FunctionCall", + "src": "5546:36:21" + } + ], + "id": 6806, + "name": "Assignment", + "src": "5529:53:21" + } + ], + "id": 6807, + "name": "ExpressionStatement", + "src": "5529:53:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6808, + "name": "Identifier", + "src": "5593:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 6657, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6809, + "name": "Identifier", + "src": "5601:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6798, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6810, + "name": "Identifier", + "src": "5612:3:21" + } + ], + "id": 6811, + "name": "MemberAccess", + "src": "5612:14:21" + } + ], + "id": 6812, + "name": "IndexAccess", + "src": "5601:26:21" + } + ], + "id": 6813, + "name": "MemberAccess", + "src": "5601:30:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6814, + "name": "Literal", + "src": "5635:1:21" + } + ], + "id": 6815, + "name": "BinaryOperation", + "src": "5601:35:21" + } + ], + "id": 6816, + "name": "FunctionCall", + "src": "5593:44:21" + } + ], + "id": 6817, + "name": "ExpressionStatement", + "src": "5593:44:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "avatarContractICO", + "referencedDeclaration": 6650, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6798, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6818, + "name": "Identifier", + "src": "5648:3:21" + } + ], + "id": 6820, + "name": "MemberAccess", + "src": "5648:21:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract MirrorContractICO", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_SimpleICO_$7086", + "typeString": "contract SimpleICO" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "function (contract Avatar,contract SimpleICO) returns (contract MirrorContractICO)" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "MirrorContractICO", + "referencedDeclaration": 6641, + "type": "contract MirrorContractICO" + }, + "id": 6821, + "name": "UserDefinedTypeName", + "src": "5676:17:21" + } + ], + "id": 6822, + "name": "NewExpression", + "src": "5672:21:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6787, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6823, + "name": "Identifier", + "src": "5694:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9817, + "type": "contract SimpleICO", + "value": "this" + }, + "id": 6824, + "name": "Identifier", + "src": "5703:4:21" + } + ], + "id": 6825, + "name": "FunctionCall", + "src": "5672:36:21" + } + ], + "id": 6826, + "name": "Assignment", + "src": "5648:60:21" + } + ], + "id": 6827, + "name": "ExpressionStatement", + "src": "5648:60:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6828, + "name": "Identifier", + "src": "5719:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6787, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6829, + "name": "Identifier", + "src": "5740:7:21" + } + ], + "id": 6830, + "name": "IndexAccess", + "src": "5719:29:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6798, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6831, + "name": "Identifier", + "src": "5751:3:21" + } + ], + "id": 6832, + "name": "Assignment", + "src": "5719:35:21" + } + ], + "id": 6833, + "name": "ExpressionStatement", + "src": "5719:35:21" + } + ], + "id": 6834, + "name": "Block", + "src": "5446:316:21" + } + ], + "id": 6835, + "name": "FunctionDefinition", + "src": "5408:354:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "haltICO", + "payable": false, + "scope": 7086, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6861, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6836, + "name": "ElementaryTypeName", + "src": "5905:7:21" + } + ], + "id": 6837, + "name": "VariableDeclaration", + "src": "5905:15:21" + } + ], + "id": 6838, + "name": "ParameterList", + "src": "5904:17:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6839, + "name": "ParameterList", + "src": "5929:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6840, + "name": "Identifier", + "src": "5940:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6841, + "name": "Identifier", + "src": "5948:3:21" + } + ], + "id": 6842, + "name": "MemberAccess", + "src": "5948:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "admin", + "referencedDeclaration": 6667, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6843, + "name": "Identifier", + "src": "5962:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6844, + "name": "Identifier", + "src": "5973:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6837, + "type": "address", + "value": "_avatar" + }, + "id": 6845, + "name": "Identifier", + "src": "5994:7:21" + } + ], + "id": 6846, + "name": "IndexAccess", + "src": "5973:29:21" + } + ], + "id": 6847, + "name": "MemberAccess", + "src": "5973:40:21" + } + ], + "id": 6848, + "name": "IndexAccess", + "src": "5962:52:21" + } + ], + "id": 6849, + "name": "MemberAccess", + "src": "5962:58:21" + } + ], + "id": 6850, + "name": "BinaryOperation", + "src": "5948:72:21" + } + ], + "id": 6851, + "name": "FunctionCall", + "src": "5940:81:21" + } + ], + "id": 6852, + "name": "ExpressionStatement", + "src": "5940:81:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "isHalted", + "referencedDeclaration": 6654, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6853, + "name": "Identifier", + "src": "6032:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6837, + "type": "address", + "value": "_avatar" + }, + "id": 6854, + "name": "Identifier", + "src": "6053:7:21" + } + ], + "id": 6855, + "name": "IndexAccess", + "src": "6032:29:21" + } + ], + "id": 6856, + "name": "MemberAccess", + "src": "6032:38:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 6857, + "name": "Literal", + "src": "6073:4:21" + } + ], + "id": 6858, + "name": "Assignment", + "src": "6032:45:21" + } + ], + "id": 6859, + "name": "ExpressionStatement", + "src": "6032:45:21" + } + ], + "id": 6860, + "name": "Block", + "src": "5929:156:21" + } + ], + "id": 6861, + "name": "FunctionDefinition", + "src": "5888:197:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "resumeICO", + "payable": false, + "scope": 7086, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6887, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6862, + "name": "ElementaryTypeName", + "src": "6232:7:21" + } + ], + "id": 6863, + "name": "VariableDeclaration", + "src": "6232:15:21" + } + ], + "id": 6864, + "name": "ParameterList", + "src": "6231:17:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6865, + "name": "ParameterList", + "src": "6256:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6866, + "name": "Identifier", + "src": "6267:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6867, + "name": "Identifier", + "src": "6275:3:21" + } + ], + "id": 6868, + "name": "MemberAccess", + "src": "6275:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "admin", + "referencedDeclaration": 6667, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6869, + "name": "Identifier", + "src": "6289:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6870, + "name": "Identifier", + "src": "6300:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6863, + "type": "address", + "value": "_avatar" + }, + "id": 6871, + "name": "Identifier", + "src": "6321:7:21" + } + ], + "id": 6872, + "name": "IndexAccess", + "src": "6300:29:21" + } + ], + "id": 6873, + "name": "MemberAccess", + "src": "6300:40:21" + } + ], + "id": 6874, + "name": "IndexAccess", + "src": "6289:52:21" + } + ], + "id": 6875, + "name": "MemberAccess", + "src": "6289:58:21" + } + ], + "id": 6876, + "name": "BinaryOperation", + "src": "6275:72:21" + } + ], + "id": 6877, + "name": "FunctionCall", + "src": "6267:81:21" + } + ], + "id": 6878, + "name": "ExpressionStatement", + "src": "6267:81:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "isHalted", + "referencedDeclaration": 6654, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6879, + "name": "Identifier", + "src": "6359:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6863, + "type": "address", + "value": "_avatar" + }, + "id": 6880, + "name": "Identifier", + "src": "6380:7:21" + } + ], + "id": 6881, + "name": "IndexAccess", + "src": "6359:29:21" + } + ], + "id": 6882, + "name": "MemberAccess", + "src": "6359:38:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6883, + "name": "Literal", + "src": "6400:5:21" + } + ], + "id": 6884, + "name": "Assignment", + "src": "6359:46:21" + } + ], + "id": 6885, + "name": "ExpressionStatement", + "src": "6359:46:21" + } + ], + "id": 6886, + "name": "Block", + "src": "6256:157:21" + } + ], + "id": 6887, + "name": "FunctionDefinition", + "src": "6213:200:21" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isActive", + "payable": false, + "scope": 7086, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6945, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6888, + "name": "ElementaryTypeName", + "src": "6851:7:21" + } + ], + "id": 6889, + "name": "VariableDeclaration", + "src": "6851:15:21" + } + ], + "id": 6890, + "name": "ParameterList", + "src": "6850:17:21" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6945, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6891, + "name": "ElementaryTypeName", + "src": "6892:4:21" + } + ], + "id": 6892, + "name": "VariableDeclaration", + "src": "6892:4:21" + } + ], + "id": 6893, + "name": "ParameterList", + "src": "6891:6:21" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 6895 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "org", + "scope": 6945, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SimpleICO.Organization memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 6655, + "type": "struct SimpleICO.Organization storage pointer" + }, + "id": 6894, + "name": "UserDefinedTypeName", + "src": "6909:12:21" + } + ], + "id": 6895, + "name": "VariableDeclaration", + "src": "6909:23:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6896, + "name": "Identifier", + "src": "6935:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6889, + "type": "address", + "value": "_avatar" + }, + "id": 6897, + "name": "Identifier", + "src": "6956:7:21" + } + ], + "id": 6898, + "name": "IndexAccess", + "src": "6935:29:21" + } + ], + "id": 6899, + "name": "VariableDeclarationStatement", + "src": "6909:55:21" + }, + { + "attributes": { + "assignments": [ + 6901 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 6945, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SimpleICO.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 6668, + "type": "struct SimpleICO.Parameters storage pointer" + }, + "id": 6900, + "name": "UserDefinedTypeName", + "src": "6975:10:21" + } + ], + "id": 6901, + "name": "VariableDeclaration", + "src": "6975:24:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6902, + "name": "Identifier", + "src": "7002:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6895, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6903, + "name": "Identifier", + "src": "7013:3:21" + } + ], + "id": 6904, + "name": "MemberAccess", + "src": "7013:14:21" + } + ], + "id": 6905, + "name": "IndexAccess", + "src": "7002:26:21" + } + ], + "id": 6906, + "name": "VariableDeclarationStatement", + "src": "6975:53:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7109, + "type": "mapping(address => bool)", + "value": "organizations" + }, + "id": 6907, + "name": "Identifier", + "src": "7045:13:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6889, + "type": "address", + "value": "_avatar" + }, + "id": 6908, + "name": "Identifier", + "src": "7059:7:21" + } + ], + "id": 6909, + "name": "IndexAccess", + "src": "7045:22:21" + } + ], + "id": 6910, + "name": "UnaryOperation", + "src": "7043:24:21" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6893 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6911, + "name": "Literal", + "src": "7091:5:21" + } + ], + "id": 6912, + "name": "Return", + "src": "7084:12:21" + } + ], + "id": 6913, + "name": "Block", + "src": "7069:39:21" + } + ], + "id": 6914, + "name": "IfStatement", + "src": "7039:69:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalEthRaised", + "referencedDeclaration": 6652, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6895, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6915, + "name": "Identifier", + "src": "7122:3:21" + } + ], + "id": 6916, + "name": "MemberAccess", + "src": "7122:18:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 6657, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6901, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 6917, + "name": "Identifier", + "src": "7144:6:21" + } + ], + "id": 6918, + "name": "MemberAccess", + "src": "7144:10:21" + } + ], + "id": 6919, + "name": "BinaryOperation", + "src": "7122:32:21" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6893 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6920, + "name": "Literal", + "src": "7178:5:21" + } + ], + "id": 6921, + "name": "Return", + "src": "7171:12:21" + } + ], + "id": 6922, + "name": "Block", + "src": "7156:39:21" + } + ], + "id": 6923, + "name": "IfStatement", + "src": "7118:77:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "number", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9728, + "type": "block", + "value": "block" + }, + "id": 6924, + "name": "Identifier", + "src": "7209:5:21" + } + ], + "id": 6925, + "name": "MemberAccess", + "src": "7209:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "endBlock", + "referencedDeclaration": 6663, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6901, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 6926, + "name": "Identifier", + "src": "7225:6:21" + } + ], + "id": 6927, + "name": "MemberAccess", + "src": "7225:15:21" + } + ], + "id": 6928, + "name": "BinaryOperation", + "src": "7209:31:21" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6893 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6929, + "name": "Literal", + "src": "7264:5:21" + } + ], + "id": 6930, + "name": "Return", + "src": "7257:12:21" + } + ], + "id": 6931, + "name": "Block", + "src": "7242:39:21" + } + ], + "id": 6932, + "name": "IfStatement", + "src": "7205:76:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "number", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9728, + "type": "block", + "value": "block" + }, + "id": 6933, + "name": "Identifier", + "src": "7295:5:21" + } + ], + "id": 6934, + "name": "MemberAccess", + "src": "7295:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "startBlock", + "referencedDeclaration": 6661, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6901, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 6935, + "name": "Identifier", + "src": "7311:6:21" + } + ], + "id": 6936, + "name": "MemberAccess", + "src": "7311:17:21" + } + ], + "id": 6937, + "name": "BinaryOperation", + "src": "7295:33:21" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6893 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6938, + "name": "Literal", + "src": "7352:5:21" + } + ], + "id": 6939, + "name": "Return", + "src": "7345:12:21" + } + ], + "id": 6940, + "name": "Block", + "src": "7330:39:21" + } + ], + "id": 6941, + "name": "IfStatement", + "src": "7291:78:21" + }, + { + "attributes": { + "functionReturnParameters": 6893 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 6942, + "name": "Literal", + "src": "7386:4:21" + } + ], + "id": 6943, + "name": "Return", + "src": "7379:11:21" + } + ], + "id": 6944, + "name": "Block", + "src": "6898:500:21" + } + ], + "id": 6945, + "name": "FunctionDefinition", + "src": "6833:565:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "donate", + "payable": true, + "scope": 7086, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6946, + "name": "UserDefinedTypeName", + "src": "7822:6:21" + } + ], + "id": 6947, + "name": "VariableDeclaration", + "src": "7822:14:21" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6948, + "name": "ElementaryTypeName", + "src": "7838:7:21" + } + ], + "id": 6949, + "name": "VariableDeclaration", + "src": "7838:20:21" + } + ], + "id": 6950, + "name": "ParameterList", + "src": "7821:38:21" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6951, + "name": "ElementaryTypeName", + "src": "7883:4:21" + } + ], + "id": 6952, + "name": "VariableDeclaration", + "src": "7883:4:21" + } + ], + "id": 6953, + "name": "ParameterList", + "src": "7882:6:21" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 6955 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "org", + "scope": 7085, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SimpleICO.Organization memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 6655, + "type": "struct SimpleICO.Organization storage pointer" + }, + "id": 6954, + "name": "UserDefinedTypeName", + "src": "7900:12:21" + } + ], + "id": 6955, + "name": "VariableDeclaration", + "src": "7900:23:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6956, + "name": "Identifier", + "src": "7926:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6947, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6957, + "name": "Identifier", + "src": "7947:7:21" + } + ], + "id": 6958, + "name": "IndexAccess", + "src": "7926:29:21" + } + ], + "id": 6959, + "name": "VariableDeclarationStatement", + "src": "7900:55:21" + }, + { + "attributes": { + "assignments": [ + 6961 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 7085, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SimpleICO.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 6668, + "type": "struct SimpleICO.Parameters storage pointer" + }, + "id": 6960, + "name": "UserDefinedTypeName", + "src": "7966:10:21" + } + ], + "id": 6961, + "name": "VariableDeclaration", + "src": "7966:24:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6962, + "name": "Identifier", + "src": "7993:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6955, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6963, + "name": "Identifier", + "src": "8004:3:21" + } + ], + "id": 6964, + "name": "MemberAccess", + "src": "8004:14:21" + } + ], + "id": 6965, + "name": "IndexAccess", + "src": "7993:26:21" + } + ], + "id": 6966, + "name": "VariableDeclarationStatement", + "src": "7966:53:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6967, + "name": "Identifier", + "src": "8065:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6945, + "type": "function (address) view returns (bool)", + "value": "isActive" + }, + "id": 6968, + "name": "Identifier", + "src": "8073:8:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6947, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6969, + "name": "Identifier", + "src": "8082:7:21" + } + ], + "id": 6970, + "name": "FunctionCall", + "src": "8073:17:21" + } + ], + "id": 6971, + "name": "FunctionCall", + "src": "8065:26:21" + } + ], + "id": 6972, + "name": "ExpressionStatement", + "src": "8065:26:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6973, + "name": "Identifier", + "src": "8141:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "isHalted", + "referencedDeclaration": 6654, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6955, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6974, + "name": "Identifier", + "src": "8150:3:21" + } + ], + "id": 6975, + "name": "MemberAccess", + "src": "8150:12:21" + } + ], + "id": 6976, + "name": "UnaryOperation", + "src": "8149:13:21" + } + ], + "id": 6977, + "name": "FunctionCall", + "src": "8141:22:21" + } + ], + "id": 6978, + "name": "ExpressionStatement", + "src": "8141:22:21" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "incomingEther", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6979, + "name": "ElementaryTypeName", + "src": "8178:4:21" + } + ], + "id": 6980, + "name": "VariableDeclaration", + "src": "8178:18:21" + } + ], + "id": 6981, + "name": "VariableDeclarationStatement", + "src": "8178:18:21" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "change", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6982, + "name": "ElementaryTypeName", + "src": "8207:4:21" + } + ], + "id": 6983, + "name": "VariableDeclaration", + "src": "8207:11:21" + } + ], + "id": 6984, + "name": "VariableDeclarationStatement", + "src": "8207:11:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6985, + "name": "Identifier", + "src": "8280:3:21" + } + ], + "id": 6986, + "name": "MemberAccess", + "src": "8280:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 6657, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6961, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 6987, + "name": "Identifier", + "src": "8293:6:21" + } + ], + "id": 6988, + "name": "MemberAccess", + "src": "8293:10:21" + } + ], + "id": 6989, + "name": "TupleExpression", + "src": "8292:12:21" + } + ], + "id": 6990, + "name": "MemberAccess", + "src": "8292:16:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalEthRaised", + "referencedDeclaration": 6652, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6955, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6991, + "name": "Identifier", + "src": "8309:3:21" + } + ], + "id": 6992, + "name": "MemberAccess", + "src": "8309:18:21" + } + ], + "id": 6993, + "name": "FunctionCall", + "src": "8292:36:21" + } + ], + "id": 6994, + "name": "BinaryOperation", + "src": "8280:48:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 6995, + "name": "Identifier", + "src": "8346:13:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 6657, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6961, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 6996, + "name": "Identifier", + "src": "8363:6:21" + } + ], + "id": 6997, + "name": "MemberAccess", + "src": "8363:10:21" + } + ], + "id": 6998, + "name": "TupleExpression", + "src": "8362:12:21" + } + ], + "id": 6999, + "name": "MemberAccess", + "src": "8362:16:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalEthRaised", + "referencedDeclaration": 6652, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6955, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 7000, + "name": "Identifier", + "src": "8379:3:21" + } + ], + "id": 7001, + "name": "MemberAccess", + "src": "8379:18:21" + } + ], + "id": 7002, + "name": "FunctionCall", + "src": "8362:36:21" + } + ], + "id": 7003, + "name": "Assignment", + "src": "8346:52:21" + } + ], + "id": 7004, + "name": "ExpressionStatement", + "src": "8346:52:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6983, + "type": "uint256", + "value": "change" + }, + "id": 7005, + "name": "Identifier", + "src": "8413:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 7006, + "name": "Identifier", + "src": "8423:3:21" + } + ], + "id": 7007, + "name": "MemberAccess", + "src": "8423:9:21" + } + ], + "id": 7008, + "name": "TupleExpression", + "src": "8422:11:21" + } + ], + "id": 7009, + "name": "MemberAccess", + "src": "8422:15:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7010, + "name": "Identifier", + "src": "8438:13:21" + } + ], + "id": 7011, + "name": "FunctionCall", + "src": "8422:30:21" + } + ], + "id": 7012, + "name": "Assignment", + "src": "8413:39:21" + } + ], + "id": 7013, + "name": "ExpressionStatement", + "src": "8413:39:21" + } + ], + "id": 7014, + "name": "Block", + "src": "8331:133:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7015, + "name": "Identifier", + "src": "8485:13:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 7016, + "name": "Identifier", + "src": "8501:3:21" + } + ], + "id": 7017, + "name": "MemberAccess", + "src": "8501:9:21" + } + ], + "id": 7018, + "name": "Assignment", + "src": "8485:25:21" + } + ], + "id": 7019, + "name": "ExpressionStatement", + "src": "8485:25:21" + } + ], + "id": 7020, + "name": "Block", + "src": "8470:52:21" + } + ], + "id": 7021, + "name": "IfStatement", + "src": "8275:247:21" + }, + { + "attributes": { + "assignments": [ + 7023 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "tokens", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7022, + "name": "ElementaryTypeName", + "src": "8532:4:21" + } + ], + "id": 7023, + "name": "VariableDeclaration", + "src": "8532:11:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 9021, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7024, + "name": "Identifier", + "src": "8546:13:21" + } + ], + "id": 7025, + "name": "MemberAccess", + "src": "8546:17:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "price", + "referencedDeclaration": 6659, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6961, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 7026, + "name": "Identifier", + "src": "8564:6:21" + } + ], + "id": 7027, + "name": "MemberAccess", + "src": "8564:12:21" + } + ], + "id": 7028, + "name": "FunctionCall", + "src": "8546:31:21" + } + ], + "id": 7029, + "name": "VariableDeclarationStatement", + "src": "8532:45:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": null, + "type": "function (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 6665, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6961, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 7030, + "name": "Identifier", + "src": "8673:6:21" + } + ], + "id": 7033, + "name": "MemberAccess", + "src": "8673:18:21" + } + ], + "id": 7034, + "name": "MemberAccess", + "src": "8673:27:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7035, + "name": "Identifier", + "src": "8701:13:21" + } + ], + "id": 7036, + "name": "FunctionCall", + "src": "8673:42:21" + } + ], + "id": 7037, + "name": "ExpressionStatement", + "src": "8673:42:21" + }, + { + "attributes": { + "assignments": [ + 7039 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 7038, + "name": "UserDefinedTypeName", + "src": "8728:10:21" + } + ], + "id": 7039, + "name": "VariableDeclaration", + "src": "8728:21:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 7040, + "name": "Identifier", + "src": "8752:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6947, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7041, + "name": "Identifier", + "src": "8763:7:21" + } + ], + "id": 7042, + "name": "MemberAccess", + "src": "8763:13:21" + } + ], + "id": 7043, + "name": "FunctionCall", + "src": "8763:15:21" + } + ], + "id": 7044, + "name": "FunctionCall", + "src": "8752:27:21" + } + ], + "id": 7045, + "name": "VariableDeclarationStatement", + "src": "8728:51:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mintTokens", + "referencedDeclaration": 3502, + "type": "function (uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7039, + "type": "contract Controller", + "value": "controller" + }, + "id": 7046, + "name": "Identifier", + "src": "8795:10:21" + } + ], + "id": 7047, + "name": "MemberAccess", + "src": "8795:21:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7023, + "type": "uint256", + "value": "tokens" + }, + "id": 7048, + "name": "Identifier", + "src": "8817:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6949, + "type": "address", + "value": "_beneficiary" + }, + "id": 7049, + "name": "Identifier", + "src": "8825:12:21" + } + ], + "id": 7050, + "name": "FunctionCall", + "src": "8795:43:21" + } + ], + "id": 7051, + "name": "UnaryOperation", + "src": "8794:44:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 7052, + "name": "Identifier", + "src": "8855:6:21" + } + ], + "id": 7053, + "name": "FunctionCall", + "src": "8855:8:21" + } + ], + "id": 7054, + "name": "ExpressionStatement", + "src": "8855:8:21" + } + ], + "id": 7055, + "name": "Block", + "src": "8840:35:21" + } + ], + "id": 7056, + "name": "IfStatement", + "src": "8790:85:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6983, + "type": "uint256", + "value": "change" + }, + "id": 7057, + "name": "Identifier", + "src": "8889:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 7058, + "name": "Literal", + "src": "8899:1:21" + } + ], + "id": 7059, + "name": "BinaryOperation", + "src": "8889:11:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": null, + "type": "function (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6949, + "type": "address", + "value": "_beneficiary" + }, + "id": 7060, + "name": "Identifier", + "src": "8917:12:21" + } + ], + "id": 7062, + "name": "MemberAccess", + "src": "8917:21:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6983, + "type": "uint256", + "value": "change" + }, + "id": 7063, + "name": "Identifier", + "src": "8939:6:21" + } + ], + "id": 7064, + "name": "FunctionCall", + "src": "8917:29:21" + } + ], + "id": 7065, + "name": "ExpressionStatement", + "src": "8917:29:21" + } + ], + "id": 7066, + "name": "Block", + "src": "8902:56:21" + } + ], + "id": 7067, + "name": "IfStatement", + "src": "8885:73:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "totalEthRaised", + "referencedDeclaration": 6652, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 7068, + "name": "Identifier", + "src": "9048:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6947, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7069, + "name": "Identifier", + "src": "9069:7:21" + } + ], + "id": 7070, + "name": "IndexAccess", + "src": "9048:29:21" + } + ], + "id": 7071, + "name": "MemberAccess", + "src": "9048:44:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7072, + "name": "Identifier", + "src": "9096:13:21" + } + ], + "id": 7073, + "name": "Assignment", + "src": "9048:61:21" + } + ], + "id": 7074, + "name": "ExpressionStatement", + "src": "9048:61:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6686, + "type": "function (address,address,uint256,uint256)", + "value": "DonationReceived" + }, + "id": 7075, + "name": "Identifier", + "src": "9120:16:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6947, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7076, + "name": "Identifier", + "src": "9137:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6949, + "type": "address", + "value": "_beneficiary" + }, + "id": 7077, + "name": "Identifier", + "src": "9146:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7078, + "name": "Identifier", + "src": "9160:13:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7023, + "type": "uint256", + "value": "tokens" + }, + "id": 7079, + "name": "Identifier", + "src": "9175:6:21" + } + ], + "id": 7080, + "name": "FunctionCall", + "src": "9120:62:21" + } + ], + "id": 7081, + "name": "ExpressionStatement", + "src": "9120:62:21" + }, + { + "attributes": { + "functionReturnParameters": 6953 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7023, + "type": "uint256", + "value": "tokens" + }, + "id": 7082, + "name": "Identifier", + "src": "9200:6:21" + } + ], + "id": 7083, + "name": "Return", + "src": "9193:13:21" + } + ], + "id": 7084, + "name": "Block", + "src": "7889:1325:21" + } + ], + "id": 7085, + "name": "FunctionDefinition", + "src": "7806:1408:21" + } + ], + "id": 7086, + "name": "ContractDefinition", + "src": "1467:7750:21" + } + ], + "id": 7087, + "name": "SourceUnit", + "src": "0:9219:21" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.895Z" +} \ No newline at end of file diff --git a/contracts/OrganizationRegister.json b/contracts/OrganizationRegister.json new file mode 100644 index 000000000..965d64d0e --- /dev/null +++ b/contracts/OrganizationRegister.json @@ -0,0 +1,3294 @@ +{ + "contractName": "OrganizationRegister", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "name": "fee", + "type": "uint256" + }, + { + "name": "token", + "type": "address" + }, + { + "name": "beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_record", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "addOrPromoteAddress", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "address" + } + ], + "name": "organizationsRegistery", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizations", + "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": "_token", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_token", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "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" + }, + { + "constant": true, + "inputs": [], + "name": "hashedParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_registry", + "type": "address" + }, + { + "indexed": true, + "name": "_org", + "type": "address" + } + ], + "name": "OrgAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_registry", + "type": "address" + }, + { + "indexed": true, + "name": "_org", + "type": "address" + }, + { + "indexed": false, + "name": "_amount", + "type": "uint256" + } + ], + "name": "Promotion", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b604051606080610abd83398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617815590925061006b9150849084908490640100000000610073810261056a1704565b5050506100c6565b60005433600160a060020a0390811691161461008e57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b6109e8806100d56000396000f3006060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c6578063197275f1146101095780632caf98ca1461013357806338af3eed1461016a5780634345a610146101995780635a1f7406146101c55780638da5cb5b146101f85780638fd631af1461020b57806390be003c1461023457806399cc9e7314610253578063c3c5a5471461027c578063ddca3f431461029b578063e1758bd8146102ae578063f2fde38b146102c1578063f98e87ba146102e0575b600080fd5b34156100d157600080fd5b6100dc6004356102f3565b604051928352600160a060020a039182166020840152166040808301919091526060909101905180910390f35b341561011457600080fd5b610131600160a060020a0360043581169060243516604435610320565b005b341561013e57600080fd5b610158600160a060020a036004358116906024351661053e565b60405190815260200160405180910390f35b341561017557600080fd5b61017d61055b565b604051600160a060020a03909116815260200160405180910390f35b34156101a457600080fd5b610131600160a060020a03600435811690602435906044351660643561056a565b34156101d057600080fd5b6101e4600160a060020a03600435166105ca565b604051901515815260200160405180910390f35b341561020357600080fd5b61017d6105df565b341561021657600080fd5b610158600160a060020a0360043581169060243590604435166105ee565b341561023f57600080fd5b610131600160a060020a0360043516610679565b341561025e57600080fd5b610158600160a060020a0360043581169060243590604435166107a2565b341561028757600080fd5b6101e4600160a060020a03600435166107eb565b34156102a657600080fd5b610158610809565b34156102b957600080fd5b61017d61080f565b34156102cc57600080fd5b610131600160a060020a036004351661081e565b34156102eb57600080fd5b6101586108b9565b6007602052600090815260409020805460018201546002909201549091600160a060020a03908116911683565b61032861099c565b600160a060020a038416600090815260056020526040902054849060ff16151561035157600080fd5b6007600061035e876108bf565b81526020810191909152604090810160002090606090519081016040908152825482526001830154600160a060020a0390811660208085019190915260029094015481168284015288811660009081526006855282812091891681529352909120549092501580156103d05750815183105b156103da57600080fd5b8160200151600160a060020a03166323b872dd3384604001518660006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561044c57600080fd5b6102c65a03f1151561045d57600080fd5b50505060405180515050600160a060020a0380861660009081526006602090815260408083209388168352929052205415156104d45783600160a060020a031685600160a060020a03167fbb755c25de622371a070056e89daca3dffb2591e14bfeaf5a22a5ff538f6430460405160405180910390a35b600160a060020a03808616600081815260066020908152604080832094891680845294909152908190208054870190557fbd26cf001a8e3be5dc9ac9f95c5e8fef2258c1ded9c61814e107db3ce9bbf2ca9086905190815260200160405180910390a35050505050565b600660209081526000928352604080842090915290825290205481565b600354600160a060020a031681565b60005433600160a060020a0390811691161461058557600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b600054600160a060020a031681565b6000806105fc8585856107a2565b600081815260076020526040902060010154909150600160a060020a03161515610671576000818152600760205260409020600181018054600160a060020a0380891673ffffffffffffffffffffffffffffffffffffffff199283161790925586835560029092018054918616919092161790555b949350505050565b60006002541180156106a45750600160a060020a03811660009081526005602052604090205460ff16155b1561073d57600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561072157600080fd5b6102c65a03f1151561073257600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b60008383836040516c01000000000000000000000000600160a060020a039485168102825260148201939093529216026034820152604801604051809103902090509392505050565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a0390811691161461083957600080fd5b600160a060020a038116151561084e57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561090857600080fd5b6102c65a03f1151561091957600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561097b57600080fd5b6102c65a03f1151561098c57600080fd5b5050506040518051949350505050565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a7230582035c71e9dc2bb080ad04b06962c5a1f886f244f3f999883adf0642069775615de0029", + "deployedBytecode": "0x6060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c6578063197275f1146101095780632caf98ca1461013357806338af3eed1461016a5780634345a610146101995780635a1f7406146101c55780638da5cb5b146101f85780638fd631af1461020b57806390be003c1461023457806399cc9e7314610253578063c3c5a5471461027c578063ddca3f431461029b578063e1758bd8146102ae578063f2fde38b146102c1578063f98e87ba146102e0575b600080fd5b34156100d157600080fd5b6100dc6004356102f3565b604051928352600160a060020a039182166020840152166040808301919091526060909101905180910390f35b341561011457600080fd5b610131600160a060020a0360043581169060243516604435610320565b005b341561013e57600080fd5b610158600160a060020a036004358116906024351661053e565b60405190815260200160405180910390f35b341561017557600080fd5b61017d61055b565b604051600160a060020a03909116815260200160405180910390f35b34156101a457600080fd5b610131600160a060020a03600435811690602435906044351660643561056a565b34156101d057600080fd5b6101e4600160a060020a03600435166105ca565b604051901515815260200160405180910390f35b341561020357600080fd5b61017d6105df565b341561021657600080fd5b610158600160a060020a0360043581169060243590604435166105ee565b341561023f57600080fd5b610131600160a060020a0360043516610679565b341561025e57600080fd5b610158600160a060020a0360043581169060243590604435166107a2565b341561028757600080fd5b6101e4600160a060020a03600435166107eb565b34156102a657600080fd5b610158610809565b34156102b957600080fd5b61017d61080f565b34156102cc57600080fd5b610131600160a060020a036004351661081e565b34156102eb57600080fd5b6101586108b9565b6007602052600090815260409020805460018201546002909201549091600160a060020a03908116911683565b61032861099c565b600160a060020a038416600090815260056020526040902054849060ff16151561035157600080fd5b6007600061035e876108bf565b81526020810191909152604090810160002090606090519081016040908152825482526001830154600160a060020a0390811660208085019190915260029094015481168284015288811660009081526006855282812091891681529352909120549092501580156103d05750815183105b156103da57600080fd5b8160200151600160a060020a03166323b872dd3384604001518660006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561044c57600080fd5b6102c65a03f1151561045d57600080fd5b50505060405180515050600160a060020a0380861660009081526006602090815260408083209388168352929052205415156104d45783600160a060020a031685600160a060020a03167fbb755c25de622371a070056e89daca3dffb2591e14bfeaf5a22a5ff538f6430460405160405180910390a35b600160a060020a03808616600081815260066020908152604080832094891680845294909152908190208054870190557fbd26cf001a8e3be5dc9ac9f95c5e8fef2258c1ded9c61814e107db3ce9bbf2ca9086905190815260200160405180910390a35050505050565b600660209081526000928352604080842090915290825290205481565b600354600160a060020a031681565b60005433600160a060020a0390811691161461058557600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b600054600160a060020a031681565b6000806105fc8585856107a2565b600081815260076020526040902060010154909150600160a060020a03161515610671576000818152600760205260409020600181018054600160a060020a0380891673ffffffffffffffffffffffffffffffffffffffff199283161790925586835560029092018054918616919092161790555b949350505050565b60006002541180156106a45750600160a060020a03811660009081526005602052604090205460ff16155b1561073d57600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561072157600080fd5b6102c65a03f1151561073257600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b60008383836040516c01000000000000000000000000600160a060020a039485168102825260148201939093529216026034820152604801604051809103902090509392505050565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a0390811691161461083957600080fd5b600160a060020a038116151561084e57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561090857600080fd5b6102c65a03f1151561091957600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561097b57600080fd5b6102c65a03f1151561098c57600080fd5b5050506040518051949350505050565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a7230582035c71e9dc2bb080ad04b06962c5a1f886f244f3f999883adf0642069775615de0029", + "sourceMap": "264:3602:19:-;;;1075:179;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;1075:179:19;;-1:-1:-1;1184:62:19;;-1:-1:-1;1201:12:19;;1215:4;;1075:179;;1184:16;;;;;;:62;:::i;:::-;1075:179;;;264:3602;;1314:347:22;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;264:3602:19:-;;;;;;;", + "deployedSourceMap": "264:3602:19:-;;;;;;;;;-1:-1:-1;;;264:3602:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;610:46;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;610:46:19;;;;;;;;;;;;;;;;;;;;;;;;;;;3146:717;;;;;;;;;;-1:-1:-1;;;;;3146:717:19;;;;;;;;;;;;;;531:70;;;;;;;;;;-1:-1:-1;;;;;531:70:19;;;;;;;;;;;;;;;;;;;;;;;;;407:26:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;407:26:22;;;;;;;;;;;;;;1314:347;;;;;;;;;;-1:-1:-1;;;;;1314:347:22;;;;;;;;;;;;;;;591:43;;;;;;;;;;-1:-1:-1;;;;;591:43:22;;;;;;;;;;;;;;;;;;;;;;238:20:29;;;;;;;;;;;;1595:449:19;;;;;;;;;;-1:-1:-1;;;;;1595:449:19;;;;;;;;;;;;;866:315:22;;;;;;;;;;-1:-1:-1;;;;;866:315:22;;;;;2370:186:19;;;;;;;;;;-1:-1:-1;;;;;2370:186:19;;;;;;;;;;;;;1189:117:22;;;;;;;;;;-1:-1:-1;;;;;1189:117:22;;;;;385:15;;;;;;;;;;;;346:32;;;;;;;;;;;;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;440:31:22;;;;;;;;;;;;610:46:19;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;610:46:19;;;;;;:::o;3146:717::-;3291:24;;:::i;:::-;-1:-1:-1;;;;;816:21:22;;;;;;:13;:21;;;;;;3254:7:19;;816:21:22;;808:30;;;;;;;;3318:10:19;:48;3329:36;3357:7;3329:27;:36::i;:::-;3318:48;;;;;;;;;;;;;;;;3291:75;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3291:75:19;;;;;;;;;;;;;;;;;;;;;;3459:31;;;3291:75;3459:31;;;:22;:31;;;;;:40;;;;;;;;;;;3291:75;;-1:-1:-1;3459:45:19;3458:73;;;;-1:-1:-1;3520:6:19;:10;3510:7;:20;3458:73;3454:115;;;3549:8;;;3454:115;3581:6;:12;;;-1:-1:-1;;;;;3581:25:19;;3607:10;3619:6;:18;;;3639:7;3581:66;;;;;;;;-1:-1:-1;;;3581:66:19;;;;;;-1:-1:-1;;;;;3581:66:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;3662:31:19;;;;;;;:22;:31;;;;;;;;:40;;;;;;;;;;:45;3658:88;;;3738:7;-1:-1:-1;;;;;3720:26:19;3729:7;-1:-1:-1;;;;;3720:26:19;;;;;;;;;;;3658:88;-1:-1:-1;;;;;3757:31:19;;;;;;;:22;:31;;;;;;;;:40;;;;;;;;;;;;;;:51;;;;;;3819:36;;3801:7;;3819:36;;;;;;;;;;;;;3146:717;;;;;:::o;531:70::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;407:26:22:-;;;-1:-1:-1;;;;;407:26:22;;:::o;1314:347::-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;591:43::-;;;;;;;;;;;;;;;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;1595:449:19:-;1688:7;1708:18;1729:45;1747:6;1755:4;1761:12;1729:17;:45::i;:::-;1829:1;1789:22;;;:10;:22;;;;;:28;;;1708:66;;-1:-1:-1;;;;;;1789:28:19;:42;1785:224;;;1848:22;;;;:10;:22;;;;;:28;;;:37;;-1:-1:-1;;;;;1848:37:19;;;-1:-1:-1;;1848:37:19;;;;;;;1900:33;;;1948:34;;;;:49;;;;;;;;;;;;1785:224;2026:10;1595:449;-1:-1:-1;;;;1595:449:19:o;866:315:22:-;980:1;974:3;;:7;973:39;;;;-1:-1:-1;;;;;;989:22:22;;;;;;:13;:22;;;;;;;;987:24;973:39;969:123;;;1029:11;;1063;;1076:3;;-1:-1:-1;;;;;1029:11:22;;;;:24;;1054:7;;1063:11;;;1029;:51;;;;;;;-1:-1:-1;;;1029:51:22;;;;;;-1:-1:-1;;;;;1029:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;969:123:22;-1:-1:-1;;;;;1102:22:22;;;;;;:13;:22;;;;;;;:29;;-1:-1:-1;;1102:29:22;1127:4;1102:29;;;1142:31;;1116:7;;1142:31;-1:-1:-1;;;;;1142:31:22;;;;;;;;;;;;;;866:315;:::o;2370:186:19:-;2477:7;2520:6;2528:4;2534:12;2510:37;;;-1:-1:-1;;;;;2510:37:19;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2502:46;;2370:186;;;;;:::o;1189:117:22:-;-1:-1:-1;;;;;1276:22:22;1252:4;1276:22;;;:13;:22;;;;;;;;;1189:117::o;385:15::-;;;;:::o;346:32::-;;;-1:-1:-1;;;;;346:32:22;;:::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;440:31:22:-;;;;:::o;1761:212::-;1840:7;1860:21;1895:7;-1:-1:-1;;;;;1895:13:22;;:15;;;;;;;;;;;-1:-1:-1;;;1895:15:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1929:30:22;;;1960:4;1929:36;;;;;;;;-1:-1:-1;;;1929:36:22;;;;;;-1:-1:-1;;;;;1929:36:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1761:212;-1:-1:-1;;;;1761:212:22:o;264:3602:19:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"./UniversalScheme.sol\";\r\n\r\n/**\r\n * @title A universal organization registry.\r\n * @dev Organizations can use this scheme to open a registry.\r\n * Other organizations can then add and promote themselves on this registry.\r\n */\r\n\r\n\r\ncontract OrganizationRegister is UniversalScheme {\r\n\r\n struct Parameters {\r\n uint fee;\r\n StandardToken token;\r\n address beneficiary;\r\n }\r\n\r\n // A mapping from thr organization (Avatar) address to the saved data of the organization:\r\n mapping(address=>mapping(address=>uint)) public organizationsRegistery;\r\n\r\n mapping(bytes32=>Parameters) public parameters;\r\n\r\n event OrgAdded( address indexed _registry, address indexed _org);\r\n event Promotion( address indexed _registry, address indexed _org, uint _amount);\r\n\r\n /**\r\n * @dev Constructor, Updating the initial prarmeters\r\n * @param _nativeToken The native token of the ICO\r\n * @param _fee The fee for intiating the ICO\r\n * @param _beneficiary The address that will receive the ethers\r\n */\r\n function OrganizationRegister(StandardToken _nativeToken, uint _fee, address _beneficiary) public {\r\n updateParameters(_nativeToken, _fee, _beneficiary, bytes32(0));\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters,save if needed and return the hash value\r\n * @param _token - the token to pay for register or promotion an address.\r\n * @param _fee - fee needed for register an address.\r\n * @param _beneficiary - the beneficiary payment address\r\n * @return bytes32 -the parameters hash\r\n */\r\n function setParameters(StandardToken _token, uint _fee, address _beneficiary) public returns(bytes32) {\r\n bytes32 paramsHash = getParametersHash(_token, _fee, _beneficiary);\r\n if (parameters[paramsHash].token == address(0)) {\r\n parameters[paramsHash].token = _token;\r\n parameters[paramsHash].fee = _fee;\r\n parameters[paramsHash].beneficiary = _beneficiary;\r\n }\r\n return paramsHash;\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters,and return the hash value\r\n * @param _token - the token to pay for register or promotion an address.\r\n * @param _fee - fee needed for register an address.\r\n * @param _beneficiary - the beneficiary payment address\r\n * @return bytes32 -the parameters hash\r\n */\r\n function getParametersHash(StandardToken _token, uint _fee, address _beneficiary)\r\n public pure returns(bytes32)\r\n {\r\n return (keccak256(_token, _fee, _beneficiary));\r\n }\r\n\r\n /**\r\n * @dev Adding or promoting an address on the registry.\r\n * An address(record) to add or promote can be organization address or any contract address.\r\n * Adding a record is done by paying at least the minimum required by the registery params.\r\n * Promoting a record is done by paying(adding)amount of token to the registery beneficiary.\r\n * @param _avatar The _avatar of the organization which own the registery.\r\n * @param _record The address to add or promote.\r\n * @param _amount amount to pay for adding or promoting\r\n */\r\n function addOrPromoteAddress(Avatar _avatar, address _record, uint _amount)\r\n onlyRegisteredOrganization(_avatar)\r\n public\r\n {\r\n Parameters memory params = parameters[getParametersFromController(_avatar)];\r\n // Pay promotion, if the org was not listed the minimum is the fee:\r\n if ((organizationsRegistery[_avatar][_record] == 0) && (_amount < params.fee) ) {\r\n revert();\r\n }\r\n\r\n params.token.transferFrom(msg.sender, params.beneficiary, _amount);\r\n if (organizationsRegistery[_avatar][_record] == 0)\r\n OrgAdded(_avatar, _record);\r\n organizationsRegistery[_avatar][_record] += _amount;\r\n Promotion(_avatar, _record, _amount);\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\OrganizationRegister.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/OrganizationRegister.sol", + "exportedSymbols": { + "OrganizationRegister": [ + 6081 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 5876, + "name": "PragmaDirective", + "src": "0:24:19" + }, + { + "attributes": { + "SourceUnit": 7230, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "file": "./UniversalScheme.sol", + "scope": 6082, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 5877, + "name": "ImportDirective", + "src": "28:31:19" + }, + { + "attributes": { + "contractDependencies": [ + 7229, + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": "@title A universal organization registry.\r\n@dev Organizations can use this scheme to open a registry.\r\nOther organizations can then add and promote themselves on this registry.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 6081, + 7229, + 7259, + 9140 + ], + "name": "OrganizationRegister", + "scope": 6082 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalScheme", + "referencedDeclaration": 7229, + "type": "contract UniversalScheme" + }, + "id": 5878, + "name": "UserDefinedTypeName", + "src": "297:15:19" + } + ], + "id": 5879, + "name": "InheritanceSpecifier", + "src": "297:15:19" + }, + { + "attributes": { + "canonicalName": "OrganizationRegister.Parameters", + "name": "Parameters", + "scope": 6081, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "fee", + "scope": 5886, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5880, + "name": "ElementaryTypeName", + "src": "351:4:19" + } + ], + "id": 5881, + "name": "VariableDeclaration", + "src": "351:8:19" + }, + { + "attributes": { + "constant": false, + "name": "token", + "scope": 5886, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 5882, + "name": "UserDefinedTypeName", + "src": "370:13:19" + } + ], + "id": 5883, + "name": "VariableDeclaration", + "src": "370:19:19" + }, + { + "attributes": { + "constant": false, + "name": "beneficiary", + "scope": 5886, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5884, + "name": "ElementaryTypeName", + "src": "400:7:19" + } + ], + "id": 5885, + "name": "VariableDeclaration", + "src": "400:19:19" + } + ], + "id": 5886, + "name": "StructDefinition", + "src": "322:105:19" + }, + { + "attributes": { + "constant": false, + "name": "organizationsRegistery", + "scope": 6081, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => mapping(address => uint256))", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => mapping(address => uint256))" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5887, + "name": "ElementaryTypeName", + "src": "539:7:19" + }, + { + "attributes": { + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5888, + "name": "ElementaryTypeName", + "src": "556:7:19" + }, + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5889, + "name": "ElementaryTypeName", + "src": "565:4:19" + } + ], + "id": 5890, + "name": "Mapping", + "src": "548:22:19" + } + ], + "id": 5891, + "name": "Mapping", + "src": "531:40:19" + } + ], + "id": 5892, + "name": "VariableDeclaration", + "src": "531:70:19" + }, + { + "attributes": { + "constant": false, + "name": "parameters", + "scope": 6081, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5893, + "name": "ElementaryTypeName", + "src": "618:7:19" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 5886, + "type": "struct OrganizationRegister.Parameters storage pointer" + }, + "id": 5894, + "name": "UserDefinedTypeName", + "src": "627:10:19" + } + ], + "id": 5895, + "name": "Mapping", + "src": "610:28:19" + } + ], + "id": 5896, + "name": "VariableDeclaration", + "src": "610:46:19" + }, + { + "attributes": { + "anonymous": false, + "name": "OrgAdded" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_registry", + "scope": 5902, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5897, + "name": "ElementaryTypeName", + "src": "681:7:19" + } + ], + "id": 5898, + "name": "VariableDeclaration", + "src": "681:25:19" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_org", + "scope": 5902, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5899, + "name": "ElementaryTypeName", + "src": "708:7:19" + } + ], + "id": 5900, + "name": "VariableDeclaration", + "src": "708:20:19" + } + ], + "id": 5901, + "name": "ParameterList", + "src": "679:50:19" + } + ], + "id": 5902, + "name": "EventDefinition", + "src": "665:65:19" + }, + { + "attributes": { + "anonymous": false, + "name": "Promotion" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_registry", + "scope": 5910, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5903, + "name": "ElementaryTypeName", + "src": "753:7:19" + } + ], + "id": 5904, + "name": "VariableDeclaration", + "src": "753:25:19" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_org", + "scope": 5910, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5905, + "name": "ElementaryTypeName", + "src": "780:7:19" + } + ], + "id": 5906, + "name": "VariableDeclaration", + "src": "780:20:19" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_amount", + "scope": 5910, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5907, + "name": "ElementaryTypeName", + "src": "802:4:19" + } + ], + "id": 5908, + "name": "VariableDeclaration", + "src": "802:12:19" + } + ], + "id": 5909, + "name": "ParameterList", + "src": "751:64:19" + } + ], + "id": 5910, + "name": "EventDefinition", + "src": "736:80:19" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "OrganizationRegister", + "payable": false, + "scope": 6081, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 5929, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 5911, + "name": "UserDefinedTypeName", + "src": "1105:13:19" + } + ], + "id": 5912, + "name": "VariableDeclaration", + "src": "1105:26:19" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 5929, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5913, + "name": "ElementaryTypeName", + "src": "1133:4:19" + } + ], + "id": 5914, + "name": "VariableDeclaration", + "src": "1133:9:19" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 5929, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5915, + "name": "ElementaryTypeName", + "src": "1144:7:19" + } + ], + "id": 5916, + "name": "VariableDeclaration", + "src": "1144:20:19" + } + ], + "id": 5917, + "name": "ParameterList", + "src": "1104:61:19" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 5918, + "name": "ParameterList", + "src": "1173:0:19" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 7207 + ], + "referencedDeclaration": 7207, + "type": "function (contract StandardToken,uint256,address,bytes32)", + "value": "updateParameters" + }, + "id": 5919, + "name": "Identifier", + "src": "1184:16:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5912, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 5920, + "name": "Identifier", + "src": "1201:12:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5914, + "type": "uint256", + "value": "_fee" + }, + "id": 5921, + "name": "Identifier", + "src": "1215:4:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5916, + "type": "address", + "value": "_beneficiary" + }, + "id": 5922, + "name": "Identifier", + "src": "1221:12:19" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 5923, + "name": "ElementaryTypeNameExpression", + "src": "1235:7:19" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5924, + "name": "Literal", + "src": "1243:1:19" + } + ], + "id": 5925, + "name": "FunctionCall", + "src": "1235:10:19" + } + ], + "id": 5926, + "name": "FunctionCall", + "src": "1184:62:19" + } + ], + "id": 5927, + "name": "ExpressionStatement", + "src": "1184:62:19" + } + ], + "id": 5928, + "name": "Block", + "src": "1173:81:19" + } + ], + "id": 5929, + "name": "FunctionDefinition", + "src": "1075:179:19" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 6081, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_token", + "scope": 5982, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 5930, + "name": "UserDefinedTypeName", + "src": "1618:13:19" + } + ], + "id": 5931, + "name": "VariableDeclaration", + "src": "1618:20:19" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 5982, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5932, + "name": "ElementaryTypeName", + "src": "1640:4:19" + } + ], + "id": 5933, + "name": "VariableDeclaration", + "src": "1640:9:19" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 5982, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5934, + "name": "ElementaryTypeName", + "src": "1651:7:19" + } + ], + "id": 5935, + "name": "VariableDeclaration", + "src": "1651:20:19" + } + ], + "id": 5936, + "name": "ParameterList", + "src": "1617:55:19" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 5982, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5937, + "name": "ElementaryTypeName", + "src": "1688:7:19" + } + ], + "id": 5938, + "name": "VariableDeclaration", + "src": "1688:7:19" + } + ], + "id": 5939, + "name": "ParameterList", + "src": "1687:9:19" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 5941 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 5982, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5940, + "name": "ElementaryTypeName", + "src": "1708:7:19" + } + ], + "id": 5941, + "name": "VariableDeclaration", + "src": "1708:18:19" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6001, + "type": "function (contract StandardToken,uint256,address) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 5942, + "name": "Identifier", + "src": "1729:17:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5931, + "type": "contract StandardToken", + "value": "_token" + }, + "id": 5943, + "name": "Identifier", + "src": "1747:6:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5933, + "type": "uint256", + "value": "_fee" + }, + "id": 5944, + "name": "Identifier", + "src": "1755:4:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5935, + "type": "address", + "value": "_beneficiary" + }, + "id": 5945, + "name": "Identifier", + "src": "1761:12:19" + } + ], + "id": 5946, + "name": "FunctionCall", + "src": "1729:45:19" + } + ], + "id": 5947, + "name": "VariableDeclarationStatement", + "src": "1708:66:19" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "token", + "referencedDeclaration": 5883, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct OrganizationRegister.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5896, + "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)", + "value": "parameters" + }, + "id": 5948, + "name": "Identifier", + "src": "1789:10:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5941, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 5949, + "name": "Identifier", + "src": "1800:10:19" + } + ], + "id": 5950, + "name": "IndexAccess", + "src": "1789:22:19" + } + ], + "id": 5951, + "name": "MemberAccess", + "src": "1789:28:19" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 5952, + "name": "ElementaryTypeNameExpression", + "src": "1821:7:19" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 5953, + "name": "Literal", + "src": "1829:1:19" + } + ], + "id": 5954, + "name": "FunctionCall", + "src": "1821:10:19" + } + ], + "id": 5955, + "name": "BinaryOperation", + "src": "1789:42:19" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "token", + "referencedDeclaration": 5883, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct OrganizationRegister.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5896, + "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)", + "value": "parameters" + }, + "id": 5956, + "name": "Identifier", + "src": "1848:10:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5941, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 5957, + "name": "Identifier", + "src": "1859:10:19" + } + ], + "id": 5958, + "name": "IndexAccess", + "src": "1848:22:19" + } + ], + "id": 5959, + "name": "MemberAccess", + "src": "1848:28:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5931, + "type": "contract StandardToken", + "value": "_token" + }, + "id": 5960, + "name": "Identifier", + "src": "1879:6:19" + } + ], + "id": 5961, + "name": "Assignment", + "src": "1848:37:19" + } + ], + "id": 5962, + "name": "ExpressionStatement", + "src": "1848:37:19" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "fee", + "referencedDeclaration": 5881, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct OrganizationRegister.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5896, + "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)", + "value": "parameters" + }, + "id": 5963, + "name": "Identifier", + "src": "1900:10:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5941, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 5964, + "name": "Identifier", + "src": "1911:10:19" + } + ], + "id": 5965, + "name": "IndexAccess", + "src": "1900:22:19" + } + ], + "id": 5966, + "name": "MemberAccess", + "src": "1900:26:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5933, + "type": "uint256", + "value": "_fee" + }, + "id": 5967, + "name": "Identifier", + "src": "1929:4:19" + } + ], + "id": 5968, + "name": "Assignment", + "src": "1900:33:19" + } + ], + "id": 5969, + "name": "ExpressionStatement", + "src": "1900:33:19" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "beneficiary", + "referencedDeclaration": 5885, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct OrganizationRegister.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5896, + "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)", + "value": "parameters" + }, + "id": 5970, + "name": "Identifier", + "src": "1948:10:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5941, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 5971, + "name": "Identifier", + "src": "1959:10:19" + } + ], + "id": 5972, + "name": "IndexAccess", + "src": "1948:22:19" + } + ], + "id": 5973, + "name": "MemberAccess", + "src": "1948:34:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5935, + "type": "address", + "value": "_beneficiary" + }, + "id": 5974, + "name": "Identifier", + "src": "1985:12:19" + } + ], + "id": 5975, + "name": "Assignment", + "src": "1948:49:19" + } + ], + "id": 5976, + "name": "ExpressionStatement", + "src": "1948:49:19" + } + ], + "id": 5977, + "name": "Block", + "src": "1833:176:19" + } + ], + "id": 5978, + "name": "IfStatement", + "src": "1785:224:19" + }, + { + "attributes": { + "functionReturnParameters": 5939 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5941, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 5979, + "name": "Identifier", + "src": "2026:10:19" + } + ], + "id": 5980, + "name": "Return", + "src": "2019:17:19" + } + ], + "id": 5981, + "name": "Block", + "src": "1697:347:19" + } + ], + "id": 5982, + "name": "FunctionDefinition", + "src": "1595:449:19" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 6081, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_token", + "scope": 6001, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 5983, + "name": "UserDefinedTypeName", + "src": "2397:13:19" + } + ], + "id": 5984, + "name": "VariableDeclaration", + "src": "2397:20:19" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 6001, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 5985, + "name": "ElementaryTypeName", + "src": "2419:4:19" + } + ], + "id": 5986, + "name": "VariableDeclaration", + "src": "2419:9:19" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 6001, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 5987, + "name": "ElementaryTypeName", + "src": "2430:7:19" + } + ], + "id": 5988, + "name": "VariableDeclaration", + "src": "2430:20:19" + } + ], + "id": 5989, + "name": "ParameterList", + "src": "2396:55:19" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6001, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 5990, + "name": "ElementaryTypeName", + "src": "2477:7:19" + } + ], + "id": 5991, + "name": "VariableDeclaration", + "src": "2477:7:19" + } + ], + "id": 5992, + "name": "ParameterList", + "src": "2476:9:19" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 5992 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 5993, + "name": "Identifier", + "src": "2510:9:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5984, + "type": "contract StandardToken", + "value": "_token" + }, + "id": 5994, + "name": "Identifier", + "src": "2520:6:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5986, + "type": "uint256", + "value": "_fee" + }, + "id": 5995, + "name": "Identifier", + "src": "2528:4:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5988, + "type": "address", + "value": "_beneficiary" + }, + "id": 5996, + "name": "Identifier", + "src": "2534:12:19" + } + ], + "id": 5997, + "name": "FunctionCall", + "src": "2510:37:19" + } + ], + "id": 5998, + "name": "TupleExpression", + "src": "2509:39:19" + } + ], + "id": 5999, + "name": "Return", + "src": "2502:46:19" + } + ], + "id": 6000, + "name": "Block", + "src": "2491:65:19" + } + ], + "id": 6001, + "name": "FunctionDefinition", + "src": "2370:186:19" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "addOrPromoteAddress", + "payable": false, + "scope": 6081, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6080, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6002, + "name": "UserDefinedTypeName", + "src": "3175:6:19" + } + ], + "id": 6003, + "name": "VariableDeclaration", + "src": "3175:14:19" + }, + { + "attributes": { + "constant": false, + "name": "_record", + "scope": 6080, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6004, + "name": "ElementaryTypeName", + "src": "3191:7:19" + } + ], + "id": 6005, + "name": "VariableDeclaration", + "src": "3191:15:19" + }, + { + "attributes": { + "constant": false, + "name": "_amount", + "scope": 6080, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6006, + "name": "ElementaryTypeName", + "src": "3208:4:19" + } + ], + "id": 6007, + "name": "VariableDeclaration", + "src": "3208:12:19" + } + ], + "id": 6008, + "name": "ParameterList", + "src": "3174:47:19" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6012, + "name": "ParameterList", + "src": "3280:0:19" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7129, + "type": "modifier (address)", + "value": "onlyRegisteredOrganization" + }, + "id": 6009, + "name": "Identifier", + "src": "3227:26:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6003, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6010, + "name": "Identifier", + "src": "3254:7:19" + } + ], + "id": 6011, + "name": "ModifierInvocation", + "src": "3227:35:19" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 6014 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 6080, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct OrganizationRegister.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 5886, + "type": "struct OrganizationRegister.Parameters storage pointer" + }, + "id": 6013, + "name": "UserDefinedTypeName", + "src": "3291:10:19" + } + ], + "id": 6014, + "name": "VariableDeclaration", + "src": "3291:24:19" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct OrganizationRegister.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5896, + "type": "mapping(bytes32 => struct OrganizationRegister.Parameters storage ref)", + "value": "parameters" + }, + "id": 6015, + "name": "Identifier", + "src": "3318:10:19" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 6016, + "name": "Identifier", + "src": "3329:27:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6003, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6017, + "name": "Identifier", + "src": "3357:7:19" + } + ], + "id": 6018, + "name": "FunctionCall", + "src": "3329:36:19" + } + ], + "id": 6019, + "name": "IndexAccess", + "src": "3318:48:19" + } + ], + "id": 6020, + "name": "VariableDeclarationStatement", + "src": "3291:75:19" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5892, + "type": "mapping(address => mapping(address => uint256))", + "value": "organizationsRegistery" + }, + "id": 6021, + "name": "Identifier", + "src": "3459:22:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6003, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6022, + "name": "Identifier", + "src": "3482:7:19" + } + ], + "id": 6023, + "name": "IndexAccess", + "src": "3459:31:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6005, + "type": "address", + "value": "_record" + }, + "id": 6024, + "name": "Identifier", + "src": "3491:7:19" + } + ], + "id": 6025, + "name": "IndexAccess", + "src": "3459:40:19" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6026, + "name": "Literal", + "src": "3503:1:19" + } + ], + "id": 6027, + "name": "BinaryOperation", + "src": "3459:45:19" + } + ], + "id": 6028, + "name": "TupleExpression", + "src": "3458:47:19" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6007, + "type": "uint256", + "value": "_amount" + }, + "id": 6029, + "name": "Identifier", + "src": "3510:7:19" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "fee", + "referencedDeclaration": 5881, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6014, + "type": "struct OrganizationRegister.Parameters memory", + "value": "params" + }, + "id": 6030, + "name": "Identifier", + "src": "3520:6:19" + } + ], + "id": 6031, + "name": "MemberAccess", + "src": "3520:10:19" + } + ], + "id": 6032, + "name": "BinaryOperation", + "src": "3510:20:19" + } + ], + "id": 6033, + "name": "TupleExpression", + "src": "3509:22:19" + } + ], + "id": 6034, + "name": "BinaryOperation", + "src": "3458:73:19" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 6035, + "name": "Identifier", + "src": "3549:6:19" + } + ], + "id": 6036, + "name": "FunctionCall", + "src": "3549:8:19" + } + ], + "id": 6037, + "name": "ExpressionStatement", + "src": "3549:8:19" + } + ], + "id": 6038, + "name": "Block", + "src": "3534:35:19" + } + ], + "id": 6039, + "name": "IfStatement", + "src": "3454:115:19" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferFrom", + "referencedDeclaration": 9554, + "type": "function (address,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "token", + "referencedDeclaration": 5883, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6014, + "type": "struct OrganizationRegister.Parameters memory", + "value": "params" + }, + "id": 6040, + "name": "Identifier", + "src": "3581:6:19" + } + ], + "id": 6043, + "name": "MemberAccess", + "src": "3581:12:19" + } + ], + "id": 6044, + "name": "MemberAccess", + "src": "3581:25:19" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6045, + "name": "Identifier", + "src": "3607:3:19" + } + ], + "id": 6046, + "name": "MemberAccess", + "src": "3607:10:19" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 5885, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6014, + "type": "struct OrganizationRegister.Parameters memory", + "value": "params" + }, + "id": 6047, + "name": "Identifier", + "src": "3619:6:19" + } + ], + "id": 6048, + "name": "MemberAccess", + "src": "3619:18:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6007, + "type": "uint256", + "value": "_amount" + }, + "id": 6049, + "name": "Identifier", + "src": "3639:7:19" + } + ], + "id": 6050, + "name": "FunctionCall", + "src": "3581:66:19" + } + ], + "id": 6051, + "name": "ExpressionStatement", + "src": "3581:66:19" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5892, + "type": "mapping(address => mapping(address => uint256))", + "value": "organizationsRegistery" + }, + "id": 6052, + "name": "Identifier", + "src": "3662:22:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6003, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6053, + "name": "Identifier", + "src": "3685:7:19" + } + ], + "id": 6054, + "name": "IndexAccess", + "src": "3662:31:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6005, + "type": "address", + "value": "_record" + }, + "id": 6055, + "name": "Identifier", + "src": "3694:7:19" + } + ], + "id": 6056, + "name": "IndexAccess", + "src": "3662:40:19" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6057, + "name": "Literal", + "src": "3706:1:19" + } + ], + "id": 6058, + "name": "BinaryOperation", + "src": "3662:45:19" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5902, + "type": "function (address,address)", + "value": "OrgAdded" + }, + "id": 6059, + "name": "Identifier", + "src": "3720:8:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6003, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6060, + "name": "Identifier", + "src": "3729:7:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6005, + "type": "address", + "value": "_record" + }, + "id": 6061, + "name": "Identifier", + "src": "3738:7:19" + } + ], + "id": 6062, + "name": "FunctionCall", + "src": "3720:26:19" + } + ], + "id": 6063, + "name": "ExpressionStatement", + "src": "3720:26:19" + } + ], + "id": 6064, + "name": "IfStatement", + "src": "3658:88:19" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5892, + "type": "mapping(address => mapping(address => uint256))", + "value": "organizationsRegistery" + }, + "id": 6065, + "name": "Identifier", + "src": "3757:22:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6003, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6066, + "name": "Identifier", + "src": "3780:7:19" + } + ], + "id": 6068, + "name": "IndexAccess", + "src": "3757:31:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6005, + "type": "address", + "value": "_record" + }, + "id": 6067, + "name": "Identifier", + "src": "3789:7:19" + } + ], + "id": 6069, + "name": "IndexAccess", + "src": "3757:40:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6007, + "type": "uint256", + "value": "_amount" + }, + "id": 6070, + "name": "Identifier", + "src": "3801:7:19" + } + ], + "id": 6071, + "name": "Assignment", + "src": "3757:51:19" + } + ], + "id": 6072, + "name": "ExpressionStatement", + "src": "3757:51:19" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5910, + "type": "function (address,address,uint256)", + "value": "Promotion" + }, + "id": 6073, + "name": "Identifier", + "src": "3819:9:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6003, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6074, + "name": "Identifier", + "src": "3829:7:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6005, + "type": "address", + "value": "_record" + }, + "id": 6075, + "name": "Identifier", + "src": "3838:7:19" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6007, + "type": "uint256", + "value": "_amount" + }, + "id": 6076, + "name": "Identifier", + "src": "3847:7:19" + } + ], + "id": 6077, + "name": "FunctionCall", + "src": "3819:36:19" + } + ], + "id": 6078, + "name": "ExpressionStatement", + "src": "3819:36:19" + } + ], + "id": 6079, + "name": "Block", + "src": "3280:583:19" + } + ], + "id": 6080, + "name": "FunctionDefinition", + "src": "3146:717:19" + } + ], + "id": 6081, + "name": "ContractDefinition", + "src": "264:3602:19" + } + ], + "id": 6082, + "name": "SourceUnit", + "src": "0:3868:19" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.934Z" +} \ No newline at end of file diff --git a/contracts/Ownable.json b/contracts/Ownable.json new file mode 100644 index 000000000..fd9d4c540 --- /dev/null +++ b/contracts/Ownable.json @@ -0,0 +1,841 @@ +{ + "contractName": "Ownable", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b60008054600160a060020a033316600160a060020a03199091161790556101768061003b6000396000f30060606040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638da5cb5b8114610050578063f2fde38b1461007f575b600080fd5b341561005b57600080fd5b6100636100a0565b604051600160a060020a03909116815260200160405180910390f35b341561008a57600080fd5b61009e600160a060020a03600435166100af565b005b600054600160a060020a031681565b60005433600160a060020a039081169116146100ca57600080fd5b600160a060020a03811615156100df57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820e82a9cdbdafddd8104a8a26b7ab8183b7d01af355c935d330121904954d91d910029", + "deployedBytecode": "0x60606040526004361061004b5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416638da5cb5b8114610050578063f2fde38b1461007f575b600080fd5b341561005b57600080fd5b6100636100a0565b604051600160a060020a03909116815260200160405180910390f35b341561008a57600080fd5b61009e600160a060020a03600435166100af565b005b600054600160a060020a031681565b60005433600160a060020a039081169116146100ca57600080fd5b600160a060020a03811615156100df57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a72305820e82a9cdbdafddd8104a8a26b7ab8183b7d01af355c935d330121904954d91d910029", + "sourceMap": "217:789:29:-;;;469:55;;;;;;;;501:5;:18;;-1:-1:-1;;;;;509:10:29;501:18;-1:-1:-1;;;;;;501:18:29;;;;;;217:789;;;;;;", + "deployedSourceMap": "217:789:29:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;238:20;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:29;;;;;;;;;;;;;;834:169;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;;;238:20;;;-1:-1:-1;;;;;238:20:29;;:::o;834:169::-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o", + "source": "pragma solidity ^0.4.18;\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 OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n\n /**\n * @dev The Ownable constructor sets the original `owner` of the contract to the sender\n * account.\n */\n function Ownable() public {\n owner = msg.sender;\n }\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 /**\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 require(newOwner != address(0));\n OwnershipTransferred(owner, newOwner);\n owner = newOwner;\n }\n\n}\n", + "sourcePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "ast": { + "attributes": { + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "exportedSymbols": { + "Ownable": [ + 9140 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 9086, + "name": "PragmaDirective", + "src": "0:24:29" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "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, + "linearizedBaseContracts": [ + 9140 + ], + "name": "Ownable", + "scope": 9141 + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "owner", + "scope": 9140, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9087, + "name": "ElementaryTypeName", + "src": "238:7:29" + } + ], + "id": 9088, + "name": "VariableDeclaration", + "src": "238:20:29" + }, + { + "attributes": { + "anonymous": false, + "name": "OwnershipTransferred" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "previousOwner", + "scope": 9094, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9089, + "name": "ElementaryTypeName", + "src": "291:7:29" + } + ], + "id": 9090, + "name": "VariableDeclaration", + "src": "291:29:29" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "newOwner", + "scope": 9094, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9091, + "name": "ElementaryTypeName", + "src": "322:7:29" + } + ], + "id": 9092, + "name": "VariableDeclaration", + "src": "322:24:29" + } + ], + "id": 9093, + "name": "ParameterList", + "src": "290:57:29" + } + ], + "id": 9094, + "name": "EventDefinition", + "src": "264:84:29" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Ownable", + "payable": false, + "scope": 9140, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 9095, + "name": "ParameterList", + "src": "485:2:29" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 9096, + "name": "ParameterList", + "src": "495:0:29" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9088, + "type": "address", + "value": "owner" + }, + "id": 9097, + "name": "Identifier", + "src": "501:5:29" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9098, + "name": "Identifier", + "src": "509:3:29" + } + ], + "id": 9099, + "name": "MemberAccess", + "src": "509:10:29" + } + ], + "id": 9100, + "name": "Assignment", + "src": "501:18:29" + } + ], + "id": 9101, + "name": "ExpressionStatement", + "src": "501:18:29" + } + ], + "id": 9102, + "name": "Block", + "src": "495:29:29" + } + ], + "id": 9103, + "name": "FunctionDefinition", + "src": "469:55:29" + }, + { + "attributes": { + "name": "onlyOwner", + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 9104, + "name": "ParameterList", + "src": "623:2:29" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 9105, + "name": "Identifier", + "src": "632:7:29" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9106, + "name": "Identifier", + "src": "640:3:29" + } + ], + "id": 9107, + "name": "MemberAccess", + "src": "640:10:29" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9088, + "type": "address", + "value": "owner" + }, + "id": 9108, + "name": "Identifier", + "src": "654:5:29" + } + ], + "id": 9109, + "name": "BinaryOperation", + "src": "640:19:29" + } + ], + "id": 9110, + "name": "FunctionCall", + "src": "632:28:29" + } + ], + "id": 9111, + "name": "ExpressionStatement", + "src": "632:28:29" + }, + { + "id": 9112, + "name": "PlaceholderStatement", + "src": "666:1:29" + } + ], + "id": 9113, + "name": "Block", + "src": "626:46:29" + } + ], + "id": 9114, + "name": "ModifierDefinition", + "src": "605:67:29" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "transferOwnership", + "payable": false, + "scope": 9140, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "newOwner", + "scope": 9139, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9115, + "name": "ElementaryTypeName", + "src": "861:7:29" + } + ], + "id": 9116, + "name": "VariableDeclaration", + "src": "861:16:29" + } + ], + "id": 9117, + "name": "ParameterList", + "src": "860:18:29" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 9120, + "name": "ParameterList", + "src": "896:0:29" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 9118, + "name": "Identifier", + "src": "886:9:29" + } + ], + "id": 9119, + "name": "ModifierInvocation", + "src": "886:9:29" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 9121, + "name": "Identifier", + "src": "902:7:29" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9116, + "type": "address", + "value": "newOwner" + }, + "id": 9122, + "name": "Identifier", + "src": "910:8:29" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 9123, + "name": "ElementaryTypeNameExpression", + "src": "922:7:29" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 9124, + "name": "Literal", + "src": "930:1:29" + } + ], + "id": 9125, + "name": "FunctionCall", + "src": "922:10:29" + } + ], + "id": 9126, + "name": "BinaryOperation", + "src": "910:22:29" + } + ], + "id": 9127, + "name": "FunctionCall", + "src": "902:31:29" + } + ], + "id": 9128, + "name": "ExpressionStatement", + "src": "902:31:29" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9094, + "type": "function (address,address)", + "value": "OwnershipTransferred" + }, + "id": 9129, + "name": "Identifier", + "src": "939:20:29" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9088, + "type": "address", + "value": "owner" + }, + "id": 9130, + "name": "Identifier", + "src": "960:5:29" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9116, + "type": "address", + "value": "newOwner" + }, + "id": 9131, + "name": "Identifier", + "src": "967:8:29" + } + ], + "id": 9132, + "name": "FunctionCall", + "src": "939:37:29" + } + ], + "id": 9133, + "name": "ExpressionStatement", + "src": "939:37:29" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9088, + "type": "address", + "value": "owner" + }, + "id": 9134, + "name": "Identifier", + "src": "982:5:29" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9116, + "type": "address", + "value": "newOwner" + }, + "id": 9135, + "name": "Identifier", + "src": "990:8:29" + } + ], + "id": 9136, + "name": "Assignment", + "src": "982:16:29" + } + ], + "id": 9137, + "name": "ExpressionStatement", + "src": "982:16:29" + } + ], + "id": 9138, + "name": "Block", + "src": "896:107:29" + } + ], + "id": 9139, + "name": "FunctionDefinition", + "src": "834:169:29" + } + ], + "id": 9140, + "name": "ContractDefinition", + "src": "217:789:29" + } + ], + "id": 9141, + "name": "SourceUnit", + "src": "0:1007:29" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.927Z" +} \ No newline at end of file diff --git a/contracts/QuorumVote.json b/contracts/QuorumVote.json new file mode 100644 index 000000000..840e2f660 --- /dev/null +++ b/contracts/QuorumVote.json @@ -0,0 +1,2235 @@ +{ + "contractName": "QuorumVote", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "name": "reputationSystem", + "type": "address" + }, + { + "name": "precReq", + "type": "uint256" + }, + { + "name": "allowOwner", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_reputationSystem", + "type": "address" + }, + { + "name": "_precReq", + "type": "uint256" + }, + { + "name": "_allowOwner", + "type": "bool" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "voteInfo", + "outputs": [ + { + "name": "", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "proposals", + "outputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "avatar", + "type": "address" + }, + { + "name": "numOfChoices", + "type": "uint256" + }, + { + "name": "executable", + "type": "address" + }, + { + "name": "paramsHash", + "type": "bytes32" + }, + { + "name": "totalVotes", + "type": "uint256" + }, + { + "name": "open", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + }, + { + "name": "_voter", + "type": "address" + } + ], + "name": "ownerVote", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "cancelProposal", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_numOfChoices", + "type": "uint256" + }, + { + "name": "_paramsHash", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_executable", + "type": "address" + } + ], + "name": "propose", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "votesStatus", + "outputs": [ + { + "name": "votes", + "type": "uint256[11]" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "cancelVote", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + } + ], + "name": "vote", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "getNumberOfChoices", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_vote", + "type": "uint256" + }, + { + "name": "_rep", + "type": "uint256" + }, + { + "name": "", + "type": "uint256" + } + ], + "name": "voteWithSpecifiedAmounts", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "isVotable", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_reputationSystem", + "type": "address" + }, + { + "name": "_precReq", + "type": "uint256" + }, + { + "name": "_allowOwner", + "type": "bool" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_numOfChoices", + "type": "uint256" + }, + { + "indexed": false, + "name": "_proposer", + "type": "address" + }, + { + "indexed": false, + "name": "_paramsHash", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogCancelProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_decision", + "type": "uint256" + } + ], + "name": "LogExecuteProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_voter", + "type": "address" + }, + { + "indexed": false, + "name": "_vote", + "type": "uint256" + }, + { + "indexed": false, + "name": "_reputation", + "type": "uint256" + }, + { + "indexed": false, + "name": "_isOwnerVote", + "type": "bool" + } + ], + "name": "LogVoteProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_voter", + "type": "address" + } + ], + "name": "LogCancelVoting", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6112078061001e6000396000f3006060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c657806302a1cdaf1461010c578063119ce91b1461014557806332ed5b121461017f578063339e23d1146101df57806337376ca81461021857806388737b5e1461022e5780638fe23d1a146102595780639525c0cc146102a85780639ef1204c146102c0578063a003651d146102d9578063ac5d8745146102ef578063c08351061461030e578063e751f27114610324578063fed0d7df1461033a575b600080fd5b34156100d157600080fd5b6100dc600435610361565b604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390f35b341561011757600080fd5b610133600160a060020a0360043516602435604435151561038f565b60405190815260200160405180910390f35b341561015057600080fd5b610167600435600160a060020a03602435166103f9565b60405191825260208201526040908101905180910390f35b341561018a57600080fd5b610195600435610458565b604051600160a060020a0397881681529587166020870152604080870195909552929095166060850152608084015260a083019390935291151560c082015260e001905180910390f35b34156101ea57600080fd5b610204600435602435600160a060020a03604435166104a7565b604051901515815260200160405180910390f35b341561022357600080fd5b61020460043561053e565b341561023957600080fd5b610133600435602435600160a060020a03604435811690606435166105fe565b341561026457600080fd5b61026f6004356107f5565b604051808261016080838360005b8381101561029557808201518382015260200161027d565b5050505090500191505060405180910390f35b34156102b357600080fd5b6102be600435610842565b005b34156102cb57600080fd5b610204600435602435610872565b34156102e457600080fd5b6101336004356108a9565b34156102fa57600080fd5b6102046004356024356044356064356108be565b341561031957600080fd5b6102046004356108f6565b341561032f57600080fd5b61020460043561090e565b341561034557600080fd5b610133600160a060020a03600435166024356044351515610c92565b600060208190529081526040902080546001820154600290920154600160a060020a03909116919060ff1683565b6000838383604051600160a060020a03939093166c01000000000000000000000000028352601483019190915215157f0100000000000000000000000000000000000000000000000000000000000000026034820152603501604051809103902090509392505050565b600080610404611140565b6000858152600160209081526040808320600160a060020a03881684526007019091529081902090805190810160405281548152600190910154602082015290508051816020015192509250509250929050565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600890950154600160a060020a039687169694851695939490921692909160ff1687565b600083815260016020526040812054849033600160a060020a039081169116146104d057600080fd5b600085815260016020526040902060080154859060ff1615156104f257600080fd5b60008681526001602090815260408083206004015483529082905290206002015460ff1615156105255760009250610535565b6105328685876000610d47565b92505b50509392505050565b600081815260016020526040812054829033600160a060020a0390811691161461056757600080fd5b600083815260016020526040902060080154839060ff16151561058957600080fd5b60008481526001602090815260408083206004015483529082905290206002015460ff1615156105bc57600092506105f7565b6105c584610f71565b837fd06f0966987a6526e0c1291838668e5dbcaf062ae68baadf345ff3edd792e8b560405160405180910390a2600192505b5050919050565b600080610609611157565b600086815260208190526040902054600160a060020a0316151561062c57600080fd5b60008711801561063d5750600a8711155b151561064857600080fd5b30600254604051600160a060020a03929092166c01000000000000000000000000028252601482015260340160405190819003902060028054600190810190915560408084018a905260808401899052600160a060020a03808916602080870191909152888216606087015233909116855260c085018390526000848152929052902090925081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c0820151600891909101805460ff191691151591909117905550817f82cc1e47a0fddd1b4b3576bd36d20b845eac0f69b7057cb0357a3cb4ce29cb65883389604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a25095945050505050565b6107fd611193565b6000828152600160205260408120905b600282015481116105f75760008181526006830160205260409020548382600b811061083557fe5b602002015260010161080d565b600081815260016020526040902060080154819060ff16151561086457600080fd5b61086e823361100c565b5050565b600082815260016020526040812060080154839060ff16151561089457600080fd5b6108a18433856000610d47565b949350505050565b60009081526001602052604090206002015490565b600084815260016020526040812060080154859060ff1615156108e057600080fd5b6108ec86338787610d47565b9695505050505050565b60009081526001602052604090206008015460ff1690565b6000806000806000806000610921611157565b600089815260016020526040902060080154899060ff16151561094357600080fd5b60008a8152600160209081526040808320600481015484529183905280832054919a50600160a060020a03909116916318160ddd9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109ab57600080fd5b6102c65a03f115156109bc57600080fd5b505050604051805160048a01546000908152602081905260409020600101549098509650606490508688020488600501541115610c8057600192505b60028801548311610a4057600083815260068901602052604090205485901115610a35576000838152600689016020526040902054945091925082915b6001909201916109f8565b8760e060405190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016001820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600282015481526020016003820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600482015460001916600019168152602001600582015481526020016008820160009054906101000a900460ff1615151515815250509150600160008b60001916600019168152602001908152602001600020600080820160006101000a815490600160a060020a0302191690556001820160006101000a815490600160a060020a03021916905560028201600090556003820160006101000a815490600160a060020a030219169055600482016000905560058201600090556008820160006101000a81549060ff0219169055505089600019167f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc8560405190815260200160405180910390a28160600151600160a060020a031663310ce4e28b84602001518760006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515610c5b57600080fd5b6102c65a03f11515610c6c57600080fd5b505050604051805190505060019850610c85565b600098505b5050505050505050919050565b60008060648411158015610ca65750600084115b1515610cb157600080fd5b610cbc85858561038f565b905060606040519081016040908152600160a060020a0387168252602080830187905285151582840152600084815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805460ff191691151591909117905550949350505050565b600080610d526111bb565b600087815260016020908152604080832060048101548452918390528083209194506060905190810160409081528254600160a060020a031682526001830154602083015260029283015460ff1615159082015290840154909250861115610db957600080fd5b8151600160a060020a031663db89c0448860006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610e1157600080fd5b6102c65a03f11515610e2257600080fd5b505050604051805191505084811015610e3a57600080fd5b841515610e45578094505b600160a060020a038716600090815260078401602052604090206001015415610e7257610e72888861100c565b6000868152600684016020526040902054610e9490869063ffffffff61111816565b60008781526006850160205260409020556005830154610ebb90869063ffffffff61111816565b60058401556040805190810160409081528782526020808301889052600160a060020a038a166000908152600787019091522081518155602082015160019091015550600160a060020a038088169089907f98919cf2e7177b2b2794b7596166eb688e15f8422b46387aab412d792035c01290899085903316851415604051928352602083019190915215156040808301919091526060909101905180910390a3610f658861090e565b98975050505050505050565b6000818152600160205260408120905b60028201548111610fa5576000818152600683016020526040812055600101610f81565b505060009081526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff19908116825591810180548316905560028101839055600381018054909216909155600481018290556005810191909155600801805460ff19169055565b6000611016611140565b6000848152600160209081526040808320600160a060020a0387168452600781019092529182902090935090805190810160405281548152600190910154602082019081529091506110889051600684016000845181526020019081526020016000205461112e90919063ffffffff16565b60068301600083518152602001908152602001600020819055506110bb816020015160058401549063ffffffff61112e16565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907f694e00fc5266ab4e93df364ff0161f5d7e3a035126b13d918755bfed6d8ab299905160405180910390a350505050565b60008282018381101561112757fe5b9392505050565b60008282111561113a57fe5b50900390565b604080519081016040526000808252602082015290565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b610160604051908101604052600b815b60008152602001906001900390816111a35790505090565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a7230582052b267132f64a6cc75a8463289636e68c1696fe95116357f0812618eaa26c1080029", + "deployedBytecode": "0x6060604052600436106100c15763ffffffff60e060020a6000350416630250680481146100c657806302a1cdaf1461010c578063119ce91b1461014557806332ed5b121461017f578063339e23d1146101df57806337376ca81461021857806388737b5e1461022e5780638fe23d1a146102595780639525c0cc146102a85780639ef1204c146102c0578063a003651d146102d9578063ac5d8745146102ef578063c08351061461030e578063e751f27114610324578063fed0d7df1461033a575b600080fd5b34156100d157600080fd5b6100dc600435610361565b604051600160a060020a039093168352602083019190915215156040808301919091526060909101905180910390f35b341561011757600080fd5b610133600160a060020a0360043516602435604435151561038f565b60405190815260200160405180910390f35b341561015057600080fd5b610167600435600160a060020a03602435166103f9565b60405191825260208201526040908101905180910390f35b341561018a57600080fd5b610195600435610458565b604051600160a060020a0397881681529587166020870152604080870195909552929095166060850152608084015260a083019390935291151560c082015260e001905180910390f35b34156101ea57600080fd5b610204600435602435600160a060020a03604435166104a7565b604051901515815260200160405180910390f35b341561022357600080fd5b61020460043561053e565b341561023957600080fd5b610133600435602435600160a060020a03604435811690606435166105fe565b341561026457600080fd5b61026f6004356107f5565b604051808261016080838360005b8381101561029557808201518382015260200161027d565b5050505090500191505060405180910390f35b34156102b357600080fd5b6102be600435610842565b005b34156102cb57600080fd5b610204600435602435610872565b34156102e457600080fd5b6101336004356108a9565b34156102fa57600080fd5b6102046004356024356044356064356108be565b341561031957600080fd5b6102046004356108f6565b341561032f57600080fd5b61020460043561090e565b341561034557600080fd5b610133600160a060020a03600435166024356044351515610c92565b600060208190529081526040902080546001820154600290920154600160a060020a03909116919060ff1683565b6000838383604051600160a060020a03939093166c01000000000000000000000000028352601483019190915215157f0100000000000000000000000000000000000000000000000000000000000000026034820152603501604051809103902090509392505050565b600080610404611140565b6000858152600160209081526040808320600160a060020a03881684526007019091529081902090805190810160405281548152600190910154602082015290508051816020015192509250509250929050565b60016020819052600091825260409091208054918101546002820154600383015460048401546005850154600890950154600160a060020a039687169694851695939490921692909160ff1687565b600083815260016020526040812054849033600160a060020a039081169116146104d057600080fd5b600085815260016020526040902060080154859060ff1615156104f257600080fd5b60008681526001602090815260408083206004015483529082905290206002015460ff1615156105255760009250610535565b6105328685876000610d47565b92505b50509392505050565b600081815260016020526040812054829033600160a060020a0390811691161461056757600080fd5b600083815260016020526040902060080154839060ff16151561058957600080fd5b60008481526001602090815260408083206004015483529082905290206002015460ff1615156105bc57600092506105f7565b6105c584610f71565b837fd06f0966987a6526e0c1291838668e5dbcaf062ae68baadf345ff3edd792e8b560405160405180910390a2600192505b5050919050565b600080610609611157565b600086815260208190526040902054600160a060020a0316151561062c57600080fd5b60008711801561063d5750600a8711155b151561064857600080fd5b30600254604051600160a060020a03929092166c01000000000000000000000000028252601482015260340160405190819003902060028054600190810190915560408084018a905260808401899052600160a060020a03808916602080870191909152888216606087015233909116855260c085018390526000848152929052902090925081908151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560408201518160020155606082015160038201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556080820151600482015560a0820151816005015560c0820151600891909101805460ff191691151591909117905550817f82cc1e47a0fddd1b4b3576bd36d20b845eac0f69b7057cb0357a3cb4ce29cb65883389604051928352600160a060020a0390911660208301526040808301919091526060909101905180910390a25095945050505050565b6107fd611193565b6000828152600160205260408120905b600282015481116105f75760008181526006830160205260409020548382600b811061083557fe5b602002015260010161080d565b600081815260016020526040902060080154819060ff16151561086457600080fd5b61086e823361100c565b5050565b600082815260016020526040812060080154839060ff16151561089457600080fd5b6108a18433856000610d47565b949350505050565b60009081526001602052604090206002015490565b600084815260016020526040812060080154859060ff1615156108e057600080fd5b6108ec86338787610d47565b9695505050505050565b60009081526001602052604090206008015460ff1690565b6000806000806000806000610921611157565b600089815260016020526040902060080154899060ff16151561094357600080fd5b60008a8152600160209081526040808320600481015484529183905280832054919a50600160a060020a03909116916318160ddd9151602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109ab57600080fd5b6102c65a03f115156109bc57600080fd5b505050604051805160048a01546000908152602081905260409020600101549098509650606490508688020488600501541115610c8057600192505b60028801548311610a4057600083815260068901602052604090205485901115610a35576000838152600689016020526040902054945091925082915b6001909201916109f8565b8760e060405190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016001820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600282015481526020016003820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a03168152602001600482015460001916600019168152602001600582015481526020016008820160009054906101000a900460ff1615151515815250509150600160008b60001916600019168152602001908152602001600020600080820160006101000a815490600160a060020a0302191690556001820160006101000a815490600160a060020a03021916905560028201600090556003820160006101000a815490600160a060020a030219169055600482016000905560058201600090556008820160006101000a81549060ff0219169055505089600019167f81be7b59f2640007c1101f52199758a7ea91009239bc8a7a2449472c02d221cc8560405190815260200160405180910390a28160600151600160a060020a031663310ce4e28b84602001518760006040516020015260405160e060020a63ffffffff86160281526004810193909352600160a060020a0390911660248301526044820152606401602060405180830381600087803b1515610c5b57600080fd5b6102c65a03f11515610c6c57600080fd5b505050604051805190505060019850610c85565b600098505b5050505050505050919050565b60008060648411158015610ca65750600084115b1515610cb157600080fd5b610cbc85858561038f565b905060606040519081016040908152600160a060020a0387168252602080830187905285151582840152600084815290819052208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015181600101556040820151600291909101805460ff191691151591909117905550949350505050565b600080610d526111bb565b600087815260016020908152604080832060048101548452918390528083209194506060905190810160409081528254600160a060020a031682526001830154602083015260029283015460ff1615159082015290840154909250861115610db957600080fd5b8151600160a060020a031663db89c0448860006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610e1157600080fd5b6102c65a03f11515610e2257600080fd5b505050604051805191505084811015610e3a57600080fd5b841515610e45578094505b600160a060020a038716600090815260078401602052604090206001015415610e7257610e72888861100c565b6000868152600684016020526040902054610e9490869063ffffffff61111816565b60008781526006850160205260409020556005830154610ebb90869063ffffffff61111816565b60058401556040805190810160409081528782526020808301889052600160a060020a038a166000908152600787019091522081518155602082015160019091015550600160a060020a038088169089907f98919cf2e7177b2b2794b7596166eb688e15f8422b46387aab412d792035c01290899085903316851415604051928352602083019190915215156040808301919091526060909101905180910390a3610f658861090e565b98975050505050505050565b6000818152600160205260408120905b60028201548111610fa5576000818152600683016020526040812055600101610f81565b505060009081526001602081905260408220805473ffffffffffffffffffffffffffffffffffffffff19908116825591810180548316905560028101839055600381018054909216909155600481018290556005810191909155600801805460ff19169055565b6000611016611140565b6000848152600160209081526040808320600160a060020a0387168452600781019092529182902090935090805190810160405281548152600190910154602082019081529091506110889051600684016000845181526020019081526020016000205461112e90919063ffffffff16565b60068301600083518152602001908152602001600020819055506110bb816020015160058401549063ffffffff61112e16565b6005830155600160a060020a03831660008181526007840160205260408082208281556001019190915585907f694e00fc5266ab4e93df364ff0161f5d7e3a035126b13d918755bfed6d8ab299905160405180910390a350505050565b60008282018381101561112757fe5b9392505050565b60008282111561113a57fe5b50900390565b604080519081016040526000808252602082015290565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c082015290565b610160604051908101604052600b815b60008152602001906001900390816111a35790505090565b6060604051908101604090815260008083526020830181905290820152905600a165627a7a7230582052b267132f64a6cc75a8463289636e68c1696fe95116357f0812618eaa26c1080029", + "sourceMap": "136:1299:4:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "136:1299:4:-;;;;;;;;;-1:-1:-1;;;136:1299:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1557:46:1;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1557:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2972:196;;;;;;;;;;-1:-1:-1;;;;;2972:196:1;;;;;;;;;;;;;;;;;;;;;;;;;;8565:216;;;;;;;;;;;;-1:-1:-1;;;;;8565:216:1;;;;;;;;;;;;;;;;;;;;;;;;;;1650:43;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1650:43:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5916:324;;;;;;;;;;;;;;-1:-1:-1;;;;;5916:324:1;;;;;;;;;;;;;;;;;;;;;;4764:340;;;;;;;;;;;;;;3681:915;;;;;;;;;;;;;;-1:-1:-1;;;;;3681:915:1;;;;;;;;;;9030:276;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;6654:131:1;;;;;;;;;;;;;;;;5368:162;;;;;;;;;;;;;;;;8076:140;;;;;;;;;;;;;;6248:196;;;;;;;;;;;;;;;;;;;;9475:124;;;;;;;;;;;;;;419:1013:4;;;;;;;;;;;;;;2400:485:1;;;;;;;;;;-1:-1:-1;;;;;2400:485:1;;;;;;;;;;;1557:46;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1557:46:1;;;;;;;;:::o;2972:196::-;3082:7;3119:17;3138:8;3148:11;3109:51;;-1:-1:-1;;;;;3109:51:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3102:58;;2972:196;;;;;:::o;8565:216::-;8644:4;8650;8667:18;;:::i;:::-;8688:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;8688:37:1;;;;:29;;:37;;;;;;;;:22;8667:58;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8667:58:1;8744:10;8756:5;:16;;;8736:37;;;;8565:216;;;;;;:::o;1650:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1650:43:1;;;;;;;;;;;;;;;;;;;:::o;5916:324::-;6051:4;2041:22;;;:9;:22;;;;;:28;6009:11;;2027:10;-1:-1:-1;;;;;2027:42:1;;;2041:28;;2027:42;2019:51;;;;;;2243:22;;;;:9;:22;;;;;:27;;;6030:11;;2243:27;;2235:36;;;;;;;;6074:10;6085:22;;;:9;:22;;;;;;;;:33;;;6074:45;;;;;;;;:56;;;;;6072:58;6068:103;;;6154:5;6147:12;;;;6068:103;6189:43;6202:11;6215:6;6223:5;6230:1;6189:12;:43::i;:::-;6181:51;;2282:1;2081;5916:324;;;;;;:::o;4764:340::-;4876:4;2041:22;;;:9;:22;;;;;:28;4834:11;;2027:10;-1:-1:-1;;;;;2027:42:1;;;2041:28;;2027:42;2019:51;;;;;;2243:22;;;;:9;:22;;;;;:27;;;4855:11;;2243:27;;2235:36;;;;;;;;4899:10;4910:22;;;:9;:22;;;;;;;;:33;;;4899:45;;;;;;;;:56;;;;;4897:58;4893:103;;;4979:5;4972:12;;;;4893:103;5006:27;5021:11;5006:14;:27::i;:::-;5062:11;5044:30;;;;;;;;;;5092:4;5085:11;;2282:1;2081;4764:340;;;;:::o;3681:915::-;3804:7;4062:18;4175:24;;:::i;:::-;3938:1;3886:23;;;;;;;;;;:40;-1:-1:-1;;;;;3886:40:1;:54;;3878:63;;;;;;3976:1;3960:13;:17;:56;;;;;1800:2;3981:13;:35;;3960:56;3952:65;;;;;;;;4093:4;4099:12;;4083:29;;-1:-1:-1;;;;;4083:29:1;;;;;;;;;;;;;;;;;;;;;;4123:12;:14;;;;;;;;;4210:21;;;;:37;;;4258:19;;;:33;;;-1:-1:-1;;;;;4302:25:1;;;:15;;;;:25;;;;4338:33;;;-1:-1:-1;4338:19:1;;:33;4399:10;4382:27;;;;;4420:13;;;:20;;;4123:12;4451:21;;;;;;;;4083:29;;-1:-1:-1;4210:8:1;;;4451:32;;;-1:-1:-1;;4451:32:1;-1:-1:-1;;;;;4451:32:1;;;;;;;;;;;;;;;;-1:-1:-1;;4451:32:1;-1:-1:-1;;;;;4451:32:1;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4451:32:1;-1:-1:-1;;;;;4451:32:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4451:32:1;;;;;;;;;;-1:-1:-1;4509:10:1;4494:66;4521:13;4536:10;4548:11;4494:66;;;;;-1:-1:-1;;;;;4494:66:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4578:10:1;3681:915;-1:-1:-1;;;;;3681:915:1:o;9030:276::-;9096:14;;:::i;:::-;9123:25;9151:22;;;:9;:22;;;;;;9184:115;9210:21;;;;9203:28;;9184:115;;9268:19;;;;:14;;;:19;;;;;;9255:5;9283:3;9255:10;;;;;;;;;;:32;9233:5;;9184:115;;6654:131;2243:22;;;;:9;:22;;;;;:27;;;6710:11;;2243:27;;2235:36;;;;;;;;6734:43;6753:11;6766:10;6734:18;:43::i;:::-;6654:131;;:::o;5368:162::-;5451:4;2243:22;;;:9;:22;;;;;:27;;;5430:11;;2243:27;;2235:36;;;;;;;;5475:47;5488:11;5501:10;5513:5;5520:1;5475:12;:47::i;:::-;5468:54;5368:162;-1:-1:-1;;;;5368:162:1:o;8076:140::-;8149:4;8173:22;;;:9;:22;;;;;:35;;;;8076:140::o;6248:196::-;6365:4;2243:22;;;:9;:22;;;;;:27;;;6344:11;;2243:27;;2235:36;;;;;;;;6389:47;6402:11;6414:10;6425:5;6431:4;6389:12;:47::i;:::-;6382:54;6248:196;-1:-1:-1;;;;;;6248:196:1:o;9475:124::-;9539:4;9564:22;;;:9;:22;;;;;:27;;;;;;9475:124::o;419:1013:4:-;493:4;510:25;573:20;669:12;850:8;873:11;904:8;1135:27;;:::i;:::-;2243:22:1;;;;:9;:22;;;;;:27;;;472:11:4;;2243:27:1;;2235:36;;;;;;;;538:22:4;;;;:9;:22;;;;;;;;607:19;;;;596:31;;;;;;;;;:48;538:22;;-1:-1:-1;;;;;;596:48:4;;;;:60;;:62;;;;;;;;;-1:-1:-1;;;596:62:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;695:19;;;;684:10;:31;;;;;;;;;;:39;;;596:62;;-1:-1:-1;684:39:4;-1:-1:-1;830:3:4;;-1:-1:-1;806:23:4;;;:27;784:8;:19;;;:49;780:622;;;915:1;904:12;;899:222;923:21;;;;918:26;;899:222;;976:19;;;;:14;;;:19;;;;;;:25;;;972:134;;;1032:19;;;;:14;;;:19;;;;;;;-1:-1:-1;1047:3:4;;-1:-1:-1;1047:3:4;;972:134;946:5;;;;;899:222;;;1165:8;1135:38;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1135:38:4;-1:-1:-1;;;;;1135:38:4;-1:-1:-1;;;;;1135:38:4;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1135:38:4;-1:-1:-1;;;;;1135:38:4;-1:-1:-1;;;;;1135:38:4;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1135:38:4;-1:-1:-1;;;;;1135:38:4;-1:-1:-1;;;;;1135:38:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1195:9;:22;1205:11;1195:22;;;;;;;;;;;;;;;;;;1188:29;;;;;;;;;-1:-1:-1;;;;;1188:29:4;;;;;;;;;;;;;;-1:-1:-1;;;;;1188:29:4;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1188:29:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1251:11;1232:39;;;;1264:6;1232:39;;;;;;;;;;;;;;1287:11;:22;;;-1:-1:-1;;;;;1286:32:4;;1319:11;1332;:18;;;1356:6;1286:78;;;;;;;;-1:-1:-1;;;1286:78:4;;;;;;;;;;;;;-1:-1:-1;;;;;1286:78:4;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1386:4;1379:11;;;;780:622;1419:5;1412:12;;2282:1:1;419:1013:4;;;;;;;;;;;:::o;2400:485:1:-;2501:7;2572:24;2541:3;2529:8;:15;;:31;;;;;2559:1;2548:8;:12;2529:31;2521:40;;;;;;;;2599:59;2617:17;2636:8;2646:11;2599:17;:59::i;:::-;2572:86;;2700:143;;;;;;;;;;-1:-1:-1;;;;;2700:143:1;;;;;;;;;;;;;;;;;;-1:-1:-1;2669:28:1;;;;;;;;2700:143;2669:174;;;-1:-1:-1;;2669:174:1;-1:-1:-1;;;;;2669:174:1;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2669:174:1;;;;;;;;;;-1:-1:-1;2861:16:1;2400:485;-1:-1:-1;;;;2400:485:1:o;10876:1216::-;10974:4;10991:25;11052:24;;:::i;:::-;11248:15;11019:22;;;:9;:22;;;;;;;;11090:19;;;;11079:31;;;;;;;;;11019:22;;-1:-1:-1;11052:58:1;;;;;;;;;;;;-1:-1:-1;;;;;11052:58:1;;;;;;;;;;;;;;;;;;;;;;;;11168:21;;;;11052:58;;-1:-1:-1;11159:30:1;;;11151:39;;;;;;11266:6;:23;-1:-1:-1;;;;;11266:36:1;;11303:6;11266:44;;;;;;;;-1:-1:-1;;;11266:44:1;;;;;;-1:-1:-1;;;;;11266:44:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;11329:18:1;;;;11321:27;;;;;;11363:9;;11359:59;;;11396:10;11389:17;;11359:59;-1:-1:-1;;;;;11500:23:1;;;;;;:15;;;:23;;;;;:34;;;:39;11496:111;;11556:39;11575:11;11588:6;11556:18;:39::i;:::-;11681:21;;;;:14;;;:21;;;;;;11672:31;;:4;;:31;:8;:31;:::i;:::-;11648:21;;;;:14;;;:21;;;;;:55;11745:19;;;;11736:29;;:4;;:29;:8;:29;:::i;:::-;11714:19;;;:51;11802:75;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11776:23:1;;-1:-1:-1;11776:23:1;;;:15;;;:23;;;;11802:75;11776:101;;;;;;;;;;;;-1:-1:-1;;;;;;11907:79:1;;;;11923:11;;11907:79;;11944:5;;11951:10;;11974;11964:20;;;;11907:79;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12064:20;12072:11;12064:7;:20::i;:::-;12057:27;10876:1216;-1:-1:-1;;;;;;;;10876:1216:1:o;10067:281::-;10131:25;10159:22;;;:9;:22;;;;;;10192:109;10218:21;;;;10211:28;;10192:109;;10270:19;;;;:14;;;:19;;;;;10263:26;10241:5;;10192:109;;;-1:-1:-1;;10318:22:1;;;;:9;:22;;;;;;;10311:29;;-1:-1:-1;;10311:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10311:29:1;;;10067:281::o;9607:452::-;9692:25;9753:18;;:::i;:::-;9720:22;;;;:9;:22;;;;;;;;-1:-1:-1;;;;;9774:23:1;;;;:15;;;:23;;;;;;;9720:22;;-1:-1:-1;9774:23:1;9720:22;9753:44;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9837:50:1;;9870:16;9838:14;;;:26;9853:5;:10;9838:26;;;;;;;;;;;;9837:32;;:50;;;;:::i;:::-;9808:14;;;:26;9823:5;:10;9808:26;;;;;;;;;;;:79;;;;9920:43;9946:5;:16;;;9921:19;;;;;9920:43;:25;:43;:::i;:::-;9898:19;;;:65;-1:-1:-1;;;;;9981:23:1;;;;;;:15;;;:23;;;;;;9974:30;;;;;;;;;10031:11;;10015:36;;;;;;;;;;9607:452;;;;:::o;698:129:28:-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:28:o;584:110::-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;136:1299:4:-;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../controller/Reputation.sol\";\r\nimport \"./IntVoteInterface.sol\";\r\nimport \"./AbsoluteVote.sol\";\r\n\r\n\r\ncontract QuorumVote is IntVoteInterface, AbsoluteVote {\r\n /**\r\n * @dev check if the proposal has been decided, and if so, execute the proposal\r\n * @param _proposalId the id of the proposal\r\n */\r\n // TODO: do we want to delete the vote from the proposals mapping?\r\n function execute(bytes32 _proposalId) public votable(_proposalId) returns(bool) {\r\n Proposal storage proposal = proposals[_proposalId];\r\n\r\n uint totalReputation = parameters[proposal.paramsHash].reputationSystem.totalSupply();\r\n uint precReq = parameters[proposal.paramsHash].precReq;\r\n\r\n // this is the actual voting rule:\r\n if (proposal.totalVotes > totalReputation*precReq/100) {\r\n uint max;\r\n uint maxInd;\r\n for (uint cnt = 1; cnt<=proposal.numOfChoices; cnt++) {\r\n if (proposal.votes[cnt] > max) {\r\n max = proposal.votes[cnt];\r\n maxInd = cnt;\r\n }\r\n }\r\n Proposal memory tmpProposal = proposal;\r\n delete proposals[_proposalId];\r\n LogExecuteProposal(_proposalId, maxInd);\r\n (tmpProposal.executable).execute(_proposalId, tmpProposal.avatar, int(maxInd));\r\n return true;\r\n }\r\n return false;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\VotingMachines\\QuorumVote.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/QuorumVote.sol", + "exportedSymbols": { + "QuorumVote": [ + 2781 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 2660, + "name": "PragmaDirective", + "src": "0:24:4" + }, + { + "attributes": { + "SourceUnit": 4358, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Reputation.sol", + "file": "../controller/Reputation.sol", + "scope": 2782, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2661, + "name": "ImportDirective", + "src": "28:38:4" + }, + { + "attributes": { + "SourceUnit": 2659, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/IntVoteInterface.sol", + "file": "./IntVoteInterface.sol", + "scope": 2782, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2662, + "name": "ImportDirective", + "src": "68:32:4" + }, + { + "attributes": { + "SourceUnit": 878, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/AbsoluteVote.sol", + "file": "./AbsoluteVote.sol", + "scope": 2782, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 2663, + "name": "ImportDirective", + "src": "102:28:4" + }, + { + "attributes": { + "contractDependencies": [ + 877, + 2658 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 2781, + 877, + 2658 + ], + "name": "QuorumVote", + "scope": 2782 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 2664, + "name": "UserDefinedTypeName", + "src": "159:16:4" + } + ], + "id": 2665, + "name": "InheritanceSpecifier", + "src": "159:16:4" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "AbsoluteVote", + "referencedDeclaration": 877, + "type": "contract AbsoluteVote" + }, + "id": 2666, + "name": "UserDefinedTypeName", + "src": "177:12:4" + } + ], + "id": 2667, + "name": "InheritanceSpecifier", + "src": "177:12:4" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "execute", + "payable": false, + "scope": 2781, + "stateMutability": "nonpayable", + "superFunction": 565, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 2780, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 2668, + "name": "ElementaryTypeName", + "src": "436:7:4" + } + ], + "id": 2669, + "name": "VariableDeclaration", + "src": "436:19:4" + } + ], + "id": 2670, + "name": "ParameterList", + "src": "435:21:4" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 2780, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 2674, + "name": "ElementaryTypeName", + "src": "493:4:4" + } + ], + "id": 2675, + "name": "VariableDeclaration", + "src": "493:4:4" + } + ], + "id": 2676, + "name": "ParameterList", + "src": "492:6:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 181, + "type": "modifier (bytes32)", + "value": "votable" + }, + "id": 2671, + "name": "Identifier", + "src": "464:7:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2669, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2672, + "name": "Identifier", + "src": "472:11:4" + } + ], + "id": 2673, + "name": "ModifierInvocation", + "src": "464:20:4" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 2678 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 2780, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 101, + "type": "struct AbsoluteVote.Proposal storage pointer" + }, + "id": 2677, + "name": "UserDefinedTypeName", + "src": "510:8:4" + } + ], + "id": 2678, + "name": "VariableDeclaration", + "src": "510:25:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 2679, + "name": "Identifier", + "src": "538:9:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2669, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2680, + "name": "Identifier", + "src": "548:11:4" + } + ], + "id": 2681, + "name": "IndexAccess", + "src": "538:22:4" + } + ], + "id": 2682, + "name": "VariableDeclarationStatement", + "src": "510:50:4" + }, + { + "attributes": { + "assignments": [ + 2684 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "totalReputation", + "scope": 2780, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2683, + "name": "ElementaryTypeName", + "src": "573:4:4" + } + ], + "id": 2684, + "name": "VariableDeclaration", + "src": "573:20:4" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "totalSupply", + "referencedDeclaration": 4207, + "type": "function () view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "reputationSystem", + "referencedDeclaration": 68, + "type": "contract Reputation" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 143, + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)", + "value": "parameters" + }, + "id": 2685, + "name": "Identifier", + "src": "596:10:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 88, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2678, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 2686, + "name": "Identifier", + "src": "607:8:4" + } + ], + "id": 2687, + "name": "MemberAccess", + "src": "607:19:4" + } + ], + "id": 2688, + "name": "IndexAccess", + "src": "596:31:4" + } + ], + "id": 2689, + "name": "MemberAccess", + "src": "596:48:4" + } + ], + "id": 2690, + "name": "MemberAccess", + "src": "596:60:4" + } + ], + "id": 2691, + "name": "FunctionCall", + "src": "596:62:4" + } + ], + "id": 2692, + "name": "VariableDeclarationStatement", + "src": "573:85:4" + }, + { + "attributes": { + "assignments": [ + 2694 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "precReq", + "scope": 2780, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2693, + "name": "ElementaryTypeName", + "src": "669:4:4" + } + ], + "id": 2694, + "name": "VariableDeclaration", + "src": "669:12:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "precReq", + "referencedDeclaration": 70, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct AbsoluteVote.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 143, + "type": "mapping(bytes32 => struct AbsoluteVote.Parameters storage ref)", + "value": "parameters" + }, + "id": 2695, + "name": "Identifier", + "src": "684:10:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 88, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2678, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 2696, + "name": "Identifier", + "src": "695:8:4" + } + ], + "id": 2697, + "name": "MemberAccess", + "src": "695:19:4" + } + ], + "id": 2698, + "name": "IndexAccess", + "src": "684:31:4" + } + ], + "id": 2699, + "name": "MemberAccess", + "src": "684:39:4" + } + ], + "id": 2700, + "name": "VariableDeclarationStatement", + "src": "669:54:4" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalVotes", + "referencedDeclaration": 90, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2678, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 2701, + "name": "Identifier", + "src": "784:8:4" + } + ], + "id": 2702, + "name": "MemberAccess", + "src": "784:19:4" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "/", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "*", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2684, + "type": "uint256", + "value": "totalReputation" + }, + "id": 2703, + "name": "Identifier", + "src": "806:15:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2694, + "type": "uint256", + "value": "precReq" + }, + "id": 2704, + "name": "Identifier", + "src": "822:7:4" + } + ], + "id": 2705, + "name": "BinaryOperation", + "src": "806:23:4" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "313030", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 100", + "value": "100" + }, + "id": 2706, + "name": "Literal", + "src": "830:3:4" + } + ], + "id": 2707, + "name": "BinaryOperation", + "src": "806:27:4" + } + ], + "id": 2708, + "name": "BinaryOperation", + "src": "784:49:4" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "max", + "scope": 2780, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2709, + "name": "ElementaryTypeName", + "src": "850:4:4" + } + ], + "id": 2710, + "name": "VariableDeclaration", + "src": "850:8:4" + } + ], + "id": 2711, + "name": "VariableDeclarationStatement", + "src": "850:8:4" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "maxInd", + "scope": 2780, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2712, + "name": "ElementaryTypeName", + "src": "873:4:4" + } + ], + "id": 2713, + "name": "VariableDeclaration", + "src": "873:11:4" + } + ], + "id": 2714, + "name": "VariableDeclarationStatement", + "src": "873:11:4" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 2716 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 2780, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 2715, + "name": "ElementaryTypeName", + "src": "904:4:4" + } + ], + "id": 2716, + "name": "VariableDeclaration", + "src": "904:8:4" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 2717, + "name": "Literal", + "src": "915:1:4" + } + ], + "id": 2718, + "name": "VariableDeclarationStatement", + "src": "904:12:4" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2716, + "type": "uint256", + "value": "cnt" + }, + "id": 2719, + "name": "Identifier", + "src": "918:3:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfChoices", + "referencedDeclaration": 84, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2678, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 2720, + "name": "Identifier", + "src": "923:8:4" + } + ], + "id": 2721, + "name": "MemberAccess", + "src": "923:21:4" + } + ], + "id": 2722, + "name": "BinaryOperation", + "src": "918:26:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2716, + "type": "uint256", + "value": "cnt" + }, + "id": 2723, + "name": "Identifier", + "src": "946:3:4" + } + ], + "id": 2724, + "name": "UnaryOperation", + "src": "946:5:4" + } + ], + "id": 2725, + "name": "ExpressionStatement", + "src": "946:5:4" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 94, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2678, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 2726, + "name": "Identifier", + "src": "976:8:4" + } + ], + "id": 2727, + "name": "MemberAccess", + "src": "976:14:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2716, + "type": "uint256", + "value": "cnt" + }, + "id": 2728, + "name": "Identifier", + "src": "991:3:4" + } + ], + "id": 2729, + "name": "IndexAccess", + "src": "976:19:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2710, + "type": "uint256", + "value": "max" + }, + "id": 2730, + "name": "Identifier", + "src": "998:3:4" + } + ], + "id": 2731, + "name": "BinaryOperation", + "src": "976:25:4" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2710, + "type": "uint256", + "value": "max" + }, + "id": 2732, + "name": "Identifier", + "src": "1026:3:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "votes", + "referencedDeclaration": 94, + "type": "mapping(uint256 => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2678, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 2733, + "name": "Identifier", + "src": "1032:8:4" + } + ], + "id": 2734, + "name": "MemberAccess", + "src": "1032:14:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2716, + "type": "uint256", + "value": "cnt" + }, + "id": 2735, + "name": "Identifier", + "src": "1047:3:4" + } + ], + "id": 2736, + "name": "IndexAccess", + "src": "1032:19:4" + } + ], + "id": 2737, + "name": "Assignment", + "src": "1026:25:4" + } + ], + "id": 2738, + "name": "ExpressionStatement", + "src": "1026:25:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2713, + "type": "uint256", + "value": "maxInd" + }, + "id": 2739, + "name": "Identifier", + "src": "1074:6:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2716, + "type": "uint256", + "value": "cnt" + }, + "id": 2740, + "name": "Identifier", + "src": "1083:3:4" + } + ], + "id": 2741, + "name": "Assignment", + "src": "1074:12:4" + } + ], + "id": 2742, + "name": "ExpressionStatement", + "src": "1074:12:4" + } + ], + "id": 2743, + "name": "Block", + "src": "1003:103:4" + } + ], + "id": 2744, + "name": "IfStatement", + "src": "972:134:4" + } + ], + "id": 2745, + "name": "Block", + "src": "953:168:4" + } + ], + "id": 2746, + "name": "ForStatement", + "src": "899:222:4" + }, + { + "attributes": { + "assignments": [ + 2748 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "tmpProposal", + "scope": 2780, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct AbsoluteVote.Proposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Proposal", + "referencedDeclaration": 101, + "type": "struct AbsoluteVote.Proposal storage pointer" + }, + "id": 2747, + "name": "UserDefinedTypeName", + "src": "1135:8:4" + } + ], + "id": 2748, + "name": "VariableDeclaration", + "src": "1135:27:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2678, + "type": "struct AbsoluteVote.Proposal storage pointer", + "value": "proposal" + }, + "id": 2749, + "name": "Identifier", + "src": "1165:8:4" + } + ], + "id": 2750, + "name": "VariableDeclarationStatement", + "src": "1135:38:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct AbsoluteVote.Proposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 147, + "type": "mapping(bytes32 => struct AbsoluteVote.Proposal storage ref)", + "value": "proposals" + }, + "id": 2751, + "name": "Identifier", + "src": "1195:9:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2669, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2752, + "name": "Identifier", + "src": "1205:11:4" + } + ], + "id": 2753, + "name": "IndexAccess", + "src": "1195:22:4" + } + ], + "id": 2754, + "name": "UnaryOperation", + "src": "1188:29:4" + } + ], + "id": 2755, + "name": "ExpressionStatement", + "src": "1188:29:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 121, + "type": "function (bytes32,uint256)", + "value": "LogExecuteProposal" + }, + "id": 2756, + "name": "Identifier", + "src": "1232:18:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2669, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2757, + "name": "Identifier", + "src": "1251:11:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2713, + "type": "uint256", + "value": "maxInd" + }, + "id": 2758, + "name": "Identifier", + "src": "1264:6:4" + } + ], + "id": 2759, + "name": "FunctionCall", + "src": "1232:39:4" + } + ], + "id": 2760, + "name": "ExpressionStatement", + "src": "1232:39:4" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "execute", + "referencedDeclaration": 5154, + "type": "function (bytes32,address,int256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "executable", + "referencedDeclaration": 86, + "type": "contract ExecutableInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2748, + "type": "struct AbsoluteVote.Proposal memory", + "value": "tmpProposal" + }, + "id": 2761, + "name": "Identifier", + "src": "1287:11:4" + } + ], + "id": 2762, + "name": "MemberAccess", + "src": "1287:22:4" + } + ], + "id": 2763, + "name": "TupleExpression", + "src": "1286:24:4" + } + ], + "id": 2764, + "name": "MemberAccess", + "src": "1286:32:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2669, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 2765, + "name": "Identifier", + "src": "1319:11:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "avatar", + "referencedDeclaration": 82, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2748, + "type": "struct AbsoluteVote.Proposal memory", + "value": "tmpProposal" + }, + "id": 2766, + "name": "Identifier", + "src": "1332:11:4" + } + ], + "id": 2767, + "name": "MemberAccess", + "src": "1332:18:4" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "int256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(int256)", + "value": "int" + }, + "id": 2768, + "name": "ElementaryTypeNameExpression", + "src": "1352:3:4" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2713, + "type": "uint256", + "value": "maxInd" + }, + "id": 2769, + "name": "Identifier", + "src": "1356:6:4" + } + ], + "id": 2770, + "name": "FunctionCall", + "src": "1352:11:4" + } + ], + "id": 2771, + "name": "FunctionCall", + "src": "1286:78:4" + } + ], + "id": 2772, + "name": "ExpressionStatement", + "src": "1286:78:4" + }, + { + "attributes": { + "functionReturnParameters": 2676 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 2773, + "name": "Literal", + "src": "1386:4:4" + } + ], + "id": 2774, + "name": "Return", + "src": "1379:11:4" + } + ], + "id": 2775, + "name": "Block", + "src": "835:567:4" + } + ], + "id": 2776, + "name": "IfStatement", + "src": "780:622:4" + }, + { + "attributes": { + "functionReturnParameters": 2676 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 2777, + "name": "Literal", + "src": "1419:5:4" + } + ], + "id": 2778, + "name": "Return", + "src": "1412:12:4" + } + ], + "id": 2779, + "name": "Block", + "src": "499:933:4" + } + ], + "id": 2780, + "name": "FunctionDefinition", + "src": "419:1013:4" + } + ], + "id": 2781, + "name": "ContractDefinition", + "src": "136:1299:4" + } + ], + "id": 2782, + "name": "SourceUnit", + "src": "0:1437:4" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.826Z" +} \ No newline at end of file diff --git a/contracts/Reputation.json b/contracts/Reputation.json new file mode 100644 index 000000000..da19f572b --- /dev/null +++ b/contracts/Reputation.json @@ -0,0 +1,2455 @@ +{ + "contractName": "Reputation", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "decimals", + "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": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_amount", + "type": "uint256" + } + ], + "name": "setReputation", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "reputationOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_amount", + "type": "int256" + } + ], + "name": "mint", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "amount", + "type": "int256" + } + ], + "name": "Mint", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x60606040526012600355341561001457600080fd5b60008054600160a060020a033316600160a060020a0319909116811782558152600160205260408120819055600255610459806100526000396000f3006060604052600436106100825763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd8114610087578063313ce567146100ac5780638da5cb5b146100bf578063b120c16a146100ee578063db89c04414610124578063f2fde38b14610143578063fd9bf3aa14610164575b600080fd5b341561009257600080fd5b61009a610186565b60405190815260200160405180910390f35b34156100b757600080fd5b61009a61018c565b34156100ca57600080fd5b6100d2610192565b604051600160a060020a03909116815260200160405180910390f35b34156100f957600080fd5b610110600160a060020a03600435166024356101a1565b604051901515815260200160405180910390f35b341561012f57600080fd5b61009a600160a060020a0360043516610222565b341561014e57600080fd5b610162600160a060020a036004351661023d565b005b341561016f57600080fd5b610110600160a060020a03600435166024356102d8565b60025481565b60035481565b600054600160a060020a031681565b6000805433600160a060020a039081169116146101bd57600080fd5b600160a060020a0383166000908152600160205260409020546002546101fa9184916101ee9163ffffffff61040516565b9063ffffffff61041716565b60025550600160a060020a038216600090815260016020819052604090912082905592915050565b600160a060020a031660009081526001602052604090205490565b60005433600160a060020a0390811691161461025857600080fd5b600160a060020a038116151561026d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054819033600160a060020a039081169116146102f657600080fd5b6000831261035e57506002548290610314908263ffffffff61041716565b600255600160a060020a038416600090815260016020526040902054610340908263ffffffff61041716565b600160a060020a0385166000908152600160205260409020556103be565b50600254600019830290610378908263ffffffff61040516565b600255600160a060020a0384166000908152600160205260409020546103a4908263ffffffff61040516565b600160a060020a0385166000908152600160205260409020555b83600160a060020a03167f6f734b566c5e1cb976d9c7fba184b96a698a18931dd345168b16db217f8df0dd8460405190815260200160405180910390a25060019392505050565b60008282111561041157fe5b50900390565b60008282018381101561042657fe5b93925050505600a165627a7a723058201a9bea40831b947da943a43e70f9b6a2089d92e54654732959bfd2903683f7ab0029", + "deployedBytecode": "0x6060604052600436106100825763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166318160ddd8114610087578063313ce567146100ac5780638da5cb5b146100bf578063b120c16a146100ee578063db89c04414610124578063f2fde38b14610143578063fd9bf3aa14610164575b600080fd5b341561009257600080fd5b61009a610186565b60405190815260200160405180910390f35b34156100b757600080fd5b61009a61018c565b34156100ca57600080fd5b6100d2610192565b604051600160a060020a03909116815260200160405180910390f35b34156100f957600080fd5b610110600160a060020a03600435166024356101a1565b604051901515815260200160405180910390f35b341561012f57600080fd5b61009a600160a060020a0360043516610222565b341561014e57600080fd5b610162600160a060020a036004351661023d565b005b341561016f57600080fd5b610110600160a060020a03600435166024356102d8565b60025481565b60035481565b600054600160a060020a031681565b6000805433600160a060020a039081169116146101bd57600080fd5b600160a060020a0383166000908152600160205260409020546002546101fa9184916101ee9163ffffffff61040516565b9063ffffffff61041716565b60025550600160a060020a038216600090815260016020819052604090912082905592915050565b600160a060020a031660009081526001602052604090205490565b60005433600160a060020a0390811691161461025857600080fd5b600160a060020a038116151561026d57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008054819033600160a060020a039081169116146102f657600080fd5b6000831261035e57506002548290610314908263ffffffff61041716565b600255600160a060020a038416600090815260016020526040902054610340908263ffffffff61041716565b600160a060020a0385166000908152600160205260409020556103be565b50600254600019830290610378908263ffffffff61040516565b600255600160a060020a0384166000908152600160205260409020546103a4908263ffffffff61040516565b600160a060020a0385166000908152600160205260409020555b83600160a060020a03167f6f734b566c5e1cb976d9c7fba184b96a698a18931dd345168b16db217f8df0dd8460405190815260200160405180910390a25060019392505050565b60008282111561041157fe5b50900390565b60008282018381101561042657fe5b93925050505600a165627a7a723058201a9bea40831b947da943a43e70f9b6a2089d92e54654732959bfd2903683f7ab0029", + "sourceMap": "320:2278:8:-;;;490:2;467:25;;651:98;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;509:10:29;501:18;-1:-1:-1;;;;;;501:18:29;;;;;;;691:20:8;;501:18:29;691:20:8;;;;;:24;;;726:11;:15;320:2278;;;;;;", + "deployedSourceMap": "320:2278:8:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;434:26;;;;;;;;;;;;;;;;;;;;;;;;;;;467:25;;;;;;;;;;;;238:20:29;;;;;;;;;;;;;;;-1:-1:-1;;;;;238:20:29;;;;;;;;;;;;;;;2330:265:8;;;;;;;;;;;;-1:-1:-1;;;;;2330:265:8;;;;;;;;;;;;;;;;;;;;;;913:122;;;;;;;;;;;;-1:-1:-1;;;;;913:122:8;;;834:169:29;;;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;1393:645:8;;;;;;;;;;;;-1:-1:-1;;;;;1393:645:8;;;;;434:26;;;;:::o;467:25::-;;;;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;2330:265:8:-;2409:4;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;2503:13:8;;;;;;-1:-1:-1;2503:13:8;;;;;;-1:-1:-1;2487:11:8;2486:45;;2523:7;;2487:30;;:15;:30::i;:::-;2486:36;:45;:36;:45;:::i;:::-;2472:11;:59;-1:-1:-1;;;;;;2542:13:8;;;;;;;;-1:-1:-1;2542:13:8;;;;;;;;:23;;;;-1:-1:-1;2330:265:8:o;913:122::-;-1:-1:-1;;;;;1011:16:8;976:15;1011:16;;;-1:-1:-1;1011:16:8;;;;;;;913:122::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;1393:645:8:-;1462:4;654:5:29;;1462:4:8;;640:10:29;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1633:1:8;1622:12;;1617:363;;-1:-1:-1;1706:11:8;;1669:7;;1706:26;;1669:7;1706:26;:15;:26;:::i;:::-;1692:11;:40;-1:-1:-1;;;;;1763:13:8;;;;;;-1:-1:-1;1763:13:8;;;;;;:28;;1781:9;1763:17;:28::i;:::-;-1:-1:-1;;;;;1747:13:8;;;;;;-1:-1:-1;1747:13:8;;;;;:44;1617:363;;;-1:-1:-1;1883:11:8;;-1:-1:-1;;1841:12:8;;;1883:26;;1841:12;1883:15;:26::i;:::-;1869:11;:40;-1:-1:-1;;;;;1940:13:8;;;;;;-1:-1:-1;1940:13:8;;;;;;:28;;1958:9;1940:17;:28::i;:::-;-1:-1:-1;;;;;1924:13:8;;;;;;-1:-1:-1;1924:13:8;;;;;:44;1617:363;-1:-1:-1;;;;;1990:18:8;;;2000:7;1990:18;;;;;;;;;;;;;;-1:-1:-1;2026:4:8;;1393:645;-1:-1:-1;;;1393:645:8:o;584:110:28:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;698:129::-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:28:o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\r\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\r\n\r\n\r\n/**\r\n * @title Simple static reputation storage\r\n * @dev The reputation is represented by the owner of the contract\r\n * which is usually the controller's address\r\n */\r\n\r\ncontract Reputation is Ownable {\r\n using SafeMath for uint;\r\n\r\n mapping (address => uint256) balances;\r\n uint256 public totalSupply;\r\n uint public decimals = 18;\r\n\r\n event Mint(address indexed to, int256 amount);\r\n\r\n /**\r\n * @dev the constructor initiate a reputation system with no supply at all\r\n */\r\n function Reputation() public {\r\n balances[msg.sender] = 0;\r\n totalSupply = 0;\r\n }\r\n\r\n /**\r\n * @dev return the reputation amount of a given owner\r\n * @param _owner an address of the owner which we want to get his reputation\r\n */\r\n function reputationOf(address _owner) public constant returns (uint256 balance) {\r\n return balances[_owner];\r\n }\r\n\r\n /**\r\n * @dev adding/reducing reputation of a given address, updating the total supply,\r\n * and triggering an event of the operation\r\n * @param _to the address which we gives/takes reputation amount\r\n * @param _amount the reputation amount to be added/reduced\r\n * @return bool which represents a successful of the function\r\n */\r\n function mint(address _to, int256 _amount) public onlyOwner returns (bool) {\r\n // create new tokens and add them to the given account\r\n uint absAmount; // allow to reduce reputation also for non owner\r\n if ( _amount >= 0 ) {\r\n absAmount = uint(_amount);\r\n totalSupply = totalSupply.add(absAmount);\r\n balances[_to] = balances[_to].add(absAmount);\r\n } else {\r\n absAmount = uint((-1)*_amount);\r\n totalSupply = totalSupply.sub(absAmount);\r\n balances[_to] = balances[_to].sub(absAmount);\r\n }\r\n Mint(_to, _amount);\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev setting reputation amount for a given address, updating the total supply as well\r\n * @param _to the address which we set it's reputation amount\r\n * @param _amount the new reputation amount to be setted\r\n * @return bool which represents a success\r\n */\r\n function setReputation(address _to, uint256 _amount) public onlyOwner returns (bool) {\r\n // set the balance of _to to _amount\r\n totalSupply = (totalSupply.sub(balances[_to])).add(_amount);\r\n balances[_to] = _amount;\r\n return true;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\controller\\Reputation.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Reputation.sol", + "exportedSymbols": { + "Reputation": [ + 4357 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 4194, + "name": "PragmaDirective", + "src": "0:24:8" + }, + { + "attributes": { + "SourceUnit": 9141, + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "scope": 4358, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4195, + "name": "ImportDirective", + "src": "28:59:8" + }, + { + "attributes": { + "SourceUnit": 9085, + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "scope": 4358, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4196, + "name": "ImportDirective", + "src": "89:55:8" + }, + { + "attributes": { + "contractDependencies": [ + 9140 + ], + "contractKind": "contract", + "documentation": "@title Simple static reputation storage\r\n@dev The reputation is represented by the owner of the contract\r\nwhich is usually the controller's address\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 4357, + 9140 + ], + "name": "Reputation", + "scope": 4358 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 9140, + "type": "contract Ownable" + }, + "id": 4197, + "name": "UserDefinedTypeName", + "src": "343:7:8" + } + ], + "id": 4198, + "name": "InheritanceSpecifier", + "src": "343:7:8" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 9084, + "type": "library SafeMath" + }, + "id": 4199, + "name": "UserDefinedTypeName", + "src": "364:8:8" + }, + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4200, + "name": "ElementaryTypeName", + "src": "377:4:8" + } + ], + "id": 4201, + "name": "UsingForDirective", + "src": "358:24:8" + }, + { + "attributes": { + "constant": false, + "name": "balances", + "scope": 4357, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => uint256)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4202, + "name": "ElementaryTypeName", + "src": "399:7:8" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 4203, + "name": "ElementaryTypeName", + "src": "410:7:8" + } + ], + "id": 4204, + "name": "Mapping", + "src": "390:28:8" + } + ], + "id": 4205, + "name": "VariableDeclaration", + "src": "390:37:8" + }, + { + "attributes": { + "constant": false, + "name": "totalSupply", + "scope": 4357, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 4206, + "name": "ElementaryTypeName", + "src": "434:7:8" + } + ], + "id": 4207, + "name": "VariableDeclaration", + "src": "434:26:8" + }, + { + "attributes": { + "constant": false, + "name": "decimals", + "scope": 4357, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4208, + "name": "ElementaryTypeName", + "src": "467:4:8" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "3138", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 18", + "value": "18" + }, + "id": 4209, + "name": "Literal", + "src": "490:2:8" + } + ], + "id": 4210, + "name": "VariableDeclaration", + "src": "467:25:8" + }, + { + "attributes": { + "anonymous": false, + "name": "Mint" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "to", + "scope": 4216, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4211, + "name": "ElementaryTypeName", + "src": "512:7:8" + } + ], + "id": 4212, + "name": "VariableDeclaration", + "src": "512:18:8" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "amount", + "scope": 4216, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int256", + "type": "int256" + }, + "id": 4213, + "name": "ElementaryTypeName", + "src": "532:6:8" + } + ], + "id": 4214, + "name": "VariableDeclaration", + "src": "532:13:8" + } + ], + "id": 4215, + "name": "ParameterList", + "src": "511:35:8" + } + ], + "id": 4216, + "name": "EventDefinition", + "src": "501:46:8" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "Reputation", + "payable": false, + "scope": 4357, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 4217, + "name": "ParameterList", + "src": "670:2:8" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 4218, + "name": "ParameterList", + "src": "680:0:8" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4205, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 4219, + "name": "Identifier", + "src": "691:8:8" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 4220, + "name": "Identifier", + "src": "700:3:8" + } + ], + "id": 4221, + "name": "MemberAccess", + "src": "700:10:8" + } + ], + "id": 4222, + "name": "IndexAccess", + "src": "691:20:8" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4223, + "name": "Literal", + "src": "714:1:8" + } + ], + "id": 4224, + "name": "Assignment", + "src": "691:24:8" + } + ], + "id": 4225, + "name": "ExpressionStatement", + "src": "691:24:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4207, + "type": "uint256", + "value": "totalSupply" + }, + "id": 4226, + "name": "Identifier", + "src": "726:11:8" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4227, + "name": "Literal", + "src": "740:1:8" + } + ], + "id": 4228, + "name": "Assignment", + "src": "726:15:8" + } + ], + "id": 4229, + "name": "ExpressionStatement", + "src": "726:15:8" + } + ], + "id": 4230, + "name": "Block", + "src": "680:69:8" + } + ], + "id": 4231, + "name": "FunctionDefinition", + "src": "651:98:8" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "reputationOf", + "payable": false, + "scope": 4357, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_owner", + "scope": 4243, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4232, + "name": "ElementaryTypeName", + "src": "935:7:8" + } + ], + "id": 4233, + "name": "VariableDeclaration", + "src": "935:14:8" + } + ], + "id": 4234, + "name": "ParameterList", + "src": "934:16:8" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "balance", + "scope": 4243, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 4235, + "name": "ElementaryTypeName", + "src": "976:7:8" + } + ], + "id": 4236, + "name": "VariableDeclaration", + "src": "976:15:8" + } + ], + "id": 4237, + "name": "ParameterList", + "src": "975:17:8" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 4237 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4205, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 4238, + "name": "Identifier", + "src": "1011:8:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4233, + "type": "address", + "value": "_owner" + }, + "id": 4239, + "name": "Identifier", + "src": "1020:6:8" + } + ], + "id": 4240, + "name": "IndexAccess", + "src": "1011:16:8" + } + ], + "id": 4241, + "name": "Return", + "src": "1004:23:8" + } + ], + "id": 4242, + "name": "Block", + "src": "993:42:8" + } + ], + "id": 4243, + "name": "FunctionDefinition", + "src": "913:122:8" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "mint", + "payable": false, + "scope": 4357, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 4323, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4244, + "name": "ElementaryTypeName", + "src": "1407:7:8" + } + ], + "id": 4245, + "name": "VariableDeclaration", + "src": "1407:11:8" + }, + { + "attributes": { + "constant": false, + "name": "_amount", + "scope": 4323, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int256", + "type": "int256" + }, + "id": 4246, + "name": "ElementaryTypeName", + "src": "1420:6:8" + } + ], + "id": 4247, + "name": "VariableDeclaration", + "src": "1420:14:8" + } + ], + "id": 4248, + "name": "ParameterList", + "src": "1406:29:8" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4323, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4251, + "name": "ElementaryTypeName", + "src": "1462:4:8" + } + ], + "id": 4252, + "name": "VariableDeclaration", + "src": "1462:4:8" + } + ], + "id": 4253, + "name": "ParameterList", + "src": "1461:6:8" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 4249, + "name": "Identifier", + "src": "1443:9:8" + } + ], + "id": 4250, + "name": "ModifierInvocation", + "src": "1443:9:8" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "absAmount", + "scope": 4323, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4254, + "name": "ElementaryTypeName", + "src": "1543:4:8" + } + ], + "id": 4255, + "name": "VariableDeclaration", + "src": "1543:14:8" + } + ], + "id": 4256, + "name": "VariableDeclarationStatement", + "src": "1543:14:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4247, + "type": "int256", + "value": "_amount" + }, + "id": 4257, + "name": "Identifier", + "src": "1622:7:8" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4258, + "name": "Literal", + "src": "1633:1:8" + } + ], + "id": 4259, + "name": "BinaryOperation", + "src": "1622:12:8" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4255, + "type": "uint256", + "value": "absAmount" + }, + "id": 4260, + "name": "Identifier", + "src": "1652:9:8" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(uint256)", + "value": "uint" + }, + "id": 4261, + "name": "ElementaryTypeNameExpression", + "src": "1664:4:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4247, + "type": "int256", + "value": "_amount" + }, + "id": 4262, + "name": "Identifier", + "src": "1669:7:8" + } + ], + "id": 4263, + "name": "FunctionCall", + "src": "1664:13:8" + } + ], + "id": 4264, + "name": "Assignment", + "src": "1652:25:8" + } + ], + "id": 4265, + "name": "ExpressionStatement", + "src": "1652:25:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4207, + "type": "uint256", + "value": "totalSupply" + }, + "id": 4266, + "name": "Identifier", + "src": "1692:11:8" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4207, + "type": "uint256", + "value": "totalSupply" + }, + "id": 4267, + "name": "Identifier", + "src": "1706:11:8" + } + ], + "id": 4268, + "name": "MemberAccess", + "src": "1706:15:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4255, + "type": "uint256", + "value": "absAmount" + }, + "id": 4269, + "name": "Identifier", + "src": "1722:9:8" + } + ], + "id": 4270, + "name": "FunctionCall", + "src": "1706:26:8" + } + ], + "id": 4271, + "name": "Assignment", + "src": "1692:40:8" + } + ], + "id": 4272, + "name": "ExpressionStatement", + "src": "1692:40:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4205, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 4273, + "name": "Identifier", + "src": "1747:8:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4245, + "type": "address", + "value": "_to" + }, + "id": 4274, + "name": "Identifier", + "src": "1756:3:8" + } + ], + "id": 4275, + "name": "IndexAccess", + "src": "1747:13:8" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4205, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 4276, + "name": "Identifier", + "src": "1763:8:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4245, + "type": "address", + "value": "_to" + }, + "id": 4277, + "name": "Identifier", + "src": "1772:3:8" + } + ], + "id": 4278, + "name": "IndexAccess", + "src": "1763:13:8" + } + ], + "id": 4279, + "name": "MemberAccess", + "src": "1763:17:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4255, + "type": "uint256", + "value": "absAmount" + }, + "id": 4280, + "name": "Identifier", + "src": "1781:9:8" + } + ], + "id": 4281, + "name": "FunctionCall", + "src": "1763:28:8" + } + ], + "id": 4282, + "name": "Assignment", + "src": "1747:44:8" + } + ], + "id": 4283, + "name": "ExpressionStatement", + "src": "1747:44:8" + } + ], + "id": 4284, + "name": "Block", + "src": "1637:166:8" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4255, + "type": "uint256", + "value": "absAmount" + }, + "id": 4285, + "name": "Identifier", + "src": "1824:9:8" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(uint256)", + "value": "uint" + }, + "id": 4286, + "name": "ElementaryTypeNameExpression", + "src": "1836:4:8" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "*", + "type": "int256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "int_const -1" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "operator": "-", + "prefix": true, + "type": "int_const -1" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 4287, + "name": "Literal", + "src": "1843:1:8" + } + ], + "id": 4288, + "name": "UnaryOperation", + "src": "1842:2:8" + } + ], + "id": 4289, + "name": "TupleExpression", + "src": "1841:4:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4247, + "type": "int256", + "value": "_amount" + }, + "id": 4290, + "name": "Identifier", + "src": "1846:7:8" + } + ], + "id": 4291, + "name": "BinaryOperation", + "src": "1841:12:8" + } + ], + "id": 4292, + "name": "FunctionCall", + "src": "1836:18:8" + } + ], + "id": 4293, + "name": "Assignment", + "src": "1824:30:8" + } + ], + "id": 4294, + "name": "ExpressionStatement", + "src": "1824:30:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4207, + "type": "uint256", + "value": "totalSupply" + }, + "id": 4295, + "name": "Identifier", + "src": "1869:11:8" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4207, + "type": "uint256", + "value": "totalSupply" + }, + "id": 4296, + "name": "Identifier", + "src": "1883:11:8" + } + ], + "id": 4297, + "name": "MemberAccess", + "src": "1883:15:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4255, + "type": "uint256", + "value": "absAmount" + }, + "id": 4298, + "name": "Identifier", + "src": "1899:9:8" + } + ], + "id": 4299, + "name": "FunctionCall", + "src": "1883:26:8" + } + ], + "id": 4300, + "name": "Assignment", + "src": "1869:40:8" + } + ], + "id": 4301, + "name": "ExpressionStatement", + "src": "1869:40:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4205, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 4302, + "name": "Identifier", + "src": "1924:8:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4245, + "type": "address", + "value": "_to" + }, + "id": 4303, + "name": "Identifier", + "src": "1933:3:8" + } + ], + "id": 4304, + "name": "IndexAccess", + "src": "1924:13:8" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4205, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 4305, + "name": "Identifier", + "src": "1940:8:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4245, + "type": "address", + "value": "_to" + }, + "id": 4306, + "name": "Identifier", + "src": "1949:3:8" + } + ], + "id": 4307, + "name": "IndexAccess", + "src": "1940:13:8" + } + ], + "id": 4308, + "name": "MemberAccess", + "src": "1940:17:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4255, + "type": "uint256", + "value": "absAmount" + }, + "id": 4309, + "name": "Identifier", + "src": "1958:9:8" + } + ], + "id": 4310, + "name": "FunctionCall", + "src": "1940:28:8" + } + ], + "id": 4311, + "name": "Assignment", + "src": "1924:44:8" + } + ], + "id": 4312, + "name": "ExpressionStatement", + "src": "1924:44:8" + } + ], + "id": 4313, + "name": "Block", + "src": "1809:171:8" + } + ], + "id": 4314, + "name": "IfStatement", + "src": "1617:363:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4216, + "type": "function (address,int256)", + "value": "Mint" + }, + "id": 4315, + "name": "Identifier", + "src": "1990:4:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4245, + "type": "address", + "value": "_to" + }, + "id": 4316, + "name": "Identifier", + "src": "1995:3:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4247, + "type": "int256", + "value": "_amount" + }, + "id": 4317, + "name": "Identifier", + "src": "2000:7:8" + } + ], + "id": 4318, + "name": "FunctionCall", + "src": "1990:18:8" + } + ], + "id": 4319, + "name": "ExpressionStatement", + "src": "1990:18:8" + }, + { + "attributes": { + "functionReturnParameters": 4253 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 4320, + "name": "Literal", + "src": "2026:4:8" + } + ], + "id": 4321, + "name": "Return", + "src": "2019:11:8" + } + ], + "id": 4322, + "name": "Block", + "src": "1468:570:8" + } + ], + "id": 4323, + "name": "FunctionDefinition", + "src": "1393:645:8" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "setReputation", + "payable": false, + "scope": 4357, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 4356, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4324, + "name": "ElementaryTypeName", + "src": "2353:7:8" + } + ], + "id": 4325, + "name": "VariableDeclaration", + "src": "2353:11:8" + }, + { + "attributes": { + "constant": false, + "name": "_amount", + "scope": 4356, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 4326, + "name": "ElementaryTypeName", + "src": "2366:7:8" + } + ], + "id": 4327, + "name": "VariableDeclaration", + "src": "2366:15:8" + } + ], + "id": 4328, + "name": "ParameterList", + "src": "2352:30:8" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4356, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4331, + "name": "ElementaryTypeName", + "src": "2409:4:8" + } + ], + "id": 4332, + "name": "VariableDeclaration", + "src": "2409:4:8" + } + ], + "id": 4333, + "name": "ParameterList", + "src": "2408:6:8" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 4329, + "name": "Identifier", + "src": "2390:9:8" + } + ], + "id": 4330, + "name": "ModifierInvocation", + "src": "2390:9:8" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4207, + "type": "uint256", + "value": "totalSupply" + }, + "id": 4334, + "name": "Identifier", + "src": "2472:11:8" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4207, + "type": "uint256", + "value": "totalSupply" + }, + "id": 4335, + "name": "Identifier", + "src": "2487:11:8" + } + ], + "id": 4336, + "name": "MemberAccess", + "src": "2487:15:8" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4205, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 4337, + "name": "Identifier", + "src": "2503:8:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4325, + "type": "address", + "value": "_to" + }, + "id": 4338, + "name": "Identifier", + "src": "2512:3:8" + } + ], + "id": 4339, + "name": "IndexAccess", + "src": "2503:13:8" + } + ], + "id": 4340, + "name": "FunctionCall", + "src": "2487:30:8" + } + ], + "id": 4341, + "name": "TupleExpression", + "src": "2486:32:8" + } + ], + "id": 4342, + "name": "MemberAccess", + "src": "2486:36:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4327, + "type": "uint256", + "value": "_amount" + }, + "id": 4343, + "name": "Identifier", + "src": "2523:7:8" + } + ], + "id": 4344, + "name": "FunctionCall", + "src": "2486:45:8" + } + ], + "id": 4345, + "name": "Assignment", + "src": "2472:59:8" + } + ], + "id": 4346, + "name": "ExpressionStatement", + "src": "2472:59:8" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4205, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 4347, + "name": "Identifier", + "src": "2542:8:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4325, + "type": "address", + "value": "_to" + }, + "id": 4348, + "name": "Identifier", + "src": "2551:3:8" + } + ], + "id": 4349, + "name": "IndexAccess", + "src": "2542:13:8" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4327, + "type": "uint256", + "value": "_amount" + }, + "id": 4350, + "name": "Identifier", + "src": "2558:7:8" + } + ], + "id": 4351, + "name": "Assignment", + "src": "2542:23:8" + } + ], + "id": 4352, + "name": "ExpressionStatement", + "src": "2542:23:8" + }, + { + "attributes": { + "functionReturnParameters": 4333 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 4353, + "name": "Literal", + "src": "2583:4:8" + } + ], + "id": 4354, + "name": "Return", + "src": "2576:11:8" + } + ], + "id": 4355, + "name": "Block", + "src": "2415:180:8" + } + ], + "id": 4356, + "name": "FunctionDefinition", + "src": "2330:265:8" + } + ], + "id": 4357, + "name": "ContractDefinition", + "src": "320:2278:8" + } + ], + "id": 4358, + "name": "SourceUnit", + "src": "0:2600:8" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.916Z" +} \ No newline at end of file diff --git a/contracts/SafeMath.json b/contracts/SafeMath.json new file mode 100644 index 000000000..736130495 --- /dev/null +++ b/contracts/SafeMath.json @@ -0,0 +1,1347 @@ +{ + "contractName": "SafeMath", + "abi": [], + "bytecode": "0x60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a7230582054a94419d8fd31d732687a0198e35848ee900e33e4deef6dfb088a28afe7727b0029", + "deployedBytecode": "0x6060604052600080fd00a165627a7a7230582054a94419d8fd31d732687a0198e35848ee900e33e4deef6dfb088a28afe7727b0029", + "sourceMap": "117:712:28:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "117:712:28:-;;;;;", + "source": "pragma solidity ^0.4.18;\n\n\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that throw on error\n */\nlibrary SafeMath {\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n if (a == 0) {\n return 0;\n }\n uint256 c = a * b;\n assert(c / a == b);\n return c;\n }\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 c;\n }\n\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n assert(b <= a);\n return a - b;\n }\n\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n assert(c >= a);\n return c;\n }\n}\n", + "sourcePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "ast": { + "attributes": { + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "exportedSymbols": { + "SafeMath": [ + 9084 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 8988, + "name": "PragmaDirective", + "src": "0:24:28" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "library", + "documentation": "@title SafeMath\n@dev Math operations with safety checks that throw on error", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 9084 + ], + "name": "SafeMath", + "scope": 9085 + }, + "children": [ + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "mul", + "payable": false, + "scope": 9084, + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "a", + "scope": 9021, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 8989, + "name": "ElementaryTypeName", + "src": "151:7:28" + } + ], + "id": 8990, + "name": "VariableDeclaration", + "src": "151:9:28" + }, + { + "attributes": { + "constant": false, + "name": "b", + "scope": 9021, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 8991, + "name": "ElementaryTypeName", + "src": "162:7:28" + } + ], + "id": 8992, + "name": "VariableDeclaration", + "src": "162:9:28" + } + ], + "id": 8993, + "name": "ParameterList", + "src": "150:22:28" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9021, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 8994, + "name": "ElementaryTypeName", + "src": "196:7:28" + } + ], + "id": 8995, + "name": "VariableDeclaration", + "src": "196:7:28" + } + ], + "id": 8996, + "name": "ParameterList", + "src": "195:9:28" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8990, + "type": "uint256", + "value": "a" + }, + "id": 8997, + "name": "Identifier", + "src": "215:1:28" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 8998, + "name": "Literal", + "src": "220:1:28" + } + ], + "id": 8999, + "name": "BinaryOperation", + "src": "215:6:28" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 8996 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 9000, + "name": "Literal", + "src": "238:1:28" + } + ], + "id": 9001, + "name": "Return", + "src": "231:8:28" + } + ], + "id": 9002, + "name": "Block", + "src": "223:23:28" + } + ], + "id": 9003, + "name": "IfStatement", + "src": "211:35:28" + }, + { + "attributes": { + "assignments": [ + 9005 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "c", + "scope": 9021, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9004, + "name": "ElementaryTypeName", + "src": "251:7:28" + } + ], + "id": 9005, + "name": "VariableDeclaration", + "src": "251:9:28" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "*", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8990, + "type": "uint256", + "value": "a" + }, + "id": 9006, + "name": "Identifier", + "src": "263:1:28" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8992, + "type": "uint256", + "value": "b" + }, + "id": 9007, + "name": "Identifier", + "src": "267:1:28" + } + ], + "id": 9008, + "name": "BinaryOperation", + "src": "263:5:28" + } + ], + "id": 9009, + "name": "VariableDeclarationStatement", + "src": "251:17:28" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9727, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 9010, + "name": "Identifier", + "src": "274:6:28" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "/", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9005, + "type": "uint256", + "value": "c" + }, + "id": 9011, + "name": "Identifier", + "src": "281:1:28" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8990, + "type": "uint256", + "value": "a" + }, + "id": 9012, + "name": "Identifier", + "src": "285:1:28" + } + ], + "id": 9013, + "name": "BinaryOperation", + "src": "281:5:28" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8992, + "type": "uint256", + "value": "b" + }, + "id": 9014, + "name": "Identifier", + "src": "290:1:28" + } + ], + "id": 9015, + "name": "BinaryOperation", + "src": "281:10:28" + } + ], + "id": 9016, + "name": "FunctionCall", + "src": "274:18:28" + } + ], + "id": 9017, + "name": "ExpressionStatement", + "src": "274:18:28" + }, + { + "attributes": { + "functionReturnParameters": 8996 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9005, + "type": "uint256", + "value": "c" + }, + "id": 9018, + "name": "Identifier", + "src": "305:1:28" + } + ], + "id": 9019, + "name": "Return", + "src": "298:8:28" + } + ], + "id": 9020, + "name": "Block", + "src": "205:106:28" + } + ], + "id": 9021, + "name": "FunctionDefinition", + "src": "138:173:28" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "div", + "payable": false, + "scope": 9084, + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "a", + "scope": 9039, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9022, + "name": "ElementaryTypeName", + "src": "328:7:28" + } + ], + "id": 9023, + "name": "VariableDeclaration", + "src": "328:9:28" + }, + { + "attributes": { + "constant": false, + "name": "b", + "scope": 9039, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9024, + "name": "ElementaryTypeName", + "src": "339:7:28" + } + ], + "id": 9025, + "name": "VariableDeclaration", + "src": "339:9:28" + } + ], + "id": 9026, + "name": "ParameterList", + "src": "327:22:28" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9039, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9027, + "name": "ElementaryTypeName", + "src": "373:7:28" + } + ], + "id": 9028, + "name": "VariableDeclaration", + "src": "373:7:28" + } + ], + "id": 9029, + "name": "ParameterList", + "src": "372:9:28" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 9031 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "c", + "scope": 9039, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9030, + "name": "ElementaryTypeName", + "src": "462:7:28" + } + ], + "id": 9031, + "name": "VariableDeclaration", + "src": "462:9:28" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "/", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9023, + "type": "uint256", + "value": "a" + }, + "id": 9032, + "name": "Identifier", + "src": "474:1:28" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9025, + "type": "uint256", + "value": "b" + }, + "id": 9033, + "name": "Identifier", + "src": "478:1:28" + } + ], + "id": 9034, + "name": "BinaryOperation", + "src": "474:5:28" + } + ], + "id": 9035, + "name": "VariableDeclarationStatement", + "src": "462:17:28" + }, + { + "attributes": { + "functionReturnParameters": 9029 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9031, + "type": "uint256", + "value": "c" + }, + "id": 9036, + "name": "Identifier", + "src": "574:1:28" + } + ], + "id": 9037, + "name": "Return", + "src": "567:8:28" + } + ], + "id": 9038, + "name": "Block", + "src": "382:198:28" + } + ], + "id": 9039, + "name": "FunctionDefinition", + "src": "315:265:28" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "sub", + "payable": false, + "scope": 9084, + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "a", + "scope": 9059, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9040, + "name": "ElementaryTypeName", + "src": "597:7:28" + } + ], + "id": 9041, + "name": "VariableDeclaration", + "src": "597:9:28" + }, + { + "attributes": { + "constant": false, + "name": "b", + "scope": 9059, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9042, + "name": "ElementaryTypeName", + "src": "608:7:28" + } + ], + "id": 9043, + "name": "VariableDeclaration", + "src": "608:9:28" + } + ], + "id": 9044, + "name": "ParameterList", + "src": "596:22:28" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9059, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9045, + "name": "ElementaryTypeName", + "src": "642:7:28" + } + ], + "id": 9046, + "name": "VariableDeclaration", + "src": "642:7:28" + } + ], + "id": 9047, + "name": "ParameterList", + "src": "641:9:28" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9727, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 9048, + "name": "Identifier", + "src": "657:6:28" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9043, + "type": "uint256", + "value": "b" + }, + "id": 9049, + "name": "Identifier", + "src": "664:1:28" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9041, + "type": "uint256", + "value": "a" + }, + "id": 9050, + "name": "Identifier", + "src": "669:1:28" + } + ], + "id": 9051, + "name": "BinaryOperation", + "src": "664:6:28" + } + ], + "id": 9052, + "name": "FunctionCall", + "src": "657:14:28" + } + ], + "id": 9053, + "name": "ExpressionStatement", + "src": "657:14:28" + }, + { + "attributes": { + "functionReturnParameters": 9047 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "-", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9041, + "type": "uint256", + "value": "a" + }, + "id": 9054, + "name": "Identifier", + "src": "684:1:28" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9043, + "type": "uint256", + "value": "b" + }, + "id": 9055, + "name": "Identifier", + "src": "688:1:28" + } + ], + "id": 9056, + "name": "BinaryOperation", + "src": "684:5:28" + } + ], + "id": 9057, + "name": "Return", + "src": "677:12:28" + } + ], + "id": 9058, + "name": "Block", + "src": "651:43:28" + } + ], + "id": 9059, + "name": "FunctionDefinition", + "src": "584:110:28" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "add", + "payable": false, + "scope": 9084, + "stateMutability": "pure", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "a", + "scope": 9083, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9060, + "name": "ElementaryTypeName", + "src": "711:7:28" + } + ], + "id": 9061, + "name": "VariableDeclaration", + "src": "711:9:28" + }, + { + "attributes": { + "constant": false, + "name": "b", + "scope": 9083, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9062, + "name": "ElementaryTypeName", + "src": "722:7:28" + } + ], + "id": 9063, + "name": "VariableDeclaration", + "src": "722:9:28" + } + ], + "id": 9064, + "name": "ParameterList", + "src": "710:22:28" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9083, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9065, + "name": "ElementaryTypeName", + "src": "756:7:28" + } + ], + "id": 9066, + "name": "VariableDeclaration", + "src": "756:7:28" + } + ], + "id": 9067, + "name": "ParameterList", + "src": "755:9:28" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 9069 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "c", + "scope": 9083, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9068, + "name": "ElementaryTypeName", + "src": "771:7:28" + } + ], + "id": 9069, + "name": "VariableDeclaration", + "src": "771:9:28" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9061, + "type": "uint256", + "value": "a" + }, + "id": 9070, + "name": "Identifier", + "src": "783:1:28" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9063, + "type": "uint256", + "value": "b" + }, + "id": 9071, + "name": "Identifier", + "src": "787:1:28" + } + ], + "id": 9072, + "name": "BinaryOperation", + "src": "783:5:28" + } + ], + "id": 9073, + "name": "VariableDeclarationStatement", + "src": "771:17:28" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9727, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 9074, + "name": "Identifier", + "src": "794:6:28" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9069, + "type": "uint256", + "value": "c" + }, + "id": 9075, + "name": "Identifier", + "src": "801:1:28" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9061, + "type": "uint256", + "value": "a" + }, + "id": 9076, + "name": "Identifier", + "src": "806:1:28" + } + ], + "id": 9077, + "name": "BinaryOperation", + "src": "801:6:28" + } + ], + "id": 9078, + "name": "FunctionCall", + "src": "794:14:28" + } + ], + "id": 9079, + "name": "ExpressionStatement", + "src": "794:14:28" + }, + { + "attributes": { + "functionReturnParameters": 9067 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9069, + "type": "uint256", + "value": "c" + }, + "id": 9080, + "name": "Identifier", + "src": "821:1:28" + } + ], + "id": 9081, + "name": "Return", + "src": "814:8:28" + } + ], + "id": 9082, + "name": "Block", + "src": "765:62:28" + } + ], + "id": 9083, + "name": "FunctionDefinition", + "src": "698:129:28" + } + ], + "id": 9084, + "name": "ContractDefinition", + "src": "117:712:28" + } + ], + "id": 9085, + "name": "SourceUnit", + "src": "0:830:28" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.921Z" +} \ No newline at end of file diff --git a/contracts/SchemeRegistrar.json b/contracts/SchemeRegistrar.json new file mode 100644 index 000000000..e32719113 --- /dev/null +++ b/contracts/SchemeRegistrar.json @@ -0,0 +1,8147 @@ +{ + "contractName": "SchemeRegistrar", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "name": "voteRegisterParams", + "type": "bytes32" + }, + { + "name": "voteRemoveParams", + "type": "bytes32" + }, + { + "name": "intVote", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "bytes32" + } + ], + "name": "organizationsProposals", + "outputs": [ + { + "name": "scheme", + "type": "address" + }, + { + "name": "parametersHash", + "type": "bytes32" + }, + { + "name": "proposalType", + "type": "uint256" + }, + { + "name": "isRegistering", + "type": "bool" + }, + { + "name": "tokenFee", + "type": "address" + }, + { + "name": "fee", + "type": "uint256" + }, + { + "name": "autoRegisterOrganization", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_voteRegisterParams", + "type": "bytes32" + }, + { + "name": "_voteRemoveParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_scheme", + "type": "address" + }, + { + "name": "_parametersHash", + "type": "bytes32" + }, + { + "name": "_isRegistering", + "type": "bool" + }, + { + "name": "_tokenFee", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_autoRegisterOrganization", + "type": "bool" + } + ], + "name": "proposeScheme", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_param", + "type": "int256" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_scheme", + "type": "address" + } + ], + "name": "proposeToRemoveScheme", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizations", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voteRegisterParams", + "type": "bytes32" + }, + { + "name": "_voteRemoveParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "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" + }, + { + "constant": true, + "inputs": [], + "name": "hashedParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_scheme", + "type": "address" + }, + { + "indexed": false, + "name": "_parametersHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_isRegistering", + "type": "bool" + }, + { + "indexed": false, + "name": "_tokenFee", + "type": "address" + }, + { + "indexed": false, + "name": "_fee", + "type": "uint256" + }, + { + "indexed": false, + "name": "_autoRegisterOrganization", + "type": "bool" + } + ], + "name": "LogNewSchemeProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_scheme", + "type": "address" + } + ], + "name": "LogRemoveSchemeProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalDeleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b60405160608061148783398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617815590925061006b91508490849084906401000000006100738102610d751704565b5050506100c6565b60005433600160a060020a0390811691161461008e57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b6113b2806100d56000396000f3006060604052600436106100d75763ffffffff60e060020a6000350416630250680481146100dc57806306e3a9781461011f5780630a6687fd1461018c5780632d15dd50146101c3578063310ce4e21461020057806338af3eed146102395780634345a6101461026857806357b4c460146102965780635a1f7406146102bb57806377182261146102da5780638da5cb5b146102ff57806390be003c14610312578063c3c5a54714610331578063ddca3f4314610350578063e1758bd814610363578063f2fde38b14610376578063f98e87ba14610395575b600080fd5b34156100e757600080fd5b6100f26004356103a8565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b341561012a57600080fd5b610141600160a060020a03600435166024356103d2565b604051600160a060020a039788168152602081019690965260408087019590955292151560608601529416608084015260a083019390935291151560c082015260e001905180910390f35b341561019757600080fd5b6101b1600435602435600160a060020a036044351661042d565b60405190815260200160405180910390f35b34156101ce57600080fd5b6101b1600160a060020a03600435811690602435811690604435906064351515906084351660a43560c435151561047d565b341561020b57600080fd5b610225600435600160a060020a036024351660443561083a565b604051901515815260200160405180910390f35b341561024457600080fd5b61024c610d66565b604051600160a060020a03909116815260200160405180910390f35b341561027357600080fd5b610294600160a060020a036004358116906024359060443516606435610d75565b005b34156102a157600080fd5b6101b1600160a060020a0360043581169060243516610dc8565b34156102c657600080fd5b610225600160a060020a0360043516610ff0565b34156102e557600080fd5b6101b1600435602435600160a060020a0360443516611005565b341561030a57600080fd5b61024c61104e565b341561031d57600080fd5b610294600160a060020a036004351661105d565b341561033c57600080fd5b610225600160a060020a0360043516611186565b341561035b57600080fd5b6101b16111a4565b341561036e57600080fd5b61024c6111aa565b341561038157600080fd5b610294600160a060020a03600435166111b9565b34156103a057600080fd5b6101b1611247565b600760205260009081526040902080546001820154600290920154909190600160a060020a031683565b6006602090815260009283526040808420909152908252902080546001820154600283015460038401546004850154600590950154600160a060020a03948516959394929360ff808416946101009094049093169290911687565b60008061043b858585611005565b60008181526007602052604090209586556001860194909455505060029092018054600160a060020a031916600160a060020a03939093169290921790915590565b600061048761132a565b600061049161134a565b600160a060020a038b166000908152600560205260409020548b9060ff1615156104ba57600080fd5b8515610533578a600160a060020a031663c3c5a5478d60006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561051757600080fd5b6102c65a03f1151561052857600080fd5b505050604051805150505b600760006105408e61124d565b815260208101919091526040908101600020906060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252945051600160a060020a03166388737b5e600286518f3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b15156105f657600080fd5b6102c65a03f1151561060757600080fd5b50505060405180519050925060e06040519081016040908152600160a060020a03808e168352602083018d90526001828401528b151560608401528a16608083015260a0820189905287151560c0830152909250840151600160a060020a031683600019168d600160a060020a03167fa3d27ea573e5dd5b65d4850ff4d0cb2e1f8633c148ff9c19040e1b6c609c03868e8e8e8e8e8e604051600160a060020a03968716815260208101959095529215156040808601919091529190941660608401526080830193909352151560a082015260c001905180910390a4600160a060020a038c1660009081526006602090815260408083208684529091529020829081518154600160a060020a031916600160a060020a03919091161781556020820151600182015560408201518160020155606082015160038201805460ff191691151591909117905560808201518160030160016101000a815481600160a060020a030219169083600160a060020a0316021790555060a0820151816004015560c0820151600591909101805460ff1916911515919091179055506040840151600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b151561080f57600080fd5b6102c65a03f1151561082057600080fd5b505050604051805150929c9b505050505050505050505050565b60008061084561134a565b33600160a060020a03166007600061085c8861124d565b8152602081019190915260400160002060020154600160a060020a03161461088357600080fd5b8360011415610cb75784600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108d257600080fd5b6102c65a03f115156108e357600080fd5b5050506040518051600160a060020a03871660009081526006602090815260408083208b84529091529081902091945090915060e0905190810160409081528254600160a060020a039081168352600184015460208401526002840154918301918252600384015460ff808216151560608601526101009091049091166080840152600484015460a0840152600590930154909216151560c082015291505160011415610c2c578060a0015115610a2d5781600160a060020a0316638cf1355c826080015183518460a0015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610a0757600080fd5b6102c65a03f11515610a1857600080fd5b505050604051805190501515610a2d57600080fd5b80606001511515610af157600160a060020a03821663a34abaa88251836020015160e060020a60006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166044820152606401602060405180830381600087803b1515610ac657600080fd5b6102c65a03f11515610ad757600080fd5b505050604051805190501515610aec57600080fd5b610bbe565b600160a060020a03821663a34abaa8825183602001517c030000000000000000000000000000000000000000000000000000000060006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166044820152606401602060405180830381600087803b1515610b9857600080fd5b6102c65a03f11515610ba957600080fd5b505050604051805190501515610bbe57600080fd5b8060c0015115610c2c578051600160a060020a03166390be003c8660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610c1757600080fd5b6102c65a03f11515610c2857600080fd5b5050505b806040015160021415610cb757600160a060020a03821663653915e5825160006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c9157600080fd5b6102c65a03f11515610ca257600080fd5b505050604051805190501515610cb757600080fd5b600160a060020a03851660008181526006602090815260408083208a84529091528082208054600160a060020a0319168155600181018390556002810183905560038101805474ffffffffffffffffffffffffffffffffffffffffff1916905560048101929092556005909101805460ff191690558791907f1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9905160405180910390a350600195945050505050565b600354600160a060020a031681565b60005433600160a060020a03908116911614610d9057600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b600080610dd361132a565b600160a060020a0385166000908152600560205260408120548190879060ff161515610dfe57600080fd5b610e078861124d565b600081815260076020526040908190209196506060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252945051925082600160a060020a03166388737b5e600286602001518b3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610ec357600080fd5b6102c65a03f11515610ed457600080fd5b5050506040518051600160a060020a038a81166000818152600660209081526040808320868452909152908190206002808201558054600160a060020a0319168d8516179055929550908616925084917f68953fb1bf1b1aeeaaa5832742ffcb54530b6c3d63a03a1cb09a6b69dae43446908b9051600160a060020a03909116815260200160405180910390a482600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610fc957600080fd5b6102c65a03f11515610fda57600080fd5b5050506040518051509198975050505050505050565b60056020526000908152604090205460ff1681565b60008383836040519283526020830191909152600160a060020a03166c010000000000000000000000000260408083019190915260549091019051809103902090509392505050565b600054600160a060020a031681565b60006002541180156110885750600160a060020a03811660009081526005602052604090205460ff16155b1561112157600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561110557600080fd5b6102c65a03f1151561111657600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a039081169116146111d457600080fd5b600160a060020a03811615156111e957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561129657600080fd5b6102c65a03f115156112a757600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561130957600080fd5b6102c65a03f1151561131a57600080fd5b5050506040518051949350505050565b606060405190810160409081526000808352602083018190529082015290565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820152905600a165627a7a72305820b266e190c07a62c2edad6775a05b47ff155c5639324a3742bbf876977eef56f30029", + "deployedBytecode": "0x6060604052600436106100d75763ffffffff60e060020a6000350416630250680481146100dc57806306e3a9781461011f5780630a6687fd1461018c5780632d15dd50146101c3578063310ce4e21461020057806338af3eed146102395780634345a6101461026857806357b4c460146102965780635a1f7406146102bb57806377182261146102da5780638da5cb5b146102ff57806390be003c14610312578063c3c5a54714610331578063ddca3f4314610350578063e1758bd814610363578063f2fde38b14610376578063f98e87ba14610395575b600080fd5b34156100e757600080fd5b6100f26004356103a8565b6040519283526020830191909152600160a060020a03166040808301919091526060909101905180910390f35b341561012a57600080fd5b610141600160a060020a03600435166024356103d2565b604051600160a060020a039788168152602081019690965260408087019590955292151560608601529416608084015260a083019390935291151560c082015260e001905180910390f35b341561019757600080fd5b6101b1600435602435600160a060020a036044351661042d565b60405190815260200160405180910390f35b34156101ce57600080fd5b6101b1600160a060020a03600435811690602435811690604435906064351515906084351660a43560c435151561047d565b341561020b57600080fd5b610225600435600160a060020a036024351660443561083a565b604051901515815260200160405180910390f35b341561024457600080fd5b61024c610d66565b604051600160a060020a03909116815260200160405180910390f35b341561027357600080fd5b610294600160a060020a036004358116906024359060443516606435610d75565b005b34156102a157600080fd5b6101b1600160a060020a0360043581169060243516610dc8565b34156102c657600080fd5b610225600160a060020a0360043516610ff0565b34156102e557600080fd5b6101b1600435602435600160a060020a0360443516611005565b341561030a57600080fd5b61024c61104e565b341561031d57600080fd5b610294600160a060020a036004351661105d565b341561033c57600080fd5b610225600160a060020a0360043516611186565b341561035b57600080fd5b6101b16111a4565b341561036e57600080fd5b61024c6111aa565b341561038157600080fd5b610294600160a060020a03600435166111b9565b34156103a057600080fd5b6101b1611247565b600760205260009081526040902080546001820154600290920154909190600160a060020a031683565b6006602090815260009283526040808420909152908252902080546001820154600283015460038401546004850154600590950154600160a060020a03948516959394929360ff808416946101009094049093169290911687565b60008061043b858585611005565b60008181526007602052604090209586556001860194909455505060029092018054600160a060020a031916600160a060020a03939093169290921790915590565b600061048761132a565b600061049161134a565b600160a060020a038b166000908152600560205260409020548b9060ff1615156104ba57600080fd5b8515610533578a600160a060020a031663c3c5a5478d60006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561051757600080fd5b6102c65a03f1151561052857600080fd5b505050604051805150505b600760006105408e61124d565b815260208101919091526040908101600020906060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252945051600160a060020a03166388737b5e600286518f3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b15156105f657600080fd5b6102c65a03f1151561060757600080fd5b50505060405180519050925060e06040519081016040908152600160a060020a03808e168352602083018d90526001828401528b151560608401528a16608083015260a0820189905287151560c0830152909250840151600160a060020a031683600019168d600160a060020a03167fa3d27ea573e5dd5b65d4850ff4d0cb2e1f8633c148ff9c19040e1b6c609c03868e8e8e8e8e8e604051600160a060020a03968716815260208101959095529215156040808601919091529190941660608401526080830193909352151560a082015260c001905180910390a4600160a060020a038c1660009081526006602090815260408083208684529091529020829081518154600160a060020a031916600160a060020a03919091161781556020820151600182015560408201518160020155606082015160038201805460ff191691151591909117905560808201518160030160016101000a815481600160a060020a030219169083600160a060020a0316021790555060a0820151816004015560c0820151600591909101805460ff1916911515919091179055506040840151600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b151561080f57600080fd5b6102c65a03f1151561082057600080fd5b505050604051805150929c9b505050505050505050505050565b60008061084561134a565b33600160a060020a03166007600061085c8861124d565b8152602081019190915260400160002060020154600160a060020a03161461088357600080fd5b8360011415610cb75784600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156108d257600080fd5b6102c65a03f115156108e357600080fd5b5050506040518051600160a060020a03871660009081526006602090815260408083208b84529091529081902091945090915060e0905190810160409081528254600160a060020a039081168352600184015460208401526002840154918301918252600384015460ff808216151560608601526101009091049091166080840152600484015460a0840152600590930154909216151560c082015291505160011415610c2c578060a0015115610a2d5781600160a060020a0316638cf1355c826080015183518460a0015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610a0757600080fd5b6102c65a03f11515610a1857600080fd5b505050604051805190501515610a2d57600080fd5b80606001511515610af157600160a060020a03821663a34abaa88251836020015160e060020a60006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166044820152606401602060405180830381600087803b1515610ac657600080fd5b6102c65a03f11515610ad757600080fd5b505050604051805190501515610aec57600080fd5b610bbe565b600160a060020a03821663a34abaa8825183602001517c030000000000000000000000000000000000000000000000000000000060006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091527bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166044820152606401602060405180830381600087803b1515610b9857600080fd5b6102c65a03f11515610ba957600080fd5b505050604051805190501515610bbe57600080fd5b8060c0015115610c2c578051600160a060020a03166390be003c8660405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401600060405180830381600087803b1515610c1757600080fd5b6102c65a03f11515610c2857600080fd5b5050505b806040015160021415610cb757600160a060020a03821663653915e5825160006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c9157600080fd5b6102c65a03f11515610ca257600080fd5b505050604051805190501515610cb757600080fd5b600160a060020a03851660008181526006602090815260408083208a84529091528082208054600160a060020a0319168155600181018390556002810183905560038101805474ffffffffffffffffffffffffffffffffffffffffff1916905560048101929092556005909101805460ff191690558791907f1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9905160405180910390a350600195945050505050565b600354600160a060020a031681565b60005433600160a060020a03908116911614610d9057600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b600080610dd361132a565b600160a060020a0385166000908152600560205260408120548190879060ff161515610dfe57600080fd5b610e078861124d565b600081815260076020526040908190209196506060905190810160409081528254825260018301546020830152600290920154600160a060020a0316918101918252945051925082600160a060020a03166388737b5e600286602001518b3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610ec357600080fd5b6102c65a03f11515610ed457600080fd5b5050506040518051600160a060020a038a81166000818152600660209081526040808320868452909152908190206002808201558054600160a060020a0319168d8516179055929550908616925084917f68953fb1bf1b1aeeaaa5832742ffcb54530b6c3d63a03a1cb09a6b69dae43446908b9051600160a060020a03909116815260200160405180910390a482600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610fc957600080fd5b6102c65a03f11515610fda57600080fd5b5050506040518051509198975050505050505050565b60056020526000908152604090205460ff1681565b60008383836040519283526020830191909152600160a060020a03166c010000000000000000000000000260408083019190915260549091019051809103902090509392505050565b600054600160a060020a031681565b60006002541180156110885750600160a060020a03811660009081526005602052604090205460ff16155b1561112157600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561110557600080fd5b6102c65a03f1151561111657600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a039081169116146111d457600080fd5b600160a060020a03811615156111e957600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561129657600080fd5b6102c65a03f115156112a757600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561130957600080fd5b6102c65a03f1151561131a57600080fd5b5050506040518051949350505050565b606060405190810160409081526000808352602083018190529082015290565b60e06040519081016040908152600080835260208301819052908201819052606082018190526080820181905260a0820181905260c0820152905600a165627a7a72305820b266e190c07a62c2edad6775a05b47ff155c5639324a3742bbf876977eef56f30029", + "sourceMap": "276:8961:20:-;;;2090:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;2090:174:20;;-1:-1:-1;2194:62:20;;-1:-1:-1;2211:12:20;;2225:4;;2090:174;;2194:16;;;;;;:62;:::i;:::-;2090:174;;;276:8961;;1314:347:22;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;276:8961:20:-;;;;;;;", + "deployedSourceMap": "276:8961:20:-;;;;;;;;;-1:-1:-1;;;276:8961:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1824:46;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1824:46:20;;;;;;;;;;;;;;;;;;;;1492:80;;;;;;;;;;-1:-1:-1;;;;;1492:80:20;;;;;;;;;;-1:-1:-1;;;;;1492:80:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2372:500;;;;;;;;;;;;;;-1:-1:-1;;;;;2372:500:20;;;;;;;;;;;;;;;;;;;;4064:1783;;;;;;;;;;-1:-1:-1;;;;;4064:1783:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7411:1823;;;;;;;;;;;;-1:-1:-1;;;;;7411:1823:20;;;;;;;;;;;;;;;;;;;;;;;;407:26:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;407:26:22;;;;;;;;;;;;;;1314:347;;;;;;;;;;-1:-1:-1;;;;;1314:347:22;;;;;;;;;;;;;;;;;6157:844:20;;;;;;;;;;-1:-1:-1;;;;;6157:844:20;;;;;;;;;;591:43:22;;;;;;;;;;-1:-1:-1;;;;;591:43:22;;;;;2880:263:20;;;;;;;;;;;;;;-1:-1:-1;;;;;2880:263:20;;;;;238:20:29;;;;;;;;;;;;866:315:22;;;;;;;;;;-1:-1:-1;;;;;866:315:22;;;;;1189:117;;;;;;;;;;-1:-1:-1;;;;;1189:117:22;;;;;385:15;;;;;;;;;;;;346:32;;;;;;;;;;;;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;440:31:22;;;;;;;;;;;;1824:46:20;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1824:46:20;;:::o;1492:80::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1492:80:20;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2372:500::-;2527:7;2552:18;2573:67;2591:19;2612:17;2631:8;2573:17;:67::i;:::-;2651:22;;;;:10;:22;;;;;:63;;;2725:39;;;:59;;;;-1:-1:-1;;2795:30:20;;;;:41;;-1:-1:-1;;;;;;2795:41:20;-1:-1:-1;;;;;2795:41:20;;;;;;;;;;;2651:22;2372:500::o;4064:1783::-;4370:7;4728:34;;:::i;:::-;4826:18;4968:30;;:::i;:::-;-1:-1:-1;;;;;816:21:22;;;;;;:13;:21;;;;;;4348:7:20;;816:21:22;;808:30;;;;;;;;4399:25:20;4395:303;;;4648:7;-1:-1:-1;;;;;4632:37:20;;4677:7;4632:54;;;;;;;;-1:-1:-1;;;4632:54:20;;;;;;-1:-1:-1;;;;;4632:54:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4395:303:20;4765:10;:48;4776:36;4804:7;4776:27;:36::i;:::-;4765:48;;;;;;;;;;;;;;;;4728:85;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4728:85:20;;;;;;;;-1:-1:-1;4847:24:20;-1:-1:-1;;;;;4847:32:20;;4880:1;4883:16;:35;4920:7;4949:4;4847:108;;;;;;;;-1:-1:-1;;;4847:108:20;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4847:108:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4826:129;;5001:301;;;;;;;;;;-1:-1:-1;;;;;5001:301:20;;;;;;;;;;;5121:1;5001:301;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5395:24:20;;;-1:-1:-1;;;;;5313:268:20;5370:10;5313:268;;;5348:7;-1:-1:-1;;;;;5313:268:20;;5434:7;5443:15;5473:14;5502:9;5526:4;5545:25;5313:268;;-1:-1:-1;;;;;5313:268:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5592:31:20;;;;;;:22;:31;;;;;;;;:43;;;;;;;;5638:8;;;5592:54;;;-1:-1:-1;;;;;;5592:54:20;-1:-1:-1;;;;;5592:54:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5592:54:20;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5592:54:20;;;;;-1:-1:-1;;;;;5592:54:20;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5592:54:20;;;;;;;;;;-1:-1:-1;5694:24:20;;;;-1:-1:-1;;;;;5694:34:20;;5729:10;5741:1;5744:10;5694:61;;;;;;;;-1:-1:-1;;;5694:61:20;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5694:61:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5829:10:20;;4064:1783;-1:-1:-1;;;;;;;;;;;;4064:1783:20:o;7411:1823::-;7495:4;7755:21;7829:30;;:::i;:::-;7647:10;-1:-1:-1;;;;;7579:78:20;:10;:56;7590:44;7625:7;7590:27;:44::i;:::-;7579:56;;;;;;;;;;;;;:64;;;-1:-1:-1;;;;;7579:64:20;:78;7571:87;;;;;;7675:6;7685:1;7675:11;7671:1420;;;7797:7;-1:-1:-1;;;;;7790:21:20;;:23;;;;;;;;;;;-1:-1:-1;;;7790:23:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7862:31:20;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;;7790:23;;-1:-1:-1;7862:44:20;;-1:-1:-1;7829:77:20;;;;;;;;;;;;-1:-1:-1;;;;;7829:77:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7953:21:20;7978:1;7953:26;7949:910;;;8004:8;:12;;;:17;8000:227;;8051:10;-1:-1:-1;;;;;8051:40:20;;8092:8;:17;;;8111:8;:15;8128:8;:12;;;8051:90;;;;;;;;-1:-1:-1;;;8051:90:20;;;;;;-1:-1:-1;;;;;8051:90:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8050:91;8046:158;;;8170:8;;;8046:158;8249:8;:22;;;:31;;8245:423;;-1:-1:-1;;;;;8310:25:20;;;8336:8;:15;8353:8;:23;;;-1:-1:-1;;;8310:78:20;;;;;;;;-1:-1:-1;;;8310:78:20;;;;;;-1:-1:-1;;;;;8310:78:20;;;;;;;;;;;;;;-1:-1:-1;;8310:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8309:79;8305:146;;;8417:8;;;8305:146;8245:423;;;-1:-1:-1;;;;;8510:25:20;;;8536:8;:15;8553:8;:23;;;8578:9;8510:78;;;;;;;;-1:-1:-1;;;8510:78:20;;;;;;-1:-1:-1;;;;;8510:78:20;;;;;;;;;;;;;;-1:-1:-1;;8510:78:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8509:79;8505:144;;;8617:8;;;8505:144;8690:8;:33;;;8686:154;;;8764:8;:15;-1:-1:-1;;;;;8748:53:20;;8809:7;8748:70;;-1:-1:-1;;;8748:70:20;;;;;;-1:-1:-1;;;;;8748:70:20;;;;;;;;;-1:-1:-1;8748:70:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8686:154;8907:8;:21;;;8932:1;8907:26;8902:176;;;-1:-1:-1;;;;;8960:27:20;;;8988:8;:15;8960:44;;;;;;;;-1:-1:-1;;;8960:44:20;;;;;;-1:-1:-1;;;;;8960:44:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8959:45;8955:104;;;9029:8;;;8955:104;-1:-1:-1;;;;;9108:31:20;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;9101:51;;-1:-1:-1;;;;;;9101:51:20;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;9101:51:20;;;;;;;;;;;;;;;;-1:-1:-1;;9101:51:20;;;9140:11;;9108:31;9163:41;;;;;;;;;;-1:-1:-1;9222:4:20;;7411:1823;-1:-1:-1;;;;;7411:1823:20:o;407:26:22:-;;;-1:-1:-1;;;;;407:26:22;;:::o;1314:347::-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;6157:844:20:-;6287:7;6312:18;6380:24;;:::i;:::-;-1:-1:-1;;;;;816:21:22;;6442:24:20;816:21:22;;;:13;:21;;;;;;6442:24:20;;6265:7;;816:21:22;;808:30;;;;;;;;6333:36:20;6361:7;6333:27;:36::i;:::-;6407:22;;;;:10;:22;;;;;;;6312:57;;-1:-1:-1;6380:49:20;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6380:49:20;;;;;;;;-1:-1:-1;6469:14:20;6442:41;;6515:7;-1:-1:-1;;;;;6515:15:20;;6531:1;6534:6;:23;;;6559:7;6588:4;6515:79;;;;;;;;-1:-1:-1;;;6515:79:20;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6515:79:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6615:31:20;;;;;;;:22;:31;;;;;;;;:43;;;;;;;;;;6674:1;6615:56;;;:60;6686;;-1:-1:-1;;;;;;6686:60:20;;;;;;;6615:43;;-1:-1:-1;6757:62:20;;;;-1:-1:-1;6615:43:20;;6757:62;;6686:60;;6757:62;-1:-1:-1;;;;;6757:62:20;;;;;;;;;;;;;;6865:7;-1:-1:-1;;;;;6865:17:20;;6883:10;6895:1;6898:10;6865:44;;;;;;;;-1:-1:-1;;;6865:44:20;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6865:44:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6983:10:20;;6157:844;-1:-1:-1;;;;;;;;6157:844:20:o;591:43:22:-;;;;;;;;;;;;;;;:::o;2880:263:20:-;3044:7;3086:19;3107:17;3126:8;3076:59;;;;;;;;;;;;-1:-1:-1;;;;;3076:59:20;;;;;;;;;;;;;;;;;;;;;;3069:66;;2880:263;;;;;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;866:315:22:-;980:1;974:3;;:7;973:39;;;;-1:-1:-1;;;;;;989:22:22;;;;;;:13;:22;;;;;;;;987:24;973:39;969:123;;;1029:11;;1063;;1076:3;;-1:-1:-1;;;;;1029:11:22;;;;:24;;1054:7;;1063:11;;;1029;:51;;;;;;;-1:-1:-1;;;1029:51:22;;;;;;-1:-1:-1;;;;;1029:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;969:123:22;-1:-1:-1;;;;;1102:22:22;;;;;;:13;:22;;;;;;;:29;;-1:-1:-1;;1102:29:22;1127:4;1102:29;;;1142:31;;1116:7;;1142:31;-1:-1:-1;;;;;1142:31:22;;;;;;;;;;;;;;866:315;:::o;1189:117::-;-1:-1:-1;;;;;1276:22:22;1252:4;1276:22;;;:13;:22;;;;;;;;;1189:117::o;385:15::-;;;;:::o;346:32::-;;;-1:-1:-1;;;;;346:32:22;;:::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;;;;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;440:31:22:-;;;;:::o;1761:212::-;1840:7;1860:21;1895:7;-1:-1:-1;;;;;1895:13:22;;:15;;;;;;;;;;;-1:-1:-1;;;1895:15:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1929:30:22;;;1960:4;1929:36;;;;;;;;-1:-1:-1;;;1929:36:22;;;;;;-1:-1:-1;;;;;1929:36:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1761:212;-1:-1:-1;;;;1761:212:22:o;276:8961:20:-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../VotingMachines/IntVoteInterface.sol\";\r\nimport \"./UniversalScheme.sol\";\r\n\r\n\r\n/**\r\n * @title A registrar for Schemes for organizations\r\n * @dev The SchemeRegistrar is used for registering and unregistering schemes at organizations\r\n */\r\n\r\ncontract SchemeRegistrar is UniversalScheme {\r\n event LogNewSchemeProposal(\r\n address indexed _avatar,\r\n bytes32 indexed _proposalId,\r\n address indexed _intVoteInterface,\r\n address _scheme,\r\n bytes32 _parametersHash,\r\n bool _isRegistering,\r\n StandardToken _tokenFee,\r\n uint _fee,\r\n bool _autoRegisterOrganization\r\n );\r\n event LogRemoveSchemeProposal(address indexed _avatar,\r\n bytes32 indexed _proposalId,\r\n address indexed _intVoteInterface,\r\n address _scheme\r\n );\r\n event LogProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\r\n event LogProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\r\n\r\n // a SchemeProposal is a proposal to add or remove a scheme to/from the an orgaization\r\n struct SchemeProposal {\r\n address scheme; //\r\n bytes32 parametersHash;\r\n uint proposalType; // 1: add a schme, 2: remove a scheme.\r\n bool isRegistering;\r\n StandardToken tokenFee;\r\n uint fee;\r\n bool autoRegisterOrganization;\r\n }\r\n\r\n // A mapping from thr organization (Avatar) address to the saved data of the organization:\r\n mapping(address=>mapping(bytes32=>SchemeProposal)) public organizationsProposals;\r\n\r\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\r\n struct Parameters {\r\n bytes32 voteRegisterParams;\r\n bytes32 voteRemoveParams;\r\n IntVoteInterface intVote;\r\n }\r\n mapping(bytes32=>Parameters) public parameters;\r\n\r\n /**\r\n * @dev The constructor\r\n * @param _nativeToken a Token that is used for paying fees for registering\r\n * @param _fee the fee to pay\r\n * @param _beneficiary to whom the fee is payed\r\n */\r\n function SchemeRegistrar(StandardToken _nativeToken, uint _fee, address _beneficiary) public {\r\n updateParameters(_nativeToken, _fee, _beneficiary, bytes32(0));\r\n }\r\n\r\n /**\r\n * @dev hash the parameters, save them if necessary, and return the hash value\r\n */\r\n function setParameters(\r\n bytes32 _voteRegisterParams,\r\n bytes32 _voteRemoveParams,\r\n IntVoteInterface _intVote\r\n ) public returns(bytes32)\r\n {\r\n bytes32 paramsHash = getParametersHash(_voteRegisterParams, _voteRemoveParams, _intVote);\r\n parameters[paramsHash].voteRegisterParams = _voteRegisterParams;\r\n parameters[paramsHash].voteRemoveParams = _voteRemoveParams;\r\n parameters[paramsHash].intVote = _intVote;\r\n return paramsHash;\r\n }\r\n\r\n function getParametersHash(\r\n bytes32 _voteRegisterParams,\r\n bytes32 _voteRemoveParams,\r\n IntVoteInterface _intVote\r\n ) public pure returns(bytes32)\r\n {\r\n return keccak256(_voteRegisterParams, _voteRemoveParams, _intVote);\r\n }\r\n\r\n /**\r\n * @dev create a proposal to register a scheme\r\n * @param _scheme the address of the scheme to be registered\r\n * @param _parametersHash a hash of the configuration of the _scheme\r\n * @param _isRegistering a boolean represent if the scheme is a registering scheme\r\n * that can register other schemes\r\n * @param _tokenFee a token that will be used to pay any fees needed for registering the avatar\r\n * @param _fee the fee to be paid\r\n * @param _avatar the address of the organization the scheme will be registered for\r\n * @return a proposal Id\r\n * @dev NB: not only proposes the vote, but also votes for it\r\n */\r\n // TODO: check if we cannot derive isRegistering from the _scheme itself\r\n // TODO: simplify this by removing the _tokenFee and fee params, which can be derived from\r\n // the scheme (i.e. are equal to _scheme.fee() and scheme.somethingToken())\r\n function proposeScheme(\r\n Avatar _avatar,\r\n address _scheme,\r\n bytes32 _parametersHash,\r\n bool _isRegistering,\r\n StandardToken _tokenFee,\r\n uint _fee,\r\n bool _autoRegisterOrganization\r\n )\r\n public\r\n onlyRegisteredOrganization(_avatar)\r\n returns(bytes32)\r\n {\r\n if (_autoRegisterOrganization) {\r\n //This should revert for non arc scheme which do not have Fallback functions.\r\n //We do it here to prevent revert at the proposal execution after the voting proccess.\r\n UniversalScheme(_scheme).isRegistered(Avatar(_avatar));\r\n }\r\n // propose\r\n Parameters memory controllerParams = parameters[getParametersFromController(_avatar)];\r\n\r\n bytes32 proposalId = controllerParams.intVote.propose(2, controllerParams.voteRegisterParams, _avatar, ExecutableInterface(this));\r\n\r\n SchemeProposal memory proposal = SchemeProposal({\r\n scheme: _scheme,\r\n parametersHash: _parametersHash,\r\n proposalType: 1,\r\n isRegistering: _isRegistering,\r\n tokenFee: _tokenFee,\r\n fee: _fee,\r\n autoRegisterOrganization: _autoRegisterOrganization\r\n });\r\n LogNewSchemeProposal(\r\n _avatar,\r\n proposalId,\r\n controllerParams.intVote,\r\n _scheme, _parametersHash,\r\n _isRegistering,\r\n _tokenFee,\r\n _fee,\r\n _autoRegisterOrganization\r\n );\r\n organizationsProposals[_avatar][proposalId] = proposal;\r\n\r\n // vote for this proposal\r\n controllerParams.intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\r\n return proposalId;\r\n }\r\n\r\n /**\r\n * @dev propose to remove a scheme for a controller\r\n * @param _avatar the address of the controller from which we want to remove a scheme\r\n * @param _scheme the address of the scheme we want to remove\r\n *\r\n * NB: not only registers the proposal, but also votes for it\r\n */\r\n function proposeToRemoveScheme(Avatar _avatar, address _scheme)\r\n public\r\n onlyRegisteredOrganization(_avatar)\r\n returns(bytes32)\r\n {\r\n bytes32 paramsHash = getParametersFromController(_avatar);\r\n Parameters memory params = parameters[paramsHash];\r\n\r\n IntVoteInterface intVote = params.intVote;\r\n bytes32 proposalId = intVote.propose(2, params.voteRemoveParams, _avatar, ExecutableInterface(this));\r\n \r\n organizationsProposals[_avatar][proposalId].proposalType = 2;\r\n organizationsProposals[_avatar][proposalId].scheme = _scheme;\r\n LogRemoveSchemeProposal(_avatar, proposalId, intVote, _scheme);\r\n // vote for this proposal\r\n intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\r\n return proposalId;\r\n }\r\n\r\n /**\r\n * @dev execute a proposal\r\n * This method can only be called by the voting machine in which the vote is held.\r\n * @param _proposalId the ID of the proposal in the voting machine\r\n * @param _avatar address of the controller\r\n * @param _param identifies the action to be taken\r\n */\r\n // TODO: this call can be simplified if we save the _avatar together with the proposal\r\n function execute(bytes32 _proposalId, address _avatar, int _param) external returns(bool) {\r\n // Check the caller is indeed the voting machine:\r\n require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\r\n\r\n if (_param == 1) {\r\n\r\n // Define controller and get the parmas:\r\n Controller controller = Controller(Avatar(_avatar).owner());\r\n SchemeProposal memory proposal = organizationsProposals[_avatar][_proposalId];\r\n\r\n // Add a scheme:\r\n if (proposal.proposalType == 1) {\r\n if (proposal.fee != 0) {\r\n if (!controller.externalTokenIncreaseApproval(proposal.tokenFee, proposal.scheme, proposal.fee)) {\r\n revert();\r\n }\r\n }\r\n if (proposal.isRegistering == false) {\r\n if (!controller.registerScheme(proposal.scheme, proposal.parametersHash, bytes4(1))) {\r\n revert();\r\n }\r\n } else {\r\n if (!controller.registerScheme(proposal.scheme, proposal.parametersHash, bytes4(3))) {\r\n revert();\r\n }\r\n }\r\n if (proposal.autoRegisterOrganization) {\r\n UniversalScheme(proposal.scheme).registerOrganization(Avatar(_avatar));\r\n }\r\n }\r\n // Remove a scheme:\r\n if ( proposal.proposalType == 2 ) {\r\n if (!controller.unregisterScheme(proposal.scheme)) {\r\n revert();\r\n }\r\n }\r\n }\r\n delete organizationsProposals[_avatar][_proposalId];\r\n LogProposalExecuted(_avatar, _proposalId);\r\n return true;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\SchemeRegistrar.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/SchemeRegistrar.sol", + "exportedSymbols": { + "SchemeRegistrar": [ + 6584 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 6083, + "name": "PragmaDirective", + "src": "0:24:20" + }, + { + "attributes": { + "SourceUnit": 2659, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/IntVoteInterface.sol", + "file": "../VotingMachines/IntVoteInterface.sol", + "scope": 6585, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6084, + "name": "ImportDirective", + "src": "28:48:20" + }, + { + "attributes": { + "SourceUnit": 7230, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "file": "./UniversalScheme.sol", + "scope": 6585, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6085, + "name": "ImportDirective", + "src": "78:31:20" + }, + { + "attributes": { + "contractDependencies": [ + 7229, + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": "@title A registrar for Schemes for organizations\r\n@dev The SchemeRegistrar is used for registering and unregistering schemes at organizations\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 6584, + 7229, + 7259, + 9140 + ], + "name": "SchemeRegistrar", + "scope": 6585 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalScheme", + "referencedDeclaration": 7229, + "type": "contract UniversalScheme" + }, + "id": 6086, + "name": "UserDefinedTypeName", + "src": "304:15:20" + } + ], + "id": 6087, + "name": "InheritanceSpecifier", + "src": "304:15:20" + }, + { + "attributes": { + "anonymous": false, + "name": "LogNewSchemeProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 6107, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6088, + "name": "ElementaryTypeName", + "src": "364:7:20" + } + ], + "id": 6089, + "name": "VariableDeclaration", + "src": "364:23:20" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 6107, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6090, + "name": "ElementaryTypeName", + "src": "398:7:20" + } + ], + "id": 6091, + "name": "VariableDeclaration", + "src": "398:27:20" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_intVoteInterface", + "scope": 6107, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6092, + "name": "ElementaryTypeName", + "src": "436:7:20" + } + ], + "id": 6093, + "name": "VariableDeclaration", + "src": "436:33:20" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_scheme", + "scope": 6107, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6094, + "name": "ElementaryTypeName", + "src": "480:7:20" + } + ], + "id": 6095, + "name": "VariableDeclaration", + "src": "480:15:20" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_parametersHash", + "scope": 6107, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6096, + "name": "ElementaryTypeName", + "src": "506:7:20" + } + ], + "id": 6097, + "name": "VariableDeclaration", + "src": "506:23:20" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_isRegistering", + "scope": 6107, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6098, + "name": "ElementaryTypeName", + "src": "540:4:20" + } + ], + "id": 6099, + "name": "VariableDeclaration", + "src": "540:19:20" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_tokenFee", + "scope": 6107, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 6100, + "name": "UserDefinedTypeName", + "src": "570:13:20" + } + ], + "id": 6101, + "name": "VariableDeclaration", + "src": "570:23:20" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_fee", + "scope": 6107, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6102, + "name": "ElementaryTypeName", + "src": "604:4:20" + } + ], + "id": 6103, + "name": "VariableDeclaration", + "src": "604:9:20" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_autoRegisterOrganization", + "scope": 6107, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6104, + "name": "ElementaryTypeName", + "src": "624:4:20" + } + ], + "id": 6105, + "name": "VariableDeclaration", + "src": "624:30:20" + } + ], + "id": 6106, + "name": "ParameterList", + "src": "353:308:20" + } + ], + "id": 6107, + "name": "EventDefinition", + "src": "327:335:20" + }, + { + "attributes": { + "anonymous": false, + "name": "LogRemoveSchemeProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 6117, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6108, + "name": "ElementaryTypeName", + "src": "698:7:20" + } + ], + "id": 6109, + "name": "VariableDeclaration", + "src": "698:23:20" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 6117, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6110, + "name": "ElementaryTypeName", + "src": "732:7:20" + } + ], + "id": 6111, + "name": "VariableDeclaration", + "src": "732:27:20" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_intVoteInterface", + "scope": 6117, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6112, + "name": "ElementaryTypeName", + "src": "770:7:20" + } + ], + "id": 6113, + "name": "VariableDeclaration", + "src": "770:33:20" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_scheme", + "scope": 6117, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6114, + "name": "ElementaryTypeName", + "src": "814:7:20" + } + ], + "id": 6115, + "name": "VariableDeclaration", + "src": "814:15:20" + } + ], + "id": 6116, + "name": "ParameterList", + "src": "697:139:20" + } + ], + "id": 6117, + "name": "EventDefinition", + "src": "668:169:20" + }, + { + "attributes": { + "anonymous": false, + "name": "LogProposalExecuted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 6123, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6118, + "name": "ElementaryTypeName", + "src": "869:7:20" + } + ], + "id": 6119, + "name": "VariableDeclaration", + "src": "869:23:20" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 6123, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6120, + "name": "ElementaryTypeName", + "src": "894:7:20" + } + ], + "id": 6121, + "name": "VariableDeclaration", + "src": "894:27:20" + } + ], + "id": 6122, + "name": "ParameterList", + "src": "868:54:20" + } + ], + "id": 6123, + "name": "EventDefinition", + "src": "843:80:20" + }, + { + "attributes": { + "anonymous": false, + "name": "LogProposalDeleted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 6129, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6124, + "name": "ElementaryTypeName", + "src": "954:7:20" + } + ], + "id": 6125, + "name": "VariableDeclaration", + "src": "954:23:20" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 6129, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6126, + "name": "ElementaryTypeName", + "src": "979:7:20" + } + ], + "id": 6127, + "name": "VariableDeclaration", + "src": "979:27:20" + } + ], + "id": 6128, + "name": "ParameterList", + "src": "953:54:20" + } + ], + "id": 6129, + "name": "EventDefinition", + "src": "929:79:20" + }, + { + "attributes": { + "canonicalName": "SchemeRegistrar.SchemeProposal", + "name": "SchemeProposal", + "scope": 6584, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "scheme", + "scope": 6144, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6130, + "name": "ElementaryTypeName", + "src": "1142:7:20" + } + ], + "id": 6131, + "name": "VariableDeclaration", + "src": "1142:14:20" + }, + { + "attributes": { + "constant": false, + "name": "parametersHash", + "scope": 6144, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6132, + "name": "ElementaryTypeName", + "src": "1170:7:20" + } + ], + "id": 6133, + "name": "VariableDeclaration", + "src": "1170:22:20" + }, + { + "attributes": { + "constant": false, + "name": "proposalType", + "scope": 6144, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6134, + "name": "ElementaryTypeName", + "src": "1203:4:20" + } + ], + "id": 6135, + "name": "VariableDeclaration", + "src": "1203:17:20" + }, + { + "attributes": { + "constant": false, + "name": "isRegistering", + "scope": 6144, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6136, + "name": "ElementaryTypeName", + "src": "1270:4:20" + } + ], + "id": 6137, + "name": "VariableDeclaration", + "src": "1270:18:20" + }, + { + "attributes": { + "constant": false, + "name": "tokenFee", + "scope": 6144, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 6138, + "name": "UserDefinedTypeName", + "src": "1299:13:20" + } + ], + "id": 6139, + "name": "VariableDeclaration", + "src": "1299:22:20" + }, + { + "attributes": { + "constant": false, + "name": "fee", + "scope": 6144, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6140, + "name": "ElementaryTypeName", + "src": "1332:4:20" + } + ], + "id": 6141, + "name": "VariableDeclaration", + "src": "1332:8:20" + }, + { + "attributes": { + "constant": false, + "name": "autoRegisterOrganization", + "scope": 6144, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6142, + "name": "ElementaryTypeName", + "src": "1351:4:20" + } + ], + "id": 6143, + "name": "VariableDeclaration", + "src": "1351:29:20" + } + ], + "id": 6144, + "name": "StructDefinition", + "src": "1109:279:20" + }, + { + "attributes": { + "constant": false, + "name": "organizationsProposals", + "scope": 6584, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6145, + "name": "ElementaryTypeName", + "src": "1500:7:20" + }, + { + "attributes": { + "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6146, + "name": "ElementaryTypeName", + "src": "1517:7:20" + }, + { + "attributes": { + "contractScope": null, + "name": "SchemeProposal", + "referencedDeclaration": 6144, + "type": "struct SchemeRegistrar.SchemeProposal storage pointer" + }, + "id": 6147, + "name": "UserDefinedTypeName", + "src": "1526:14:20" + } + ], + "id": 6148, + "name": "Mapping", + "src": "1509:32:20" + } + ], + "id": 6149, + "name": "Mapping", + "src": "1492:50:20" + } + ], + "id": 6150, + "name": "VariableDeclaration", + "src": "1492:80:20" + }, + { + "attributes": { + "canonicalName": "SchemeRegistrar.Parameters", + "name": "Parameters", + "scope": 6584, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "voteRegisterParams", + "scope": 6157, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6151, + "name": "ElementaryTypeName", + "src": "1714:7:20" + } + ], + "id": 6152, + "name": "VariableDeclaration", + "src": "1714:26:20" + }, + { + "attributes": { + "constant": false, + "name": "voteRemoveParams", + "scope": 6157, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6153, + "name": "ElementaryTypeName", + "src": "1751:7:20" + } + ], + "id": 6154, + "name": "VariableDeclaration", + "src": "1751:24:20" + }, + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 6157, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 6155, + "name": "UserDefinedTypeName", + "src": "1786:16:20" + } + ], + "id": 6156, + "name": "VariableDeclaration", + "src": "1786:24:20" + } + ], + "id": 6157, + "name": "StructDefinition", + "src": "1685:133:20" + }, + { + "attributes": { + "constant": false, + "name": "parameters", + "scope": 6584, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6158, + "name": "ElementaryTypeName", + "src": "1832:7:20" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 6157, + "type": "struct SchemeRegistrar.Parameters storage pointer" + }, + "id": 6159, + "name": "UserDefinedTypeName", + "src": "1841:10:20" + } + ], + "id": 6160, + "name": "Mapping", + "src": "1824:28:20" + } + ], + "id": 6161, + "name": "VariableDeclaration", + "src": "1824:46:20" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "SchemeRegistrar", + "payable": false, + "scope": 6584, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 6180, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 6162, + "name": "UserDefinedTypeName", + "src": "2115:13:20" + } + ], + "id": 6163, + "name": "VariableDeclaration", + "src": "2115:26:20" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 6180, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6164, + "name": "ElementaryTypeName", + "src": "2143:4:20" + } + ], + "id": 6165, + "name": "VariableDeclaration", + "src": "2143:9:20" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 6180, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6166, + "name": "ElementaryTypeName", + "src": "2154:7:20" + } + ], + "id": 6167, + "name": "VariableDeclaration", + "src": "2154:20:20" + } + ], + "id": 6168, + "name": "ParameterList", + "src": "2114:61:20" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6169, + "name": "ParameterList", + "src": "2183:0:20" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 7207 + ], + "referencedDeclaration": 7207, + "type": "function (contract StandardToken,uint256,address,bytes32)", + "value": "updateParameters" + }, + "id": 6170, + "name": "Identifier", + "src": "2194:16:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6163, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 6171, + "name": "Identifier", + "src": "2211:12:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6165, + "type": "uint256", + "value": "_fee" + }, + "id": 6172, + "name": "Identifier", + "src": "2225:4:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6167, + "type": "address", + "value": "_beneficiary" + }, + "id": 6173, + "name": "Identifier", + "src": "2231:12:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 6174, + "name": "ElementaryTypeNameExpression", + "src": "2245:7:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6175, + "name": "Literal", + "src": "2253:1:20" + } + ], + "id": 6176, + "name": "FunctionCall", + "src": "2245:10:20" + } + ], + "id": 6177, + "name": "FunctionCall", + "src": "2194:62:20" + } + ], + "id": 6178, + "name": "ExpressionStatement", + "src": "2194:62:20" + } + ], + "id": 6179, + "name": "Block", + "src": "2183:81:20" + } + ], + "id": 6180, + "name": "FunctionDefinition", + "src": "2090:174:20" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 6584, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_voteRegisterParams", + "scope": 6223, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6181, + "name": "ElementaryTypeName", + "src": "2405:7:20" + } + ], + "id": 6182, + "name": "VariableDeclaration", + "src": "2405:27:20" + }, + { + "attributes": { + "constant": false, + "name": "_voteRemoveParams", + "scope": 6223, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6183, + "name": "ElementaryTypeName", + "src": "2443:7:20" + } + ], + "id": 6184, + "name": "VariableDeclaration", + "src": "2443:25:20" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 6223, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 6185, + "name": "UserDefinedTypeName", + "src": "2479:16:20" + } + ], + "id": 6186, + "name": "VariableDeclaration", + "src": "2479:25:20" + } + ], + "id": 6187, + "name": "ParameterList", + "src": "2394:117:20" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6223, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6188, + "name": "ElementaryTypeName", + "src": "2527:7:20" + } + ], + "id": 6189, + "name": "VariableDeclaration", + "src": "2527:7:20" + } + ], + "id": 6190, + "name": "ParameterList", + "src": "2526:9:20" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 6192 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 6223, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6191, + "name": "ElementaryTypeName", + "src": "2552:7:20" + } + ], + "id": 6192, + "name": "VariableDeclaration", + "src": "2552:18:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6241, + "type": "function (bytes32,bytes32,contract IntVoteInterface) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 6193, + "name": "Identifier", + "src": "2573:17:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6182, + "type": "bytes32", + "value": "_voteRegisterParams" + }, + "id": 6194, + "name": "Identifier", + "src": "2591:19:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6184, + "type": "bytes32", + "value": "_voteRemoveParams" + }, + "id": 6195, + "name": "Identifier", + "src": "2612:17:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6186, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 6196, + "name": "Identifier", + "src": "2631:8:20" + } + ], + "id": 6197, + "name": "FunctionCall", + "src": "2573:67:20" + } + ], + "id": 6198, + "name": "VariableDeclarationStatement", + "src": "2552:88:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "voteRegisterParams", + "referencedDeclaration": 6152, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SchemeRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6161, + "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 6199, + "name": "Identifier", + "src": "2651:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6192, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6200, + "name": "Identifier", + "src": "2662:10:20" + } + ], + "id": 6201, + "name": "IndexAccess", + "src": "2651:22:20" + } + ], + "id": 6202, + "name": "MemberAccess", + "src": "2651:41:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6182, + "type": "bytes32", + "value": "_voteRegisterParams" + }, + "id": 6203, + "name": "Identifier", + "src": "2695:19:20" + } + ], + "id": 6204, + "name": "Assignment", + "src": "2651:63:20" + } + ], + "id": 6205, + "name": "ExpressionStatement", + "src": "2651:63:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "voteRemoveParams", + "referencedDeclaration": 6154, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SchemeRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6161, + "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 6206, + "name": "Identifier", + "src": "2725:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6192, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6207, + "name": "Identifier", + "src": "2736:10:20" + } + ], + "id": 6208, + "name": "IndexAccess", + "src": "2725:22:20" + } + ], + "id": 6209, + "name": "MemberAccess", + "src": "2725:39:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6184, + "type": "bytes32", + "value": "_voteRemoveParams" + }, + "id": 6210, + "name": "Identifier", + "src": "2767:17:20" + } + ], + "id": 6211, + "name": "Assignment", + "src": "2725:59:20" + } + ], + "id": 6212, + "name": "ExpressionStatement", + "src": "2725:59:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "intVote", + "referencedDeclaration": 6156, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SchemeRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6161, + "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 6213, + "name": "Identifier", + "src": "2795:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6192, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6214, + "name": "Identifier", + "src": "2806:10:20" + } + ], + "id": 6215, + "name": "IndexAccess", + "src": "2795:22:20" + } + ], + "id": 6216, + "name": "MemberAccess", + "src": "2795:30:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6186, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 6217, + "name": "Identifier", + "src": "2828:8:20" + } + ], + "id": 6218, + "name": "Assignment", + "src": "2795:41:20" + } + ], + "id": 6219, + "name": "ExpressionStatement", + "src": "2795:41:20" + }, + { + "attributes": { + "functionReturnParameters": 6190 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6192, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6220, + "name": "Identifier", + "src": "2854:10:20" + } + ], + "id": 6221, + "name": "Return", + "src": "2847:17:20" + } + ], + "id": 6222, + "name": "Block", + "src": "2541:331:20" + } + ], + "id": 6223, + "name": "FunctionDefinition", + "src": "2372:500:20" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 6584, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_voteRegisterParams", + "scope": 6241, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6224, + "name": "ElementaryTypeName", + "src": "2917:7:20" + } + ], + "id": 6225, + "name": "VariableDeclaration", + "src": "2917:27:20" + }, + { + "attributes": { + "constant": false, + "name": "_voteRemoveParams", + "scope": 6241, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6226, + "name": "ElementaryTypeName", + "src": "2955:7:20" + } + ], + "id": 6227, + "name": "VariableDeclaration", + "src": "2955:25:20" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 6241, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 6228, + "name": "UserDefinedTypeName", + "src": "2991:16:20" + } + ], + "id": 6229, + "name": "VariableDeclaration", + "src": "2991:25:20" + } + ], + "id": 6230, + "name": "ParameterList", + "src": "2906:117:20" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6241, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6231, + "name": "ElementaryTypeName", + "src": "3044:7:20" + } + ], + "id": 6232, + "name": "VariableDeclaration", + "src": "3044:7:20" + } + ], + "id": 6233, + "name": "ParameterList", + "src": "3043:9:20" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6233 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 6234, + "name": "Identifier", + "src": "3076:9:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6225, + "type": "bytes32", + "value": "_voteRegisterParams" + }, + "id": 6235, + "name": "Identifier", + "src": "3086:19:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6227, + "type": "bytes32", + "value": "_voteRemoveParams" + }, + "id": 6236, + "name": "Identifier", + "src": "3107:17:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6229, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 6237, + "name": "Identifier", + "src": "3126:8:20" + } + ], + "id": 6238, + "name": "FunctionCall", + "src": "3076:59:20" + } + ], + "id": 6239, + "name": "Return", + "src": "3069:66:20" + } + ], + "id": 6240, + "name": "Block", + "src": "3058:85:20" + } + ], + "id": 6241, + "name": "FunctionDefinition", + "src": "2880:263:20" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "proposeScheme", + "payable": false, + "scope": 6584, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6344, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6242, + "name": "UserDefinedTypeName", + "src": "4097:6:20" + } + ], + "id": 6243, + "name": "VariableDeclaration", + "src": "4097:14:20" + }, + { + "attributes": { + "constant": false, + "name": "_scheme", + "scope": 6344, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6244, + "name": "ElementaryTypeName", + "src": "4122:7:20" + } + ], + "id": 6245, + "name": "VariableDeclaration", + "src": "4122:15:20" + }, + { + "attributes": { + "constant": false, + "name": "_parametersHash", + "scope": 6344, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6246, + "name": "ElementaryTypeName", + "src": "4148:7:20" + } + ], + "id": 6247, + "name": "VariableDeclaration", + "src": "4148:23:20" + }, + { + "attributes": { + "constant": false, + "name": "_isRegistering", + "scope": 6344, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6248, + "name": "ElementaryTypeName", + "src": "4182:4:20" + } + ], + "id": 6249, + "name": "VariableDeclaration", + "src": "4182:19:20" + }, + { + "attributes": { + "constant": false, + "name": "_tokenFee", + "scope": 6344, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 6250, + "name": "UserDefinedTypeName", + "src": "4212:13:20" + } + ], + "id": 6251, + "name": "VariableDeclaration", + "src": "4212:23:20" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 6344, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6252, + "name": "ElementaryTypeName", + "src": "4246:4:20" + } + ], + "id": 6253, + "name": "VariableDeclaration", + "src": "4246:9:20" + }, + { + "attributes": { + "constant": false, + "name": "_autoRegisterOrganization", + "scope": 6344, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6254, + "name": "ElementaryTypeName", + "src": "4266:4:20" + } + ], + "id": 6255, + "name": "VariableDeclaration", + "src": "4266:30:20" + } + ], + "id": 6256, + "name": "ParameterList", + "src": "4086:217:20" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6344, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6260, + "name": "ElementaryTypeName", + "src": "4370:7:20" + } + ], + "id": 6261, + "name": "VariableDeclaration", + "src": "4370:7:20" + } + ], + "id": 6262, + "name": "ParameterList", + "src": "4369:9:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7129, + "type": "modifier (address)", + "value": "onlyRegisteredOrganization" + }, + "id": 6257, + "name": "Identifier", + "src": "4321:26:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6243, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6258, + "name": "Identifier", + "src": "4348:7:20" + } + ], + "id": 6259, + "name": "ModifierInvocation", + "src": "4321:35:20" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6255, + "type": "bool", + "value": "_autoRegisterOrganization" + }, + "id": 6263, + "name": "Identifier", + "src": "4399:25:20" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "isRegistered", + "referencedDeclaration": 7177, + "type": "function (address) view external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract UniversalScheme", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7229, + "type": "type(contract UniversalScheme)", + "value": "UniversalScheme" + }, + "id": 6264, + "name": "Identifier", + "src": "4632:15:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6245, + "type": "address", + "value": "_scheme" + }, + "id": 6265, + "name": "Identifier", + "src": "4648:7:20" + } + ], + "id": 6266, + "name": "FunctionCall", + "src": "4632:24:20" + } + ], + "id": 6267, + "name": "MemberAccess", + "src": "4632:37:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 6268, + "name": "Identifier", + "src": "4670:6:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6243, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6269, + "name": "Identifier", + "src": "4677:7:20" + } + ], + "id": 6270, + "name": "FunctionCall", + "src": "4670:15:20" + } + ], + "id": 6271, + "name": "FunctionCall", + "src": "4632:54:20" + } + ], + "id": 6272, + "name": "ExpressionStatement", + "src": "4632:54:20" + } + ], + "id": 6273, + "name": "Block", + "src": "4426:272:20" + } + ], + "id": 6274, + "name": "IfStatement", + "src": "4395:303:20" + }, + { + "attributes": { + "assignments": [ + 6276 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controllerParams", + "scope": 6344, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SchemeRegistrar.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 6157, + "type": "struct SchemeRegistrar.Parameters storage pointer" + }, + "id": 6275, + "name": "UserDefinedTypeName", + "src": "4728:10:20" + } + ], + "id": 6276, + "name": "VariableDeclaration", + "src": "4728:34:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SchemeRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6161, + "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 6277, + "name": "Identifier", + "src": "4765:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 6278, + "name": "Identifier", + "src": "4776:27:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6243, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6279, + "name": "Identifier", + "src": "4804:7:20" + } + ], + "id": 6280, + "name": "FunctionCall", + "src": "4776:36:20" + } + ], + "id": 6281, + "name": "IndexAccess", + "src": "4765:48:20" + } + ], + "id": 6282, + "name": "VariableDeclarationStatement", + "src": "4728:85:20" + }, + { + "attributes": { + "assignments": [ + 6284 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposalId", + "scope": 6344, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6283, + "name": "ElementaryTypeName", + "src": "4826:7:20" + } + ], + "id": 6284, + "name": "VariableDeclaration", + "src": "4826:18:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_ExecutableInterface_$5155", + "typeString": "contract ExecutableInterface" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "propose", + "referencedDeclaration": 2570, + "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 6156, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6276, + "type": "struct SchemeRegistrar.Parameters memory", + "value": "controllerParams" + }, + "id": 6285, + "name": "Identifier", + "src": "4847:16:20" + } + ], + "id": 6286, + "name": "MemberAccess", + "src": "4847:24:20" + } + ], + "id": 6287, + "name": "MemberAccess", + "src": "4847:32:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 6288, + "name": "Literal", + "src": "4880:1:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteRegisterParams", + "referencedDeclaration": 6152, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6276, + "type": "struct SchemeRegistrar.Parameters memory", + "value": "controllerParams" + }, + "id": 6289, + "name": "Identifier", + "src": "4883:16:20" + } + ], + "id": 6290, + "name": "MemberAccess", + "src": "4883:35:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6243, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6291, + "name": "Identifier", + "src": "4920:7:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ExecutableInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SchemeRegistrar_$6584", + "typeString": "contract SchemeRegistrar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5155, + "type": "type(contract ExecutableInterface)", + "value": "ExecutableInterface" + }, + "id": 6292, + "name": "Identifier", + "src": "4929:19:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9813, + "type": "contract SchemeRegistrar", + "value": "this" + }, + "id": 6293, + "name": "Identifier", + "src": "4949:4:20" + } + ], + "id": 6294, + "name": "FunctionCall", + "src": "4929:25:20" + } + ], + "id": 6295, + "name": "FunctionCall", + "src": "4847:108:20" + } + ], + "id": 6296, + "name": "VariableDeclarationStatement", + "src": "4826:129:20" + }, + { + "attributes": { + "assignments": [ + 6298 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 6344, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SchemeProposal", + "referencedDeclaration": 6144, + "type": "struct SchemeRegistrar.SchemeProposal storage pointer" + }, + "id": 6297, + "name": "UserDefinedTypeName", + "src": "4968:14:20" + } + ], + "id": 6298, + "name": "VariableDeclaration", + "src": "4968:30:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "scheme", + "parametersHash", + "proposalType", + "isRegistering", + "tokenFee", + "fee", + "autoRegisterOrganization" + ], + "type": "struct SchemeRegistrar.SchemeProposal memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6144, + "type": "type(struct SchemeRegistrar.SchemeProposal storage pointer)", + "value": "SchemeProposal" + }, + "id": 6299, + "name": "Identifier", + "src": "5001:14:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6245, + "type": "address", + "value": "_scheme" + }, + "id": 6300, + "name": "Identifier", + "src": "5039:7:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6247, + "type": "bytes32", + "value": "_parametersHash" + }, + "id": 6301, + "name": "Identifier", + "src": "5077:15:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 6302, + "name": "Literal", + "src": "5121:1:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6249, + "type": "bool", + "value": "_isRegistering" + }, + "id": 6303, + "name": "Identifier", + "src": "5152:14:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6251, + "type": "contract StandardToken", + "value": "_tokenFee" + }, + "id": 6304, + "name": "Identifier", + "src": "5191:9:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6253, + "type": "uint256", + "value": "_fee" + }, + "id": 6305, + "name": "Identifier", + "src": "5220:4:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6255, + "type": "bool", + "value": "_autoRegisterOrganization" + }, + "id": 6306, + "name": "Identifier", + "src": "5265:25:20" + } + ], + "id": 6307, + "name": "FunctionCall", + "src": "5001:301:20" + } + ], + "id": 6308, + "name": "VariableDeclarationStatement", + "src": "4968:334:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6107, + "type": "function (address,bytes32,address,address,bytes32,bool,contract StandardToken,uint256,bool)", + "value": "LogNewSchemeProposal" + }, + "id": 6309, + "name": "Identifier", + "src": "5313:20:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6243, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6310, + "name": "Identifier", + "src": "5348:7:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6284, + "type": "bytes32", + "value": "proposalId" + }, + "id": 6311, + "name": "Identifier", + "src": "5370:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 6156, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6276, + "type": "struct SchemeRegistrar.Parameters memory", + "value": "controllerParams" + }, + "id": 6312, + "name": "Identifier", + "src": "5395:16:20" + } + ], + "id": 6313, + "name": "MemberAccess", + "src": "5395:24:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6245, + "type": "address", + "value": "_scheme" + }, + "id": 6314, + "name": "Identifier", + "src": "5434:7:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6247, + "type": "bytes32", + "value": "_parametersHash" + }, + "id": 6315, + "name": "Identifier", + "src": "5443:15:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6249, + "type": "bool", + "value": "_isRegistering" + }, + "id": 6316, + "name": "Identifier", + "src": "5473:14:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6251, + "type": "contract StandardToken", + "value": "_tokenFee" + }, + "id": 6317, + "name": "Identifier", + "src": "5502:9:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6253, + "type": "uint256", + "value": "_fee" + }, + "id": 6318, + "name": "Identifier", + "src": "5526:4:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6255, + "type": "bool", + "value": "_autoRegisterOrganization" + }, + "id": 6319, + "name": "Identifier", + "src": "5545:25:20" + } + ], + "id": 6320, + "name": "FunctionCall", + "src": "5313:268:20" + } + ], + "id": 6321, + "name": "ExpressionStatement", + "src": "5313:268:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct SchemeRegistrar.SchemeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct SchemeRegistrar.SchemeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6150, + "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 6322, + "name": "Identifier", + "src": "5592:22:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6243, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6323, + "name": "Identifier", + "src": "5615:7:20" + } + ], + "id": 6325, + "name": "IndexAccess", + "src": "5592:31:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6284, + "type": "bytes32", + "value": "proposalId" + }, + "id": 6324, + "name": "Identifier", + "src": "5624:10:20" + } + ], + "id": 6326, + "name": "IndexAccess", + "src": "5592:43:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6298, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6327, + "name": "Identifier", + "src": "5638:8:20" + } + ], + "id": 6328, + "name": "Assignment", + "src": "5592:54:20" + } + ], + "id": 6329, + "name": "ExpressionStatement", + "src": "5592:54:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "ownerVote", + "referencedDeclaration": 2597, + "type": "function (bytes32,uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 6156, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6276, + "type": "struct SchemeRegistrar.Parameters memory", + "value": "controllerParams" + }, + "id": 6330, + "name": "Identifier", + "src": "5694:16:20" + } + ], + "id": 6333, + "name": "MemberAccess", + "src": "5694:24:20" + } + ], + "id": 6334, + "name": "MemberAccess", + "src": "5694:34:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6284, + "type": "bytes32", + "value": "proposalId" + }, + "id": 6335, + "name": "Identifier", + "src": "5729:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 6336, + "name": "Literal", + "src": "5741:1:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6337, + "name": "Identifier", + "src": "5744:3:20" + } + ], + "id": 6338, + "name": "MemberAccess", + "src": "5744:10:20" + } + ], + "id": 6339, + "name": "FunctionCall", + "src": "5694:61:20" + } + ], + "id": 6340, + "name": "ExpressionStatement", + "src": "5694:61:20" + }, + { + "attributes": { + "functionReturnParameters": 6262 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6284, + "type": "bytes32", + "value": "proposalId" + }, + "id": 6341, + "name": "Identifier", + "src": "5829:10:20" + } + ], + "id": 6342, + "name": "Return", + "src": "5822:17:20" + } + ], + "id": 6343, + "name": "Block", + "src": "4384:1463:20" + } + ], + "id": 6344, + "name": "FunctionDefinition", + "src": "4064:1783:20" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "proposeToRemoveScheme", + "payable": false, + "scope": 6584, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6423, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6345, + "name": "UserDefinedTypeName", + "src": "6188:6:20" + } + ], + "id": 6346, + "name": "VariableDeclaration", + "src": "6188:14:20" + }, + { + "attributes": { + "constant": false, + "name": "_scheme", + "scope": 6423, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6347, + "name": "ElementaryTypeName", + "src": "6204:7:20" + } + ], + "id": 6348, + "name": "VariableDeclaration", + "src": "6204:15:20" + } + ], + "id": 6349, + "name": "ParameterList", + "src": "6187:33:20" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6423, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6353, + "name": "ElementaryTypeName", + "src": "6287:7:20" + } + ], + "id": 6354, + "name": "VariableDeclaration", + "src": "6287:7:20" + } + ], + "id": 6355, + "name": "ParameterList", + "src": "6286:9:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7129, + "type": "modifier (address)", + "value": "onlyRegisteredOrganization" + }, + "id": 6350, + "name": "Identifier", + "src": "6238:26:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6346, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6351, + "name": "Identifier", + "src": "6265:7:20" + } + ], + "id": 6352, + "name": "ModifierInvocation", + "src": "6238:35:20" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 6357 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 6423, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6356, + "name": "ElementaryTypeName", + "src": "6312:7:20" + } + ], + "id": 6357, + "name": "VariableDeclaration", + "src": "6312:18:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 6358, + "name": "Identifier", + "src": "6333:27:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6346, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6359, + "name": "Identifier", + "src": "6361:7:20" + } + ], + "id": 6360, + "name": "FunctionCall", + "src": "6333:36:20" + } + ], + "id": 6361, + "name": "VariableDeclarationStatement", + "src": "6312:57:20" + }, + { + "attributes": { + "assignments": [ + 6363 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 6423, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SchemeRegistrar.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 6157, + "type": "struct SchemeRegistrar.Parameters storage pointer" + }, + "id": 6362, + "name": "UserDefinedTypeName", + "src": "6380:10:20" + } + ], + "id": 6363, + "name": "VariableDeclaration", + "src": "6380:24:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SchemeRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6161, + "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 6364, + "name": "Identifier", + "src": "6407:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6357, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6365, + "name": "Identifier", + "src": "6418:10:20" + } + ], + "id": 6366, + "name": "IndexAccess", + "src": "6407:22:20" + } + ], + "id": 6367, + "name": "VariableDeclarationStatement", + "src": "6380:49:20" + }, + { + "attributes": { + "assignments": [ + 6369 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 6423, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 6368, + "name": "UserDefinedTypeName", + "src": "6442:16:20" + } + ], + "id": 6369, + "name": "VariableDeclaration", + "src": "6442:24:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 6156, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6363, + "type": "struct SchemeRegistrar.Parameters memory", + "value": "params" + }, + "id": 6370, + "name": "Identifier", + "src": "6469:6:20" + } + ], + "id": 6371, + "name": "MemberAccess", + "src": "6469:14:20" + } + ], + "id": 6372, + "name": "VariableDeclarationStatement", + "src": "6442:41:20" + }, + { + "attributes": { + "assignments": [ + 6374 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposalId", + "scope": 6423, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6373, + "name": "ElementaryTypeName", + "src": "6494:7:20" + } + ], + "id": 6374, + "name": "VariableDeclaration", + "src": "6494:18:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_ExecutableInterface_$5155", + "typeString": "contract ExecutableInterface" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "propose", + "referencedDeclaration": 2570, + "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6369, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 6375, + "name": "Identifier", + "src": "6515:7:20" + } + ], + "id": 6376, + "name": "MemberAccess", + "src": "6515:15:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 6377, + "name": "Literal", + "src": "6531:1:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteRemoveParams", + "referencedDeclaration": 6154, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6363, + "type": "struct SchemeRegistrar.Parameters memory", + "value": "params" + }, + "id": 6378, + "name": "Identifier", + "src": "6534:6:20" + } + ], + "id": 6379, + "name": "MemberAccess", + "src": "6534:23:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6346, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6380, + "name": "Identifier", + "src": "6559:7:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ExecutableInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_SchemeRegistrar_$6584", + "typeString": "contract SchemeRegistrar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5155, + "type": "type(contract ExecutableInterface)", + "value": "ExecutableInterface" + }, + "id": 6381, + "name": "Identifier", + "src": "6568:19:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9813, + "type": "contract SchemeRegistrar", + "value": "this" + }, + "id": 6382, + "name": "Identifier", + "src": "6588:4:20" + } + ], + "id": 6383, + "name": "FunctionCall", + "src": "6568:25:20" + } + ], + "id": 6384, + "name": "FunctionCall", + "src": "6515:79:20" + } + ], + "id": 6385, + "name": "VariableDeclarationStatement", + "src": "6494:100:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "proposalType", + "referencedDeclaration": 6135, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SchemeRegistrar.SchemeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6150, + "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 6386, + "name": "Identifier", + "src": "6615:22:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6346, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6387, + "name": "Identifier", + "src": "6638:7:20" + } + ], + "id": 6389, + "name": "IndexAccess", + "src": "6615:31:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6374, + "type": "bytes32", + "value": "proposalId" + }, + "id": 6388, + "name": "Identifier", + "src": "6647:10:20" + } + ], + "id": 6390, + "name": "IndexAccess", + "src": "6615:43:20" + } + ], + "id": 6391, + "name": "MemberAccess", + "src": "6615:56:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 6392, + "name": "Literal", + "src": "6674:1:20" + } + ], + "id": 6393, + "name": "Assignment", + "src": "6615:60:20" + } + ], + "id": 6394, + "name": "ExpressionStatement", + "src": "6615:60:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "scheme", + "referencedDeclaration": 6131, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SchemeRegistrar.SchemeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6150, + "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 6395, + "name": "Identifier", + "src": "6686:22:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6346, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6396, + "name": "Identifier", + "src": "6709:7:20" + } + ], + "id": 6398, + "name": "IndexAccess", + "src": "6686:31:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6374, + "type": "bytes32", + "value": "proposalId" + }, + "id": 6397, + "name": "Identifier", + "src": "6718:10:20" + } + ], + "id": 6399, + "name": "IndexAccess", + "src": "6686:43:20" + } + ], + "id": 6400, + "name": "MemberAccess", + "src": "6686:50:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6348, + "type": "address", + "value": "_scheme" + }, + "id": 6401, + "name": "Identifier", + "src": "6739:7:20" + } + ], + "id": 6402, + "name": "Assignment", + "src": "6686:60:20" + } + ], + "id": 6403, + "name": "ExpressionStatement", + "src": "6686:60:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6117, + "type": "function (address,bytes32,address,address)", + "value": "LogRemoveSchemeProposal" + }, + "id": 6404, + "name": "Identifier", + "src": "6757:23:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6346, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6405, + "name": "Identifier", + "src": "6781:7:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6374, + "type": "bytes32", + "value": "proposalId" + }, + "id": 6406, + "name": "Identifier", + "src": "6790:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6369, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 6407, + "name": "Identifier", + "src": "6802:7:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6348, + "type": "address", + "value": "_scheme" + }, + "id": 6408, + "name": "Identifier", + "src": "6811:7:20" + } + ], + "id": 6409, + "name": "FunctionCall", + "src": "6757:62:20" + } + ], + "id": 6410, + "name": "ExpressionStatement", + "src": "6757:62:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "ownerVote", + "referencedDeclaration": 2597, + "type": "function (bytes32,uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6369, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 6411, + "name": "Identifier", + "src": "6865:7:20" + } + ], + "id": 6413, + "name": "MemberAccess", + "src": "6865:17:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6374, + "type": "bytes32", + "value": "proposalId" + }, + "id": 6414, + "name": "Identifier", + "src": "6883:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 6415, + "name": "Literal", + "src": "6895:1:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6416, + "name": "Identifier", + "src": "6898:3:20" + } + ], + "id": 6417, + "name": "MemberAccess", + "src": "6898:10:20" + } + ], + "id": 6418, + "name": "FunctionCall", + "src": "6865:44:20" + } + ], + "id": 6419, + "name": "ExpressionStatement", + "src": "6865:44:20" + }, + { + "attributes": { + "functionReturnParameters": 6355 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6374, + "type": "bytes32", + "value": "proposalId" + }, + "id": 6420, + "name": "Identifier", + "src": "6983:10:20" + } + ], + "id": 6421, + "name": "Return", + "src": "6976:17:20" + } + ], + "id": 6422, + "name": "Block", + "src": "6301:700:20" + } + ], + "id": 6423, + "name": "FunctionDefinition", + "src": "6157:844:20" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "execute", + "payable": false, + "scope": 6584, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 6583, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6424, + "name": "ElementaryTypeName", + "src": "7428:7:20" + } + ], + "id": 6425, + "name": "VariableDeclaration", + "src": "7428:19:20" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6583, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6426, + "name": "ElementaryTypeName", + "src": "7449:7:20" + } + ], + "id": 6427, + "name": "VariableDeclaration", + "src": "7449:15:20" + }, + { + "attributes": { + "constant": false, + "name": "_param", + "scope": 6583, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 6428, + "name": "ElementaryTypeName", + "src": "7466:3:20" + } + ], + "id": 6429, + "name": "VariableDeclaration", + "src": "7466:10:20" + } + ], + "id": 6430, + "name": "ParameterList", + "src": "7427:50:20" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6583, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6431, + "name": "ElementaryTypeName", + "src": "7495:4:20" + } + ], + "id": 6432, + "name": "VariableDeclaration", + "src": "7495:4:20" + } + ], + "id": 6433, + "name": "ParameterList", + "src": "7494:6:20" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6434, + "name": "Identifier", + "src": "7571:7:20" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 6156, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SchemeRegistrar.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6161, + "type": "mapping(bytes32 => struct SchemeRegistrar.Parameters storage ref)", + "value": "parameters" + }, + "id": 6435, + "name": "Identifier", + "src": "7579:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 6436, + "name": "Identifier", + "src": "7590:27:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 6437, + "name": "Identifier", + "src": "7618:6:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6427, + "type": "address", + "value": "_avatar" + }, + "id": 6438, + "name": "Identifier", + "src": "7625:7:20" + } + ], + "id": 6439, + "name": "FunctionCall", + "src": "7618:15:20" + } + ], + "id": 6440, + "name": "FunctionCall", + "src": "7590:44:20" + } + ], + "id": 6441, + "name": "IndexAccess", + "src": "7579:56:20" + } + ], + "id": 6442, + "name": "MemberAccess", + "src": "7579:64:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6443, + "name": "Identifier", + "src": "7647:3:20" + } + ], + "id": 6444, + "name": "MemberAccess", + "src": "7647:10:20" + } + ], + "id": 6445, + "name": "BinaryOperation", + "src": "7579:78:20" + } + ], + "id": 6446, + "name": "FunctionCall", + "src": "7571:87:20" + } + ], + "id": 6447, + "name": "ExpressionStatement", + "src": "7571:87:20" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6429, + "type": "int256", + "value": "_param" + }, + "id": 6448, + "name": "Identifier", + "src": "7675:6:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 6449, + "name": "Literal", + "src": "7685:1:20" + } + ], + "id": 6450, + "name": "BinaryOperation", + "src": "7675:11:20" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 6452 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 6583, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 6451, + "name": "UserDefinedTypeName", + "src": "7755:10:20" + } + ], + "id": 6452, + "name": "VariableDeclaration", + "src": "7755:21:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 6453, + "name": "Identifier", + "src": "7779:10:20" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 6454, + "name": "Identifier", + "src": "7790:6:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6427, + "type": "address", + "value": "_avatar" + }, + "id": 6455, + "name": "Identifier", + "src": "7797:7:20" + } + ], + "id": 6456, + "name": "FunctionCall", + "src": "7790:15:20" + } + ], + "id": 6457, + "name": "MemberAccess", + "src": "7790:21:20" + } + ], + "id": 6458, + "name": "FunctionCall", + "src": "7790:23:20" + } + ], + "id": 6459, + "name": "FunctionCall", + "src": "7779:35:20" + } + ], + "id": 6460, + "name": "VariableDeclarationStatement", + "src": "7755:59:20" + }, + { + "attributes": { + "assignments": [ + 6462 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 6583, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SchemeProposal", + "referencedDeclaration": 6144, + "type": "struct SchemeRegistrar.SchemeProposal storage pointer" + }, + "id": 6461, + "name": "UserDefinedTypeName", + "src": "7829:14:20" + } + ], + "id": 6462, + "name": "VariableDeclaration", + "src": "7829:30:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SchemeRegistrar.SchemeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6150, + "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 6463, + "name": "Identifier", + "src": "7862:22:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6427, + "type": "address", + "value": "_avatar" + }, + "id": 6464, + "name": "Identifier", + "src": "7885:7:20" + } + ], + "id": 6465, + "name": "IndexAccess", + "src": "7862:31:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6425, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 6466, + "name": "Identifier", + "src": "7894:11:20" + } + ], + "id": 6467, + "name": "IndexAccess", + "src": "7862:44:20" + } + ], + "id": 6468, + "name": "VariableDeclarationStatement", + "src": "7829:77:20" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposalType", + "referencedDeclaration": 6135, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6469, + "name": "Identifier", + "src": "7953:8:20" + } + ], + "id": 6470, + "name": "MemberAccess", + "src": "7953:21:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 6471, + "name": "Literal", + "src": "7978:1:20" + } + ], + "id": 6472, + "name": "BinaryOperation", + "src": "7953:26:20" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "fee", + "referencedDeclaration": 6141, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6473, + "name": "Identifier", + "src": "8004:8:20" + } + ], + "id": 6474, + "name": "MemberAccess", + "src": "8004:12:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6475, + "name": "Literal", + "src": "8020:1:20" + } + ], + "id": 6476, + "name": "BinaryOperation", + "src": "8004:17:20" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "externalTokenIncreaseApproval", + "referencedDeclaration": 4124, + "type": "function (contract StandardToken,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6452, + "type": "contract Controller", + "value": "controller" + }, + "id": 6477, + "name": "Identifier", + "src": "8051:10:20" + } + ], + "id": 6478, + "name": "MemberAccess", + "src": "8051:40:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "tokenFee", + "referencedDeclaration": 6139, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6479, + "name": "Identifier", + "src": "8092:8:20" + } + ], + "id": 6480, + "name": "MemberAccess", + "src": "8092:17:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "scheme", + "referencedDeclaration": 6131, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6481, + "name": "Identifier", + "src": "8111:8:20" + } + ], + "id": 6482, + "name": "MemberAccess", + "src": "8111:15:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "fee", + "referencedDeclaration": 6141, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6483, + "name": "Identifier", + "src": "8128:8:20" + } + ], + "id": 6484, + "name": "MemberAccess", + "src": "8128:12:20" + } + ], + "id": 6485, + "name": "FunctionCall", + "src": "8051:90:20" + } + ], + "id": 6486, + "name": "UnaryOperation", + "src": "8050:91:20" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 6487, + "name": "Identifier", + "src": "8170:6:20" + } + ], + "id": 6488, + "name": "FunctionCall", + "src": "8170:8:20" + } + ], + "id": 6489, + "name": "ExpressionStatement", + "src": "8170:8:20" + } + ], + "id": 6490, + "name": "Block", + "src": "8143:61:20" + } + ], + "id": 6491, + "name": "IfStatement", + "src": "8046:158:20" + } + ], + "id": 6492, + "name": "Block", + "src": "8023:204:20" + } + ], + "id": 6493, + "name": "IfStatement", + "src": "8000:227:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "isRegistering", + "referencedDeclaration": 6137, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6494, + "name": "Identifier", + "src": "8249:8:20" + } + ], + "id": 6495, + "name": "MemberAccess", + "src": "8249:22:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6496, + "name": "Literal", + "src": "8275:5:20" + } + ], + "id": 6497, + "name": "BinaryOperation", + "src": "8249:31:20" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "registerScheme", + "referencedDeclaration": 3597, + "type": "function (address,bytes32,bytes4) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6452, + "type": "contract Controller", + "value": "controller" + }, + "id": 6498, + "name": "Identifier", + "src": "8310:10:20" + } + ], + "id": 6499, + "name": "MemberAccess", + "src": "8310:25:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "scheme", + "referencedDeclaration": 6131, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6500, + "name": "Identifier", + "src": "8336:8:20" + } + ], + "id": 6501, + "name": "MemberAccess", + "src": "8336:15:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "parametersHash", + "referencedDeclaration": 6133, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6502, + "name": "Identifier", + "src": "8353:8:20" + } + ], + "id": 6503, + "name": "MemberAccess", + "src": "8353:23:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 6504, + "name": "ElementaryTypeNameExpression", + "src": "8378:6:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 6505, + "name": "Literal", + "src": "8385:1:20" + } + ], + "id": 6506, + "name": "FunctionCall", + "src": "8378:9:20" + } + ], + "id": 6507, + "name": "FunctionCall", + "src": "8310:78:20" + } + ], + "id": 6508, + "name": "UnaryOperation", + "src": "8309:79:20" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 6509, + "name": "Identifier", + "src": "8417:6:20" + } + ], + "id": 6510, + "name": "FunctionCall", + "src": "8417:8:20" + } + ], + "id": 6511, + "name": "ExpressionStatement", + "src": "8417:8:20" + } + ], + "id": 6512, + "name": "Block", + "src": "8390:61:20" + } + ], + "id": 6513, + "name": "IfStatement", + "src": "8305:146:20" + } + ], + "id": 6514, + "name": "Block", + "src": "8282:194:20" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "registerScheme", + "referencedDeclaration": 3597, + "type": "function (address,bytes32,bytes4) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6452, + "type": "contract Controller", + "value": "controller" + }, + "id": 6515, + "name": "Identifier", + "src": "8510:10:20" + } + ], + "id": 6516, + "name": "MemberAccess", + "src": "8510:25:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "scheme", + "referencedDeclaration": 6131, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6517, + "name": "Identifier", + "src": "8536:8:20" + } + ], + "id": 6518, + "name": "MemberAccess", + "src": "8536:15:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "parametersHash", + "referencedDeclaration": 6133, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6519, + "name": "Identifier", + "src": "8553:8:20" + } + ], + "id": 6520, + "name": "MemberAccess", + "src": "8553:23:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes4)", + "value": "bytes4" + }, + "id": 6521, + "name": "ElementaryTypeNameExpression", + "src": "8578:6:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "33", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 3", + "value": "3" + }, + "id": 6522, + "name": "Literal", + "src": "8585:1:20" + } + ], + "id": 6523, + "name": "FunctionCall", + "src": "8578:9:20" + } + ], + "id": 6524, + "name": "FunctionCall", + "src": "8510:78:20" + } + ], + "id": 6525, + "name": "UnaryOperation", + "src": "8509:79:20" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 6526, + "name": "Identifier", + "src": "8617:6:20" + } + ], + "id": 6527, + "name": "FunctionCall", + "src": "8617:8:20" + } + ], + "id": 6528, + "name": "ExpressionStatement", + "src": "8617:8:20" + } + ], + "id": 6529, + "name": "Block", + "src": "8590:59:20" + } + ], + "id": 6530, + "name": "IfStatement", + "src": "8505:144:20" + } + ], + "id": 6531, + "name": "Block", + "src": "8482:186:20" + } + ], + "id": 6532, + "name": "IfStatement", + "src": "8245:423:20" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "autoRegisterOrganization", + "referencedDeclaration": 6143, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6533, + "name": "Identifier", + "src": "8690:8:20" + } + ], + "id": 6534, + "name": "MemberAccess", + "src": "8690:33:20" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "registerOrganization", + "referencedDeclaration": 7165, + "type": "function (contract Avatar) external" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract UniversalScheme", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7229, + "type": "type(contract UniversalScheme)", + "value": "UniversalScheme" + }, + "id": 6535, + "name": "Identifier", + "src": "8748:15:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "scheme", + "referencedDeclaration": 6131, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6536, + "name": "Identifier", + "src": "8764:8:20" + } + ], + "id": 6537, + "name": "MemberAccess", + "src": "8764:15:20" + } + ], + "id": 6538, + "name": "FunctionCall", + "src": "8748:32:20" + } + ], + "id": 6539, + "name": "MemberAccess", + "src": "8748:53:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 6540, + "name": "Identifier", + "src": "8802:6:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6427, + "type": "address", + "value": "_avatar" + }, + "id": 6541, + "name": "Identifier", + "src": "8809:7:20" + } + ], + "id": 6542, + "name": "FunctionCall", + "src": "8802:15:20" + } + ], + "id": 6543, + "name": "FunctionCall", + "src": "8748:70:20" + } + ], + "id": 6544, + "name": "ExpressionStatement", + "src": "8748:70:20" + } + ], + "id": 6545, + "name": "Block", + "src": "8725:115:20" + } + ], + "id": 6546, + "name": "IfStatement", + "src": "8686:154:20" + } + ], + "id": 6547, + "name": "Block", + "src": "7981:878:20" + } + ], + "id": 6548, + "name": "IfStatement", + "src": "7949:910:20" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposalType", + "referencedDeclaration": 6135, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6549, + "name": "Identifier", + "src": "8907:8:20" + } + ], + "id": 6550, + "name": "MemberAccess", + "src": "8907:21:20" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 6551, + "name": "Literal", + "src": "8932:1:20" + } + ], + "id": 6552, + "name": "BinaryOperation", + "src": "8907:26:20" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "unregisterScheme", + "referencedDeclaration": 3663, + "type": "function (address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6452, + "type": "contract Controller", + "value": "controller" + }, + "id": 6553, + "name": "Identifier", + "src": "8960:10:20" + } + ], + "id": 6554, + "name": "MemberAccess", + "src": "8960:27:20" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "scheme", + "referencedDeclaration": 6131, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6462, + "type": "struct SchemeRegistrar.SchemeProposal memory", + "value": "proposal" + }, + "id": 6555, + "name": "Identifier", + "src": "8988:8:20" + } + ], + "id": 6556, + "name": "MemberAccess", + "src": "8988:15:20" + } + ], + "id": 6557, + "name": "FunctionCall", + "src": "8960:44:20" + } + ], + "id": 6558, + "name": "UnaryOperation", + "src": "8959:45:20" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 6559, + "name": "Identifier", + "src": "9029:6:20" + } + ], + "id": 6560, + "name": "FunctionCall", + "src": "9029:8:20" + } + ], + "id": 6561, + "name": "ExpressionStatement", + "src": "9029:8:20" + } + ], + "id": 6562, + "name": "Block", + "src": "9006:53:20" + } + ], + "id": 6563, + "name": "IfStatement", + "src": "8955:104:20" + } + ], + "id": 6564, + "name": "Block", + "src": "8936:142:20" + } + ], + "id": 6565, + "name": "IfStatement", + "src": "8902:176:20" + } + ], + "id": 6566, + "name": "Block", + "src": "7688:1403:20" + } + ], + "id": 6567, + "name": "IfStatement", + "src": "7671:1420:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct SchemeRegistrar.SchemeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6150, + "type": "mapping(address => mapping(bytes32 => struct SchemeRegistrar.SchemeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 6568, + "name": "Identifier", + "src": "9108:22:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6427, + "type": "address", + "value": "_avatar" + }, + "id": 6569, + "name": "Identifier", + "src": "9131:7:20" + } + ], + "id": 6570, + "name": "IndexAccess", + "src": "9108:31:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6425, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 6571, + "name": "Identifier", + "src": "9140:11:20" + } + ], + "id": 6572, + "name": "IndexAccess", + "src": "9108:44:20" + } + ], + "id": 6573, + "name": "UnaryOperation", + "src": "9101:51:20" + } + ], + "id": 6574, + "name": "ExpressionStatement", + "src": "9101:51:20" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6123, + "type": "function (address,bytes32)", + "value": "LogProposalExecuted" + }, + "id": 6575, + "name": "Identifier", + "src": "9163:19:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6427, + "type": "address", + "value": "_avatar" + }, + "id": 6576, + "name": "Identifier", + "src": "9183:7:20" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6425, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 6577, + "name": "Identifier", + "src": "9192:11:20" + } + ], + "id": 6578, + "name": "FunctionCall", + "src": "9163:41:20" + } + ], + "id": 6579, + "name": "ExpressionStatement", + "src": "9163:41:20" + }, + { + "attributes": { + "functionReturnParameters": 6433 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 6580, + "name": "Literal", + "src": "9222:4:20" + } + ], + "id": 6581, + "name": "Return", + "src": "9215:11:20" + } + ], + "id": 6582, + "name": "Block", + "src": "7501:1733:20" + } + ], + "id": 6583, + "name": "FunctionDefinition", + "src": "7411:1823:20" + } + ], + "id": 6584, + "name": "ContractDefinition", + "src": "276:8961:20" + } + ], + "id": 6585, + "name": "SourceUnit", + "src": "0:9239:20" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "42": { + "events": { + "0xa3d27ea573e5dd5b65d4850ff4d0cb2e1f8633c148ff9c19040e1b6c609c0386": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_scheme", + "type": "address" + }, + { + "indexed": false, + "name": "_parametersHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_isRegistering", + "type": "bool" + }, + { + "indexed": false, + "name": "_tokenFee", + "type": "address" + }, + { + "indexed": false, + "name": "_fee", + "type": "uint256" + }, + { + "indexed": false, + "name": "_autoRegisterOrganization", + "type": "bool" + } + ], + "name": "LogNewSchemeProposal", + "type": "event" + }, + "0x68953fb1bf1b1aeeaaa5832742ffcb54530b6c3d63a03a1cb09a6b69dae43446": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_scheme", + "type": "address" + } + ], + "name": "LogRemoveSchemeProposal", + "type": "event" + }, + "0x1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalExecuted", + "type": "event" + }, + "0xb5a530776d05e9cd7b304c6670fc54c08de4635c6c958237204d61215ca1ce34": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalDeleted", + "type": "event" + }, + "0x2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e5": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + "0x3e49374a7db898f4d722a5bb59326d1c41e883a698b84df91f09ebe018070732": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x2a7980b05f280e0a3f3cc0ddb93d20f276f0ef35" + }, + "1512051714758": { + "events": { + "0xa3d27ea573e5dd5b65d4850ff4d0cb2e1f8633c148ff9c19040e1b6c609c0386": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_scheme", + "type": "address" + }, + { + "indexed": false, + "name": "_parametersHash", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_isRegistering", + "type": "bool" + }, + { + "indexed": false, + "name": "_tokenFee", + "type": "address" + }, + { + "indexed": false, + "name": "_fee", + "type": "uint256" + }, + { + "indexed": false, + "name": "_autoRegisterOrganization", + "type": "bool" + } + ], + "name": "LogNewSchemeProposal", + "type": "event" + }, + "0x68953fb1bf1b1aeeaaa5832742ffcb54530b6c3d63a03a1cb09a6b69dae43446": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_scheme", + "type": "address" + } + ], + "name": "LogRemoveSchemeProposal", + "type": "event" + }, + "0x1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalExecuted", + "type": "event" + }, + "0xb5a530776d05e9cd7b304c6670fc54c08de4635c6c958237204d61215ca1ce34": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalDeleted", + "type": "event" + }, + "0x2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e5": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + "0x3e49374a7db898f4d722a5bb59326d1c41e883a698b84df91f09ebe018070732": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xd3f31dcbf1b2d2eaf9e76f2c49c55f767e718aab" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.866Z" +} \ No newline at end of file diff --git a/contracts/SimpleICO.json b/contracts/SimpleICO.json new file mode 100644 index 000000000..481d96bf9 --- /dev/null +++ b/contracts/SimpleICO.json @@ -0,0 +1,7624 @@ +{ + "contractName": "SimpleICO", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "name": "cap", + "type": "uint256" + }, + { + "name": "price", + "type": "uint256" + }, + { + "name": "startBlock", + "type": "uint256" + }, + { + "name": "endBlock", + "type": "uint256" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "admin", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_cap", + "type": "uint256" + }, + { + "name": "_price", + "type": "uint256" + }, + { + "name": "_startBlock", + "type": "uint256" + }, + { + "name": "_endBlock", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_admin", + "type": "address" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "name": "donate", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": true, + "stateMutability": "payable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizationsICOInfo", + "outputs": [ + { + "name": "paramsHash", + "type": "bytes32" + }, + { + "name": "avatarContractICO", + "type": "address" + }, + { + "name": "totalEthRaised", + "type": "uint256" + }, + { + "name": "isHalted", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_cap", + "type": "uint256" + }, + { + "name": "_price", + "type": "uint256" + }, + { + "name": "_startBlock", + "type": "uint256" + }, + { + "name": "_endBlock", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_admin", + "type": "address" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizations", + "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": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isActive", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "haltICO", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "start", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "resumeICO", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "hashedParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "organization", + "type": "address" + }, + { + "indexed": true, + "name": "_beneficiary", + "type": "address" + }, + { + "indexed": false, + "name": "_incomingEther", + "type": "uint256" + }, + { + "indexed": true, + "name": "_tokensAmount", + "type": "uint256" + } + ], + "name": "DonationReceived", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6040516060806114b983398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617815590925061006b9150849084908490640100000000610073810261085a1704565b5050506100c6565b60005433600160a060020a0390811691161461008e57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b6113e4806100d56000396000f3006060604052600436106100ed5763ffffffff60e060020a6000350416630250680481146100f25780630d6099391461014c57806321bea7cc1461018f57806338af3eed146101a95780634345a610146101d85780634b9f69b8146102065780634eb09bf4146102595780635a1f74061461028a5780638da5cb5b146102bd57806390be003c146102d05780639f8a13d7146102ef578063bdbb829d1461030e578063c3c5a5471461032d578063dd0b281e1461034c578063ddca3f431461036b578063e1758bd81461037e578063e270bc8114610391578063f2fde38b146103b0578063f98e87ba146103cf575b600080fd5b34156100fd57600080fd5b6101086004356103e2565b60405195865260208601949094526040808601939093526060850191909152600160a060020a03908116608085015290911660a083015260c0909101905180910390f35b341561015757600080fd5b61017d600435602435604435606435600160a060020a0360843581169060a43516610424565b60405190815260200160405180910390f35b61017d600160a060020a036004358116906024351661052c565b34156101b457600080fd5b6101bc61084b565b604051600160a060020a03909116815260200160405180910390f35b34156101e357600080fd5b610204600160a060020a03600435811690602435906044351660643561085a565b005b341561021157600080fd5b610225600160a060020a03600435166108ba565b604051938452600160a060020a03909216602084015260408084019190915290151560608301526080909101905180910390f35b341561026457600080fd5b61017d600435602435604435606435600160a060020a0360843581169060a435166108ee565b341561029557600080fd5b6102a9600160a060020a0360043516610957565b604051901515815260200160405180910390f35b34156102c857600080fd5b6101bc61096c565b34156102db57600080fd5b610204600160a060020a036004351661097b565b34156102fa57600080fd5b6102a9600160a060020a0360043516610aa4565b341561031957600080fd5b610204600160a060020a0360043516610be7565b341561033857600080fd5b6102a9600160a060020a0360043516610c47565b341561035757600080fd5b610204600160a060020a0360043516610c65565b341561037657600080fd5b61017d610d6d565b341561038957600080fd5b6101bc610d73565b341561039c57600080fd5b610204600160a060020a0360043516610d82565b34156103bb57600080fd5b610204600160a060020a0360043516610ddf565b34156103da57600080fd5b61017d610e7a565b6007602052600090815260409020805460018201546002830154600384015460048501546005909501549394929391929091600160a060020a03918216911686565b6000806104358888888888886108ee565b60008181526007602052604090205490915015156105215760c0604051908101604090815289825260208083018a905281830189905260608301889052600160a060020a038088166080850152861660a0840152600084815260079091522081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560a0820151600591909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505b979650505050505050565b6000610536610fa5565b61053e610fcc565b600160a060020a038516600090815260066020526040808220829182918291608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039091015460ff161515606082015295506007600087518152602081019190915260409081016000209060c0905190810160409081528254825260018301546020830152600283015490820152600382015460608201526004820154600160a060020a03908116608083015260059092015490911660a0820152945061060f89610aa4565b151561061a57600080fd5b85606001511561062957600080fd5b61063f866040015186519063ffffffff610e8016565b3411156106755761065c866040015186519063ffffffff610e8016565b935061066e348563ffffffff610e8016565b9250610679565b3493505b61068e8560200151859063ffffffff610e9216565b91508460800151600160a060020a031684156108fc0285604051600060405180830381858888f1935050505015156106c557600080fd5b88600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561070b57600080fd5b6102c65a03f1151561071c57600080fd5b5050506040518051915050600160a060020a0381166310c5b328838a60006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b151561078557600080fd5b6102c65a03f1151561079657600080fd5b5050506040518051905015156107ab57600080fd5b82156107e257600160a060020a03881683156108fc0284604051600060405180830381858888f1935050505015156107e257600080fd5b600160a060020a03808a166000818152600660205260409081902060020180548801905584928b1691907fce9409ee3dc10e35de83dda0f830e4a13935452188fe71a956b850ecb839425f9088905190815260200160405180910390a450979650505050505050565b600354600160a060020a031681565b60005433600160a060020a0390811691161461087557600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60066020526000908152604090208054600182015460028301546003909301549192600160a060020a039091169160ff1684565b6000868686868686604051958652602086019490945260408086019390935260608501919091526c01000000000000000000000000600160a060020a03918216810260808601529216909102609483015260a89091019051809103902090509695505050505050565b60056020526000908152604090205460ff1681565b600054600160a060020a031681565b60006002541180156109a65750600160a060020a03811660009081526005602052604090205460ff16155b15610a3f57600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610a2357600080fd5b6102c65a03f11515610a3457600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b6000610aae610fa5565b610ab6610fcc565b600160a060020a0384166000908152600660205260409081902090608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039091015460ff161515606082015291506007600083518152602081019190915260409081016000209060c090519081016040908152825482526001830154602080840191909152600284015482840152600384015460608401526004840154600160a060020a039081166080850152600594850154811660a0850152881660009081529390529091205490915060ff161515610b9e5760009250610be0565b8051826040015110610bb35760009250610be0565b80606001514310610bc75760009250610be0565b80604001514311610bdb5760009250610be0565b600192505b5050919050565b600160a060020a0380821660009081526006602090815260408083205483526007909152902060050154338216911614610c2057600080fd5b600160a060020a03166000908152600660205260409020600301805460ff19166001179055565b600160a060020a031660009081526005602052604090205460ff1690565b610c6d610fa5565b610c7682610aa4565b15610c8057600080fd5b610c8982610ec8565b815260076000825181526020810191909152604001600020541515610cad57600080fd5b8130610cb7611015565b600160a060020a0392831681529116602082015260409081019051809103906000f0801515610ce557600080fd5b600160a060020a039081166020808401919091529083166000908152600690915260409020819081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055604082015181600201556060820151600391909101805460ff1916911515919091179055505050565b60025481565b600154600160a060020a031681565b600160a060020a0380821660009081526006602090815260408083205483526007909152902060050154338216911614610dbb57600080fd5b600160a060020a03166000908152600660205260409020600301805460ff19169055565b60005433600160a060020a03908116911614610dfa57600080fd5b600160a060020a0381161515610e0f57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045481565b600082821115610e8c57fe5b50900390565b600080831515610ea55760009150610ec1565b50828202828482811515610eb557fe5b0414610ebd57fe5b8091505b5092915050565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f1157600080fd5b6102c65a03f11515610f2257600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610f8457600080fd5b6102c65a03f11515610f9557600080fd5b5050506040518051949350505050565b60806040519081016040908152600080835260208301819052908201819052606082015290565b60c060405190810160405280600081526020016000815260200160008152602001600081526020016000600160a060020a031681526020016000600160a060020a031681525090565b604051610393806110268339019056006060604052341561000f57600080fd5b604051604080610393833981016040528080519190602001805160008054600160a060020a03338116600160a060020a0319928316179092556001805496831696821696909617909555600280549190921694169390931790925550506103188061007b6000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ebbede2811461012e57806323bd4d7a1461015d57806383197ef0146101705780638da5cb5b14610183578063f2fde38b14610196578063f5074f41146101b5575b34151561008357600080fd5b600254600154600160a060020a03918216916321bea7cc91349116336000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039283166004820152911660248201526044016020604051808303818588803b151561010557600080fd5b6125ee5a03f1151561011657600080fd5b5050505060405180511515905061012c57600080fd5b005b341561013957600080fd5b6101416101d4565b604051600160a060020a03909116815260200160405180910390f35b341561016857600080fd5b6101416101e3565b341561017b57600080fd5b61012c6101f2565b341561018e57600080fd5b61014161021b565b34156101a157600080fd5b61012c600160a060020a036004351661022a565b34156101c057600080fd5b61012c600160a060020a03600435166102c5565b600254600160a060020a031681565b600154600160a060020a031681565b60005433600160a060020a0390811691161461020d57600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60005433600160a060020a0390811691161461024557600080fd5b600160a060020a038116151561025a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146102e057600080fd5b80600160a060020a0316ff00a165627a7a72305820493184bff5490b8faf0143f84171302c487f56805bd80602c117beb91eabe9c40029a165627a7a72305820ccd3d181a78eaf03c262873f3b5fe0321a0f2dbbbe225e4e58625ac1f8e785180029", + "deployedBytecode": "0x6060604052600436106100ed5763ffffffff60e060020a6000350416630250680481146100f25780630d6099391461014c57806321bea7cc1461018f57806338af3eed146101a95780634345a610146101d85780634b9f69b8146102065780634eb09bf4146102595780635a1f74061461028a5780638da5cb5b146102bd57806390be003c146102d05780639f8a13d7146102ef578063bdbb829d1461030e578063c3c5a5471461032d578063dd0b281e1461034c578063ddca3f431461036b578063e1758bd81461037e578063e270bc8114610391578063f2fde38b146103b0578063f98e87ba146103cf575b600080fd5b34156100fd57600080fd5b6101086004356103e2565b60405195865260208601949094526040808601939093526060850191909152600160a060020a03908116608085015290911660a083015260c0909101905180910390f35b341561015757600080fd5b61017d600435602435604435606435600160a060020a0360843581169060a43516610424565b60405190815260200160405180910390f35b61017d600160a060020a036004358116906024351661052c565b34156101b457600080fd5b6101bc61084b565b604051600160a060020a03909116815260200160405180910390f35b34156101e357600080fd5b610204600160a060020a03600435811690602435906044351660643561085a565b005b341561021157600080fd5b610225600160a060020a03600435166108ba565b604051938452600160a060020a03909216602084015260408084019190915290151560608301526080909101905180910390f35b341561026457600080fd5b61017d600435602435604435606435600160a060020a0360843581169060a435166108ee565b341561029557600080fd5b6102a9600160a060020a0360043516610957565b604051901515815260200160405180910390f35b34156102c857600080fd5b6101bc61096c565b34156102db57600080fd5b610204600160a060020a036004351661097b565b34156102fa57600080fd5b6102a9600160a060020a0360043516610aa4565b341561031957600080fd5b610204600160a060020a0360043516610be7565b341561033857600080fd5b6102a9600160a060020a0360043516610c47565b341561035757600080fd5b610204600160a060020a0360043516610c65565b341561037657600080fd5b61017d610d6d565b341561038957600080fd5b6101bc610d73565b341561039c57600080fd5b610204600160a060020a0360043516610d82565b34156103bb57600080fd5b610204600160a060020a0360043516610ddf565b34156103da57600080fd5b61017d610e7a565b6007602052600090815260409020805460018201546002830154600384015460048501546005909501549394929391929091600160a060020a03918216911686565b6000806104358888888888886108ee565b60008181526007602052604090205490915015156105215760c0604051908101604090815289825260208083018a905281830189905260608301889052600160a060020a038088166080850152861660a0840152600084815260079091522081518155602082015181600101556040820151816002015560608201518160030155608082015160048201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a039290921691909117905560a0820151600591909101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505b979650505050505050565b6000610536610fa5565b61053e610fcc565b600160a060020a038516600090815260066020526040808220829182918291608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039091015460ff161515606082015295506007600087518152602081019190915260409081016000209060c0905190810160409081528254825260018301546020830152600283015490820152600382015460608201526004820154600160a060020a03908116608083015260059092015490911660a0820152945061060f89610aa4565b151561061a57600080fd5b85606001511561062957600080fd5b61063f866040015186519063ffffffff610e8016565b3411156106755761065c866040015186519063ffffffff610e8016565b935061066e348563ffffffff610e8016565b9250610679565b3493505b61068e8560200151859063ffffffff610e9216565b91508460800151600160a060020a031684156108fc0285604051600060405180830381858888f1935050505015156106c557600080fd5b88600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561070b57600080fd5b6102c65a03f1151561071c57600080fd5b5050506040518051915050600160a060020a0381166310c5b328838a60006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b151561078557600080fd5b6102c65a03f1151561079657600080fd5b5050506040518051905015156107ab57600080fd5b82156107e257600160a060020a03881683156108fc0284604051600060405180830381858888f1935050505015156107e257600080fd5b600160a060020a03808a166000818152600660205260409081902060020180548801905584928b1691907fce9409ee3dc10e35de83dda0f830e4a13935452188fe71a956b850ecb839425f9088905190815260200160405180910390a450979650505050505050565b600354600160a060020a031681565b60005433600160a060020a0390811691161461087557600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60066020526000908152604090208054600182015460028301546003909301549192600160a060020a039091169160ff1684565b6000868686868686604051958652602086019490945260408086019390935260608501919091526c01000000000000000000000000600160a060020a03918216810260808601529216909102609483015260a89091019051809103902090509695505050505050565b60056020526000908152604090205460ff1681565b600054600160a060020a031681565b60006002541180156109a65750600160a060020a03811660009081526005602052604090205460ff16155b15610a3f57600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610a2357600080fd5b6102c65a03f11515610a3457600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b6000610aae610fa5565b610ab6610fcc565b600160a060020a0384166000908152600660205260409081902090608090519081016040908152825482526001830154600160a060020a0316602083015260028301549082015260039091015460ff161515606082015291506007600083518152602081019190915260409081016000209060c090519081016040908152825482526001830154602080840191909152600284015482840152600384015460608401526004840154600160a060020a039081166080850152600594850154811660a0850152881660009081529390529091205490915060ff161515610b9e5760009250610be0565b8051826040015110610bb35760009250610be0565b80606001514310610bc75760009250610be0565b80604001514311610bdb5760009250610be0565b600192505b5050919050565b600160a060020a0380821660009081526006602090815260408083205483526007909152902060050154338216911614610c2057600080fd5b600160a060020a03166000908152600660205260409020600301805460ff19166001179055565b600160a060020a031660009081526005602052604090205460ff1690565b610c6d610fa5565b610c7682610aa4565b15610c8057600080fd5b610c8982610ec8565b815260076000825181526020810191909152604001600020541515610cad57600080fd5b8130610cb7611015565b600160a060020a0392831681529116602082015260409081019051809103906000f0801515610ce557600080fd5b600160a060020a039081166020808401919091529083166000908152600690915260409020819081518155602082015160018201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055604082015181600201556060820151600391909101805460ff1916911515919091179055505050565b60025481565b600154600160a060020a031681565b600160a060020a0380821660009081526006602090815260408083205483526007909152902060050154338216911614610dbb57600080fd5b600160a060020a03166000908152600660205260409020600301805460ff19169055565b60005433600160a060020a03908116911614610dfa57600080fd5b600160a060020a0381161515610e0f57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045481565b600082821115610e8c57fe5b50900390565b600080831515610ea55760009150610ec1565b50828202828482811515610eb557fe5b0414610ebd57fe5b8091505b5092915050565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f1157600080fd5b6102c65a03f11515610f2257600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610f8457600080fd5b6102c65a03f11515610f9557600080fd5b5050506040518051949350505050565b60806040519081016040908152600080835260208301819052908201819052606082015290565b60c060405190810160405280600081526020016000815260200160008152602001600081526020016000600160a060020a031681526020016000600160a060020a031681525090565b604051610393806110268339019056006060604052341561000f57600080fd5b604051604080610393833981016040528080519190602001805160008054600160a060020a03338116600160a060020a0319928316179092556001805496831696821696909617909555600280549190921694169390931790925550506103188061007b6000396000f3006060604052600436106100775763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ebbede2811461012e57806323bd4d7a1461015d57806383197ef0146101705780638da5cb5b14610183578063f2fde38b14610196578063f5074f41146101b5575b34151561008357600080fd5b600254600154600160a060020a03918216916321bea7cc91349116336000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a039283166004820152911660248201526044016020604051808303818588803b151561010557600080fd5b6125ee5a03f1151561011657600080fd5b5050505060405180511515905061012c57600080fd5b005b341561013957600080fd5b6101416101d4565b604051600160a060020a03909116815260200160405180910390f35b341561016857600080fd5b6101416101e3565b341561017b57600080fd5b61012c6101f2565b341561018e57600080fd5b61014161021b565b34156101a157600080fd5b61012c600160a060020a036004351661022a565b34156101c057600080fd5b61012c600160a060020a03600435166102c5565b600254600160a060020a031681565b600154600160a060020a031681565b60005433600160a060020a0390811691161461020d57600080fd5b600054600160a060020a0316ff5b600054600160a060020a031681565b60005433600160a060020a0390811691161461024557600080fd5b600160a060020a038116151561025a57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081169116146102e057600080fd5b80600160a060020a0316ff00a165627a7a72305820493184bff5490b8faf0143f84171302c487f56805bd80602c117beb91eabe9c40029a165627a7a72305820ccd3d181a78eaf03c262873f3b5fe0321a0f2dbbbe225e4e58625ac1f8e785180029", + "sourceMap": "1467:7750:21:-;;;3043:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;3043:168:21;;-1:-1:-1;3141:62:21;;-1:-1:-1;3158:12:21;;3172:4;;3043:168;;3141:16;;;;;;:62;:::i;:::-;3043:168;;;1467:7750;;1314:347:22;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;1467:7750:21:-;;;;;;;", + "deployedSourceMap": "1467:7750:21:-;;;;;;;;;-1:-1:-1;;;1467:7750:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2597:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2597:46:21;;;;;;;;;;;;;;;;;;;;;;;;;3653:800;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3653:800:21;;;;;;;;;;;;;;;;;;;;;;;;;7806:1408;;-1:-1:-1;;;;;7806:1408:21;;;;;;;;;;407:26:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;407:26:22;;;;;;;;;;;;;;1314:347;;;;;;;;;;-1:-1:-1;;;;;1314:347:22;;;;;;;;;;;;;;;;;2530:58:21;;;;;;;;;;-1:-1:-1;;;;;2530:58:21;;;;;;;;;;;-1:-1:-1;;;;;2530:58:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4870:430;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4870:430:21;;;;;;;;;;591:43:22;;;;;;;;;;-1:-1:-1;;;;;591:43:22;;;;;;;;;;;;;;;;;;;;;;238:20:29;;;;;;;;;;;;866:315:22;;;;;;;;;;-1:-1:-1;;;;;866:315:22;;;;;6833:565:21;;;;;;;;;;-1:-1:-1;;;;;6833:565:21;;;;;5888:197;;;;;;;;;;-1:-1:-1;;;;;5888:197:21;;;;;1189:117:22;;;;;;;;;;-1:-1:-1;;;;;1189:117:22;;;;;5408:354:21;;;;;;;;;;-1:-1:-1;;;;;5408:354:21;;;;;385:15:22;;;;;;;;;;;;346:32;;;;;;;;;;;;6213:200:21;;;;;;;;;;-1:-1:-1;;;;;6213:200:21;;;;;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;440:31:22;;;;;;;;;;;;2597:46:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2597:46:21;;;;;;:::o;3653:800::-;3866:7;3891:18;3912:166;3944:4;3963:6;3984:11;4010:9;4034:12;4061:6;3912:17;:166::i;:::-;4093:22;;;;:10;:22;;;;;:26;3891:187;;-1:-1:-1;4093:31:21;4089:329;;;4166:240;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4166:240:21;;;;;;;;;;;;;-1:-1:-1;4141:22:21;;;:10;:22;;;;4166:240;4141:265;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4141:265:21;-1:-1:-1;;;;;4141:265:21;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4141:265:21;-1:-1:-1;;;;;4141:265:21;;;;;;;;;-1:-1:-1;4089:329:21;4435:10;3653:800;-1:-1:-1;;;;;;;3653:800:21:o;7806:1408::-;7883:4;7900:23;;:::i;:::-;7966:24;;:::i;:::-;-1:-1:-1;;;;;7926:29:21;;8178:18;7926:29;;;:20;:29;;;;;;8178:18;;;;;;7900:55;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7900:55:21;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7993:10:21;7900:55;;8004:14;7993:26;;;;;;;;;;;;;;;;7966:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7966:53:21;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8073:17:21;8082:7;8073:8;:17::i;:::-;8065:26;;;;;;;;8150:3;:12;;;8149:13;8141:22;;;;;;8292:36;8309:3;:18;;;8293:6;:10;8292:16;:36;:16;:36;:::i;:::-;8280:9;:48;8275:247;;;8362:36;8379:3;:18;;;8363:6;:10;8362:16;:36;:16;:36;:::i;:::-;8346:52;-1:-1:-1;8422:30:21;8423:9;8346:52;8422:30;:15;:30;:::i;:::-;8413:39;;8275:247;;;8501:9;8485:25;;8275:247;8546:31;8564:6;:12;;;8546:13;;:31;:17;:31;:::i;:::-;8532:45;;8673:6;:18;;;-1:-1:-1;;;;;8673:27:21;:42;;;;8701:13;8673:42;;;;;;;;;;;;;;;;;;;;;;;;;;8763:7;-1:-1:-1;;;;;8763:13:21;;:15;;;;;;;;;;;-1:-1:-1;;;8763:15:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;8795:21:21;;;8817:6;8825:12;8795:43;;;;;;;;-1:-1:-1;;;8795:43:21;;;;;;;;;;;;;-1:-1:-1;;;;;8795:43:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8794:44;8790:85;;;8855:8;;;8790:85;8889:11;;8885:73;;-1:-1:-1;;;;;8917:21:21;;:29;;;;8939:6;8917:29;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9048:29:21;;;;;;;:20;:29;;;;;;;:44;;:61;;;;;;9175:6;;9120:62;;;9048:29;9120:62;;9096:13;;9120:62;;;;;;;;;;;;;-1:-1:-1;9200:6:21;7806:1408;-1:-1:-1;;;;;;;7806:1408:21:o;407:26:22:-;;;-1:-1:-1;;;;;407:26:22;;:::o;1314:347::-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;2530:58:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2530:58:21;;;;;;;:::o;4870:430::-;5101:7;5157:4;5176:6;5197:11;5223:9;5247:12;5274:6;5133:158;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5133:158:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5125:167;;4870:430;;;;;;;;:::o;591:43:22:-;;;;;;;;;;;;;;;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;866:315:22:-;980:1;974:3;;:7;973:39;;;;-1:-1:-1;;;;;;989:22:22;;;;;;:13;:22;;;;;;;;987:24;973:39;969:123;;;1029:11;;1063;;1076:3;;-1:-1:-1;;;;;1029:11:22;;;;:24;;1054:7;;1063:11;;;1029;:51;;;;;;;-1:-1:-1;;;1029:51:22;;;;;;-1:-1:-1;;;;;1029:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;969:123:22;-1:-1:-1;;;;;1102:22:22;;;;;;:13;:22;;;;;;;:29;;-1:-1:-1;;1102:29:22;1127:4;1102:29;;;1142:31;;1116:7;;1142:31;-1:-1:-1;;;;;1142:31:22;;;;;;;;;;;;;;866:315;:::o;6833:565:21:-;6892:4;6909:23;;:::i;:::-;6975:24;;:::i;:::-;-1:-1:-1;;;;;6935:29:21;;;;;;:20;:29;;;;;;;;6909:55;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6909:55:21;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7002:10:21;6909:55;;7013:14;7002:26;;;;;;;;;;;;;;;;6975:53;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6975:53:21;;;;;;;;;;;;;;;;;;7045:22;;6975:53;7045:22;;;;;;;;;;6975:53;;-1:-1:-1;7045:22:21;;7043:24;7039:69;;;7091:5;7084:12;;;;7039:69;7144:6;:10;7122:3;:18;;;:32;7118:77;;7178:5;7171:12;;;;7118:77;7225:6;:15;;;7209:12;:31;7205:76;;7264:5;7257:12;;;;7205:76;7311:6;:17;;;7295:12;:33;7291:78;;7352:5;7345:12;;;;7291:78;7386:4;7379:11;;6833:565;;;;;;:::o;5888:197::-;-1:-1:-1;;;;;5973:29:21;;;5962:52;5973:29;;;:20;:29;;;;;;;;:40;5962:52;;:10;:52;;;;;:58;;;5948:10;:72;;5962:58;;5948:72;5940:81;;;;;;-1:-1:-1;;;;;6032:29:21;;;;;:20;:29;;;;;:38;;:45;;-1:-1:-1;;6032:45:21;6073:4;6032:45;;;5888:197::o;1189:117:22:-;-1:-1:-1;;;;;1276:22:22;1252:4;1276:22;;;:13;:22;;;;;;;;;1189:117::o;5408:354:21:-;5495:23;;:::i;:::-;5466:17;5475:7;5466:8;:17::i;:::-;5465:18;5457:27;;;;;;5546:36;5574:7;5546:27;:36::i;:::-;5529:53;;5601:10;5529:14;:3;5612:14;5601:26;;;;;;;;;;;;;:30;:35;;5593:44;;;;;;5694:7;5703:4;5672:36;;:::i;:::-;-1:-1:-1;;;;;5672:36:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5648:60:21;;;:21;;;;:60;;;;5719:29;;;;;;;:20;:29;;;;;;5648:3;;;5719:35;;;;;;;;;;;;-1:-1:-1;;5719:35:21;-1:-1:-1;;;;;5719:35:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5719:35:21;;;;;;;;;;-1:-1:-1;;;5408:354:21:o;385:15:22:-;;;;:::o;346:32::-;;;-1:-1:-1;;;;;346:32:22;;:::o;6213:200:21:-;-1:-1:-1;;;;;6300:29:21;;;6289:52;6300:29;;;:20;:29;;;;;;;;:40;6289:52;;:10;:52;;;;;:58;;;6275:10;:72;;6289:58;;6275:72;6267:81;;;;;;-1:-1:-1;;;;;6359:29:21;6400:5;6359:29;;;:20;:29;;;;;:38;;:46;;-1:-1:-1;;6359:46:21;;;6213:200::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;440:31:22:-;;;;:::o;584:110:28:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;138:173::-;196:7;;215:6;;211:35;;;238:1;231:8;;;;211:35;-1:-1:-1;263:5:28;;;267:1;263;:5;281;;;;;;;;:10;274:18;;;;305:1;298:8;;138:173;;;;;;:::o;1761:212:22:-;1840:7;1860:21;1895:7;-1:-1:-1;;;;;1895:13:22;;:15;;;;;;;;;;;-1:-1:-1;;;1895:15:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1929:30:22;;;1960:4;1929:36;;;;;;;;-1:-1:-1;;;1929:36:22;;;;;;-1:-1:-1;;;;;1929:36:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1761:212;-1:-1:-1;;;;1761:212:22:o;1467:7750:21:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1467:7750:21;;;;;;-1:-1:-1;;;;;1467:7750:21;;;;;:::o;:::-;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"./UniversalScheme.sol\";\r\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\r\nimport \"zeppelin-solidity/contracts/math/SafeMath.sol\";\r\nimport \"zeppelin-solidity/contracts/lifecycle/Destructible.sol\";\r\n\r\n\r\n/**\r\n * @title An avatar contract for ICO.\r\n * @dev Allow people to donate by simply sending ether to an address.\r\n */\r\ncontract MirrorContractICO is Destructible {\r\n Avatar public organization; // The organization address (the avatar)\r\n SimpleICO public simpleICO; // The ICO contract address\r\n /**\r\n * @dev Constructor, setting the organization and ICO scheme.\r\n * @param _organization The organization's avatar.\r\n * @param _simpleICO The ICO Scheme.\r\n */\r\n function MirrorContractICO(Avatar _organization, SimpleICO _simpleICO) public {\r\n organization = _organization;\r\n simpleICO = _simpleICO;\r\n }\r\n\r\n /**\r\n * @dev Fallback function, when ether is sent it will donate to the ICO.\r\n * The ether will be returned if the donation is failed.\r\n */\r\n function () public payable {\r\n // Not to waste gas, if no value.\r\n require(msg.value != 0);\r\n\r\n // Return ether if couln't donate.\r\n if (simpleICO.donate.value(msg.value)(organization, msg.sender) == 0) {\r\n revert();\r\n }\r\n }\r\n}\r\n\r\n\r\n/**\r\n * @title SimpleICO scheme.\r\n * @dev A universal scheme to allow organizations to open a simple ICO and get donations.\r\n */\r\ncontract SimpleICO is UniversalScheme {\r\n using SafeMath for uint;\r\n\r\n // Struct holding the data for each organization\r\n struct Organization {\r\n bytes32 paramsHash; // Save the parameters approved by the org to open the ICO, so reules of ICO will not change.\r\n address avatarContractICO; // Avatar is a contract for users that want to send eth without calling a funciton.\r\n uint totalEthRaised;\r\n bool isHalted; // The admin of the ICO can halt the ICO at any time, and also resume it.\r\n }\r\n\r\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\r\n struct Parameters {\r\n uint cap; // Cap in Eth\r\n uint price; // Price represents Tokens per 1 Eth\r\n uint startBlock;\r\n uint endBlock;\r\n address beneficiary; // all funds received will be transffered to this address.\r\n address admin; // The admin can halt or resume ICO.\r\n }\r\n\r\n // A mapping from the organization (Avatar) address to the saved data of the organization:\r\n mapping(address=>Organization) public organizationsICOInfo;\r\n\r\n mapping(bytes32=>Parameters) public parameters;\r\n\r\n event DonationReceived(address indexed organization, address indexed _beneficiary, uint _incomingEther, uint indexed _tokensAmount);\r\n\r\n /**\r\n * @dev Constructor, Updating the initial prarmeters\r\n * @param _nativeToken The native token of the ICO\r\n * @param _fee The fee for intiating the ICO\r\n * @param _beneficiary The address that will receive the ethers\r\n */\r\n function SimpleICO(StandardToken _nativeToken, uint _fee, address _beneficiary) public {\r\n updateParameters(_nativeToken, _fee, _beneficiary, bytes32(0));\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters, save them if necessary, and return the hash value\r\n * @param _cap the ico cap\r\n * @param _price represents Tokens per 1 Eth\r\n * @param _startBlock ico start block\r\n * @param _endBlock ico end\r\n * @param _beneficiary the ico ether beneficiary\r\n * @param _admin the address of the ico admin which can hald and resume the ICO.\r\n * @return bytes32 -the params hash\r\n */\r\n function setParameters(\r\n uint _cap,\r\n uint _price,\r\n uint _startBlock,\r\n uint _endBlock,\r\n address _beneficiary,\r\n address _admin\r\n )\r\n public\r\n returns(bytes32)\r\n {\r\n bytes32 paramsHash = getParametersHash(\r\n _cap,\r\n _price,\r\n _startBlock,\r\n _endBlock,\r\n _beneficiary,\r\n _admin\r\n );\r\n if (parameters[paramsHash].cap == 0) {\r\n parameters[paramsHash] = Parameters({\r\n cap: _cap,\r\n price: _price,\r\n startBlock: _startBlock,\r\n endBlock:_endBlock,\r\n beneficiary:_beneficiary,\r\n admin:_admin\r\n });\r\n }\r\n return paramsHash;\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters and return the hash value\r\n * @param _cap the ico cap\r\n * @param _price represents Tokens per 1 Eth\r\n * @param _startBlock ico start block\r\n * @param _endBlock ico end\r\n * @param _beneficiary the ico ether beneficiary\r\n * @param _admin the address of the ico admin which can hald and resume the ICO.\r\n * @return bytes32 -the params hash\r\n */\r\n function getParametersHash(\r\n uint _cap,\r\n uint _price,\r\n uint _startBlock,\r\n uint _endBlock,\r\n address _beneficiary,\r\n address _admin\r\n )\r\n public\r\n pure\r\n returns(bytes32)\r\n {\r\n return (keccak256(\r\n _cap,\r\n _price,\r\n _startBlock,\r\n _endBlock,\r\n _beneficiary,\r\n _admin\r\n ));\r\n }\r\n\r\n /**\r\n * @dev start an ICO\r\n * @param _avatar The Avatar's of the organization\r\n */\r\n function start(Avatar _avatar) public {\r\n require(!isActive(_avatar));\r\n Organization memory org;\r\n org.paramsHash = getParametersFromController(_avatar);\r\n require(parameters[org.paramsHash].cap != 0);\r\n org.avatarContractICO = new MirrorContractICO(_avatar, this);\r\n organizationsICOInfo[_avatar] = org;\r\n }\r\n\r\n /**\r\n * @dev Allowing admin to halt an ICO.\r\n * @param _avatar The Avatar's of the organization\r\n */\r\n function haltICO(address _avatar) public {\r\n require(msg.sender == parameters[organizationsICOInfo[_avatar].paramsHash].admin);\r\n organizationsICOInfo[_avatar].isHalted = true;\r\n }\r\n\r\n /**\r\n * @dev Allowing admin to reopen an ICO.\r\n * @param _avatar The Avatar's of the organization\r\n */\r\n function resumeICO(address _avatar) public {\r\n require(msg.sender == parameters[organizationsICOInfo[_avatar].paramsHash].admin);\r\n organizationsICOInfo[_avatar].isHalted = false;\r\n }\r\n\r\n /**\r\n * @dev Check is an ICO is active (halted is still considered active). Active ICO:\r\n * 1. The organization is registered.\r\n * 2. The ICO didn't reach it's cap yet.\r\n * 3. The current block isn't bigger than the \"endBlock\" & Smaller then the \"startBlock\"\r\n * @param _avatar The Avatar's of the organization\r\n * @return bool which represents a successful of the function\r\n */\r\n function isActive(address _avatar) public constant returns(bool) {\r\n Organization memory org = organizationsICOInfo[_avatar];\r\n Parameters memory params = parameters[org.paramsHash];\r\n if (! organizations[_avatar]) {\r\n return false;\r\n }\r\n if (org.totalEthRaised >= params.cap) {\r\n return false;\r\n }\r\n if (block.number >= params.endBlock) {\r\n return false;\r\n }\r\n if (block.number <= params.startBlock) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev Donating ethers to get tokens.\r\n * If the donation is higher than the remaining ethers in the \"cap\",\r\n * The donator will get the change in ethers.\r\n * @param _avatar The Avatar's of the organization.\r\n * @param _beneficiary The donator's address - which will receive the ICO's tokens.\r\n * @return bool which represents a successful of the function\r\n */\r\n function donate(Avatar _avatar, address _beneficiary) public payable returns(uint) {\r\n Organization memory org = organizationsICOInfo[_avatar];\r\n Parameters memory params = parameters[org.paramsHash];\r\n\r\n // Check ICO is active:\r\n require(isActive(_avatar));\r\n\r\n // Check ICO is not halted:\r\n require(!org.isHalted);\r\n\r\n\r\n uint incomingEther;\r\n uint change;\r\n\r\n // Compute how much tokens to buy:\r\n if ( msg.value > (params.cap).sub(org.totalEthRaised) ) {\r\n incomingEther = (params.cap).sub(org.totalEthRaised);\r\n change = (msg.value).sub(incomingEther);\r\n } else {\r\n incomingEther = msg.value;\r\n }\r\n uint tokens = incomingEther.mul(params.price);\r\n // Send ether to the defined address, mint, and send change to beneficiary:\r\n params.beneficiary.transfer(incomingEther);\r\n\r\n Controller controller = Controller(_avatar.owner());\r\n if (!controller.mintTokens(tokens, _beneficiary)) {\r\n revert();\r\n }\r\n if (change != 0) {\r\n _beneficiary.transfer(change);\r\n }\r\n // Update total raised, call event and return amount of tokens bought:\r\n organizationsICOInfo[_avatar].totalEthRaised += incomingEther;\r\n DonationReceived(_avatar, _beneficiary, incomingEther, tokens);\r\n return tokens;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\SimpleICO.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/SimpleICO.sol", + "exportedSymbols": { + "MirrorContractICO": [ + 6641 + ], + "SimpleICO": [ + 7086 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 6586, + "name": "PragmaDirective", + "src": "0:24:21" + }, + { + "attributes": { + "SourceUnit": 7230, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "file": "./UniversalScheme.sol", + "scope": 7087, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6587, + "name": "ImportDirective", + "src": "28:31:21" + }, + { + "attributes": { + "SourceUnit": 9141, + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "scope": 7087, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6588, + "name": "ImportDirective", + "src": "61:59:21" + }, + { + "attributes": { + "SourceUnit": 9085, + "absolutePath": "zeppelin-solidity/contracts/math/SafeMath.sol", + "file": "zeppelin-solidity/contracts/math/SafeMath.sol", + "scope": 7087, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6589, + "name": "ImportDirective", + "src": "122:55:21" + }, + { + "attributes": { + "SourceUnit": 8987, + "absolutePath": "zeppelin-solidity/contracts/lifecycle/Destructible.sol", + "file": "zeppelin-solidity/contracts/lifecycle/Destructible.sol", + "scope": 7087, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 6590, + "name": "ImportDirective", + "src": "179:64:21" + }, + { + "attributes": { + "contractDependencies": [ + 8986, + 9140 + ], + "contractKind": "contract", + "documentation": "@title An avatar contract for ICO.\r\n@dev Allow people to donate by simply sending ether to an address.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 6641, + 8986, + 9140 + ], + "name": "MirrorContractICO", + "scope": 7087 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Destructible", + "referencedDeclaration": 8986, + "type": "contract Destructible" + }, + "id": 6591, + "name": "UserDefinedTypeName", + "src": "399:12:21" + } + ], + "id": 6592, + "name": "InheritanceSpecifier", + "src": "399:12:21" + }, + { + "attributes": { + "constant": false, + "name": "organization", + "scope": 6641, + "stateVariable": true, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6593, + "name": "UserDefinedTypeName", + "src": "419:6:21" + } + ], + "id": 6594, + "name": "VariableDeclaration", + "src": "419:26:21" + }, + { + "attributes": { + "constant": false, + "name": "simpleICO", + "scope": 6641, + "stateVariable": true, + "storageLocation": "default", + "type": "contract SimpleICO", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SimpleICO", + "referencedDeclaration": 7086, + "type": "contract SimpleICO" + }, + "id": 6595, + "name": "UserDefinedTypeName", + "src": "493:9:21" + } + ], + "id": 6596, + "name": "VariableDeclaration", + "src": "493:26:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "MirrorContractICO", + "payable": false, + "scope": 6641, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_organization", + "scope": 6612, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6597, + "name": "UserDefinedTypeName", + "src": "761:6:21" + } + ], + "id": 6598, + "name": "VariableDeclaration", + "src": "761:20:21" + }, + { + "attributes": { + "constant": false, + "name": "_simpleICO", + "scope": 6612, + "stateVariable": false, + "storageLocation": "default", + "type": "contract SimpleICO", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SimpleICO", + "referencedDeclaration": 7086, + "type": "contract SimpleICO" + }, + "id": 6599, + "name": "UserDefinedTypeName", + "src": "783:9:21" + } + ], + "id": 6600, + "name": "VariableDeclaration", + "src": "783:20:21" + } + ], + "id": 6601, + "name": "ParameterList", + "src": "760:44:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6602, + "name": "ParameterList", + "src": "812:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract Avatar" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6594, + "type": "contract Avatar", + "value": "organization" + }, + "id": 6603, + "name": "Identifier", + "src": "823:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6598, + "type": "contract Avatar", + "value": "_organization" + }, + "id": 6604, + "name": "Identifier", + "src": "838:13:21" + } + ], + "id": 6605, + "name": "Assignment", + "src": "823:28:21" + } + ], + "id": 6606, + "name": "ExpressionStatement", + "src": "823:28:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract SimpleICO" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6596, + "type": "contract SimpleICO", + "value": "simpleICO" + }, + "id": 6607, + "name": "Identifier", + "src": "862:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6600, + "type": "contract SimpleICO", + "value": "_simpleICO" + }, + "id": 6608, + "name": "Identifier", + "src": "874:10:21" + } + ], + "id": 6609, + "name": "Assignment", + "src": "862:22:21" + } + ], + "id": 6610, + "name": "ExpressionStatement", + "src": "862:22:21" + } + ], + "id": 6611, + "name": "Block", + "src": "812:80:21" + } + ], + "id": 6612, + "name": "FunctionDefinition", + "src": "734:158:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "", + "payable": true, + "scope": 6641, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6613, + "name": "ParameterList", + "src": "1064:2:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6614, + "name": "ParameterList", + "src": "1082:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6615, + "name": "Identifier", + "src": "1136:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6616, + "name": "Identifier", + "src": "1144:3:21" + } + ], + "id": 6617, + "name": "MemberAccess", + "src": "1144:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6618, + "name": "Literal", + "src": "1157:1:21" + } + ], + "id": 6619, + "name": "BinaryOperation", + "src": "1144:14:21" + } + ], + "id": 6620, + "name": "FunctionCall", + "src": "1136:23:21" + } + ], + "id": 6621, + "name": "ExpressionStatement", + "src": "1136:23:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "function (contract Avatar,address) payable external returns (uint256)", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "function (uint256) returns (function (contract Avatar,address) payable external returns (uint256))" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "donate", + "referencedDeclaration": 7085, + "type": "function (contract Avatar,address) payable external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6596, + "type": "contract SimpleICO", + "value": "simpleICO" + }, + "id": 6622, + "name": "Identifier", + "src": "1220:9:21" + } + ], + "id": 6623, + "name": "MemberAccess", + "src": "1220:16:21" + } + ], + "id": 6624, + "name": "MemberAccess", + "src": "1220:22:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6625, + "name": "Identifier", + "src": "1243:3:21" + } + ], + "id": 6626, + "name": "MemberAccess", + "src": "1243:9:21" + } + ], + "id": 6627, + "name": "FunctionCall", + "src": "1220:33:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6594, + "type": "contract Avatar", + "value": "organization" + }, + "id": 6628, + "name": "Identifier", + "src": "1254:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6629, + "name": "Identifier", + "src": "1268:3:21" + } + ], + "id": 6630, + "name": "MemberAccess", + "src": "1268:10:21" + } + ], + "id": 6631, + "name": "FunctionCall", + "src": "1220:59:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6632, + "name": "Literal", + "src": "1283:1:21" + } + ], + "id": 6633, + "name": "BinaryOperation", + "src": "1220:64:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 6634, + "name": "Identifier", + "src": "1301:6:21" + } + ], + "id": 6635, + "name": "FunctionCall", + "src": "1301:8:21" + } + ], + "id": 6636, + "name": "ExpressionStatement", + "src": "1301:8:21" + } + ], + "id": 6637, + "name": "Block", + "src": "1286:35:21" + } + ], + "id": 6638, + "name": "IfStatement", + "src": "1216:105:21" + } + ], + "id": 6639, + "name": "Block", + "src": "1082:246:21" + } + ], + "id": 6640, + "name": "FunctionDefinition", + "src": "1055:273:21" + } + ], + "id": 6641, + "name": "ContractDefinition", + "src": "369:962:21" + }, + { + "attributes": { + "contractDependencies": [ + 6641, + 7229, + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": "@title SimpleICO scheme.\r\n@dev A universal scheme to allow organizations to open a simple ICO and get donations.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 7086, + 7229, + 7259, + 9140 + ], + "name": "SimpleICO", + "scope": 7087 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalScheme", + "referencedDeclaration": 7229, + "type": "contract UniversalScheme" + }, + "id": 6642, + "name": "UserDefinedTypeName", + "src": "1489:15:21" + } + ], + "id": 6643, + "name": "InheritanceSpecifier", + "src": "1489:15:21" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 9084, + "type": "library SafeMath" + }, + "id": 6644, + "name": "UserDefinedTypeName", + "src": "1518:8:21" + }, + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6645, + "name": "ElementaryTypeName", + "src": "1531:4:21" + } + ], + "id": 6646, + "name": "UsingForDirective", + "src": "1512:24:21" + }, + { + "attributes": { + "canonicalName": "SimpleICO.Organization", + "name": "Organization", + "scope": 7086, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 6655, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6647, + "name": "ElementaryTypeName", + "src": "1629:7:21" + } + ], + "id": 6648, + "name": "VariableDeclaration", + "src": "1629:18:21" + }, + { + "attributes": { + "constant": false, + "name": "avatarContractICO", + "scope": 6655, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6649, + "name": "ElementaryTypeName", + "src": "1752:7:21" + } + ], + "id": 6650, + "name": "VariableDeclaration", + "src": "1752:25:21" + }, + { + "attributes": { + "constant": false, + "name": "totalEthRaised", + "scope": 6655, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6651, + "name": "ElementaryTypeName", + "src": "1872:4:21" + } + ], + "id": 6652, + "name": "VariableDeclaration", + "src": "1872:19:21" + }, + { + "attributes": { + "constant": false, + "name": "isHalted", + "scope": 6655, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6653, + "name": "ElementaryTypeName", + "src": "1902:4:21" + } + ], + "id": 6654, + "name": "VariableDeclaration", + "src": "1902:13:21" + } + ], + "id": 6655, + "name": "StructDefinition", + "src": "1598:399:21" + }, + { + "attributes": { + "canonicalName": "SimpleICO.Parameters", + "name": "Parameters", + "scope": 7086, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cap", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6656, + "name": "ElementaryTypeName", + "src": "2138:4:21" + } + ], + "id": 6657, + "name": "VariableDeclaration", + "src": "2138:8:21" + }, + { + "attributes": { + "constant": false, + "name": "price", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6658, + "name": "ElementaryTypeName", + "src": "2171:4:21" + } + ], + "id": 6659, + "name": "VariableDeclaration", + "src": "2171:10:21" + }, + { + "attributes": { + "constant": false, + "name": "startBlock", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6660, + "name": "ElementaryTypeName", + "src": "2229:4:21" + } + ], + "id": 6661, + "name": "VariableDeclaration", + "src": "2229:15:21" + }, + { + "attributes": { + "constant": false, + "name": "endBlock", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6662, + "name": "ElementaryTypeName", + "src": "2255:4:21" + } + ], + "id": 6663, + "name": "VariableDeclaration", + "src": "2255:13:21" + }, + { + "attributes": { + "constant": false, + "name": "beneficiary", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6664, + "name": "ElementaryTypeName", + "src": "2279:7:21" + } + ], + "id": 6665, + "name": "VariableDeclaration", + "src": "2279:19:21" + }, + { + "attributes": { + "constant": false, + "name": "admin", + "scope": 6668, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6666, + "name": "ElementaryTypeName", + "src": "2368:7:21" + } + ], + "id": 6667, + "name": "VariableDeclaration", + "src": "2368:13:21" + } + ], + "id": 6668, + "name": "StructDefinition", + "src": "2109:317:21" + }, + { + "attributes": { + "constant": false, + "name": "organizationsICOInfo", + "scope": 7086, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => struct SimpleICO.Organization storage ref)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6669, + "name": "ElementaryTypeName", + "src": "2538:7:21" + }, + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 6655, + "type": "struct SimpleICO.Organization storage pointer" + }, + "id": 6670, + "name": "UserDefinedTypeName", + "src": "2547:12:21" + } + ], + "id": 6671, + "name": "Mapping", + "src": "2530:30:21" + } + ], + "id": 6672, + "name": "VariableDeclaration", + "src": "2530:58:21" + }, + { + "attributes": { + "constant": false, + "name": "parameters", + "scope": 7086, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6673, + "name": "ElementaryTypeName", + "src": "2605:7:21" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 6668, + "type": "struct SimpleICO.Parameters storage pointer" + }, + "id": 6674, + "name": "UserDefinedTypeName", + "src": "2614:10:21" + } + ], + "id": 6675, + "name": "Mapping", + "src": "2597:28:21" + } + ], + "id": 6676, + "name": "VariableDeclaration", + "src": "2597:46:21" + }, + { + "attributes": { + "anonymous": false, + "name": "DonationReceived" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "organization", + "scope": 6686, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6677, + "name": "ElementaryTypeName", + "src": "2675:7:21" + } + ], + "id": 6678, + "name": "VariableDeclaration", + "src": "2675:28:21" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_beneficiary", + "scope": 6686, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6679, + "name": "ElementaryTypeName", + "src": "2705:7:21" + } + ], + "id": 6680, + "name": "VariableDeclaration", + "src": "2705:28:21" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_incomingEther", + "scope": 6686, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6681, + "name": "ElementaryTypeName", + "src": "2735:4:21" + } + ], + "id": 6682, + "name": "VariableDeclaration", + "src": "2735:19:21" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_tokensAmount", + "scope": 6686, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6683, + "name": "ElementaryTypeName", + "src": "2756:4:21" + } + ], + "id": 6684, + "name": "VariableDeclaration", + "src": "2756:26:21" + } + ], + "id": 6685, + "name": "ParameterList", + "src": "2674:109:21" + } + ], + "id": 6686, + "name": "EventDefinition", + "src": "2652:132:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "SimpleICO", + "payable": false, + "scope": 7086, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 6705, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 6687, + "name": "UserDefinedTypeName", + "src": "3062:13:21" + } + ], + "id": 6688, + "name": "VariableDeclaration", + "src": "3062:26:21" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 6705, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6689, + "name": "ElementaryTypeName", + "src": "3090:4:21" + } + ], + "id": 6690, + "name": "VariableDeclaration", + "src": "3090:9:21" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 6705, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6691, + "name": "ElementaryTypeName", + "src": "3101:7:21" + } + ], + "id": 6692, + "name": "VariableDeclaration", + "src": "3101:20:21" + } + ], + "id": 6693, + "name": "ParameterList", + "src": "3061:61:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6694, + "name": "ParameterList", + "src": "3130:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 7207 + ], + "referencedDeclaration": 7207, + "type": "function (contract StandardToken,uint256,address,bytes32)", + "value": "updateParameters" + }, + "id": 6695, + "name": "Identifier", + "src": "3141:16:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6688, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 6696, + "name": "Identifier", + "src": "3158:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6690, + "type": "uint256", + "value": "_fee" + }, + "id": 6697, + "name": "Identifier", + "src": "3172:4:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6692, + "type": "address", + "value": "_beneficiary" + }, + "id": 6698, + "name": "Identifier", + "src": "3178:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 6699, + "name": "ElementaryTypeNameExpression", + "src": "3192:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6700, + "name": "Literal", + "src": "3200:1:21" + } + ], + "id": 6701, + "name": "FunctionCall", + "src": "3192:10:21" + } + ], + "id": 6702, + "name": "FunctionCall", + "src": "3141:62:21" + } + ], + "id": 6703, + "name": "ExpressionStatement", + "src": "3141:62:21" + } + ], + "id": 6704, + "name": "Block", + "src": "3130:81:21" + } + ], + "id": 6705, + "name": "FunctionDefinition", + "src": "3043:168:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 7086, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_cap", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6706, + "name": "ElementaryTypeName", + "src": "3686:4:21" + } + ], + "id": 6707, + "name": "VariableDeclaration", + "src": "3686:9:21" + }, + { + "attributes": { + "constant": false, + "name": "_price", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6708, + "name": "ElementaryTypeName", + "src": "3706:4:21" + } + ], + "id": 6709, + "name": "VariableDeclaration", + "src": "3706:11:21" + }, + { + "attributes": { + "constant": false, + "name": "_startBlock", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6710, + "name": "ElementaryTypeName", + "src": "3728:4:21" + } + ], + "id": 6711, + "name": "VariableDeclaration", + "src": "3728:16:21" + }, + { + "attributes": { + "constant": false, + "name": "_endBlock", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6712, + "name": "ElementaryTypeName", + "src": "3755:4:21" + } + ], + "id": 6713, + "name": "VariableDeclaration", + "src": "3755:14:21" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6714, + "name": "ElementaryTypeName", + "src": "3780:7:21" + } + ], + "id": 6715, + "name": "VariableDeclaration", + "src": "3780:20:21" + }, + { + "attributes": { + "constant": false, + "name": "_admin", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6716, + "name": "ElementaryTypeName", + "src": "3811:7:21" + } + ], + "id": 6717, + "name": "VariableDeclaration", + "src": "3811:14:21" + } + ], + "id": 6718, + "name": "ParameterList", + "src": "3675:157:21" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6719, + "name": "ElementaryTypeName", + "src": "3866:7:21" + } + ], + "id": 6720, + "name": "VariableDeclaration", + "src": "3866:7:21" + } + ], + "id": 6721, + "name": "ParameterList", + "src": "3865:9:21" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 6723 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 6757, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6722, + "name": "ElementaryTypeName", + "src": "3891:7:21" + } + ], + "id": 6723, + "name": "VariableDeclaration", + "src": "3891:18:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6785, + "type": "function (uint256,uint256,uint256,uint256,address,address) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 6724, + "name": "Identifier", + "src": "3912:17:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6707, + "type": "uint256", + "value": "_cap" + }, + "id": 6725, + "name": "Identifier", + "src": "3944:4:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6709, + "type": "uint256", + "value": "_price" + }, + "id": 6726, + "name": "Identifier", + "src": "3963:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6711, + "type": "uint256", + "value": "_startBlock" + }, + "id": 6727, + "name": "Identifier", + "src": "3984:11:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6713, + "type": "uint256", + "value": "_endBlock" + }, + "id": 6728, + "name": "Identifier", + "src": "4010:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6715, + "type": "address", + "value": "_beneficiary" + }, + "id": 6729, + "name": "Identifier", + "src": "4034:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6717, + "type": "address", + "value": "_admin" + }, + "id": 6730, + "name": "Identifier", + "src": "4061:6:21" + } + ], + "id": 6731, + "name": "FunctionCall", + "src": "3912:166:21" + } + ], + "id": 6732, + "name": "VariableDeclarationStatement", + "src": "3891:187:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 6657, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6733, + "name": "Identifier", + "src": "4093:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6723, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6734, + "name": "Identifier", + "src": "4104:10:21" + } + ], + "id": 6735, + "name": "IndexAccess", + "src": "4093:22:21" + } + ], + "id": 6736, + "name": "MemberAccess", + "src": "4093:26:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6737, + "name": "Literal", + "src": "4123:1:21" + } + ], + "id": 6738, + "name": "BinaryOperation", + "src": "4093:31:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6739, + "name": "Identifier", + "src": "4141:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6723, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6740, + "name": "Identifier", + "src": "4152:10:21" + } + ], + "id": 6741, + "name": "IndexAccess", + "src": "4141:22:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "cap", + "price", + "startBlock", + "endBlock", + "beneficiary", + "admin" + ], + "type": "struct SimpleICO.Parameters memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6668, + "type": "type(struct SimpleICO.Parameters storage pointer)", + "value": "Parameters" + }, + "id": 6742, + "name": "Identifier", + "src": "4166:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6707, + "type": "uint256", + "value": "_cap" + }, + "id": 6743, + "name": "Identifier", + "src": "4201:4:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6709, + "type": "uint256", + "value": "_price" + }, + "id": 6744, + "name": "Identifier", + "src": "4231:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6711, + "type": "uint256", + "value": "_startBlock" + }, + "id": 6745, + "name": "Identifier", + "src": "4268:11:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6713, + "type": "uint256", + "value": "_endBlock" + }, + "id": 6746, + "name": "Identifier", + "src": "4307:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6715, + "type": "address", + "value": "_beneficiary" + }, + "id": 6747, + "name": "Identifier", + "src": "4347:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6717, + "type": "address", + "value": "_admin" + }, + "id": 6748, + "name": "Identifier", + "src": "4384:6:21" + } + ], + "id": 6749, + "name": "FunctionCall", + "src": "4166:240:21" + } + ], + "id": 6750, + "name": "Assignment", + "src": "4141:265:21" + } + ], + "id": 6751, + "name": "ExpressionStatement", + "src": "4141:265:21" + } + ], + "id": 6752, + "name": "Block", + "src": "4126:292:21" + } + ], + "id": 6753, + "name": "IfStatement", + "src": "4089:329:21" + }, + { + "attributes": { + "functionReturnParameters": 6721 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6723, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 6754, + "name": "Identifier", + "src": "4435:10:21" + } + ], + "id": 6755, + "name": "Return", + "src": "4428:17:21" + } + ], + "id": 6756, + "name": "Block", + "src": "3880:573:21" + } + ], + "id": 6757, + "name": "FunctionDefinition", + "src": "3653:800:21" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 7086, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_cap", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6758, + "name": "ElementaryTypeName", + "src": "4907:4:21" + } + ], + "id": 6759, + "name": "VariableDeclaration", + "src": "4907:9:21" + }, + { + "attributes": { + "constant": false, + "name": "_price", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6760, + "name": "ElementaryTypeName", + "src": "4927:4:21" + } + ], + "id": 6761, + "name": "VariableDeclaration", + "src": "4927:11:21" + }, + { + "attributes": { + "constant": false, + "name": "_startBlock", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6762, + "name": "ElementaryTypeName", + "src": "4949:4:21" + } + ], + "id": 6763, + "name": "VariableDeclaration", + "src": "4949:16:21" + }, + { + "attributes": { + "constant": false, + "name": "_endBlock", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6764, + "name": "ElementaryTypeName", + "src": "4976:4:21" + } + ], + "id": 6765, + "name": "VariableDeclaration", + "src": "4976:14:21" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6766, + "name": "ElementaryTypeName", + "src": "5001:7:21" + } + ], + "id": 6767, + "name": "VariableDeclaration", + "src": "5001:20:21" + }, + { + "attributes": { + "constant": false, + "name": "_admin", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6768, + "name": "ElementaryTypeName", + "src": "5032:7:21" + } + ], + "id": 6769, + "name": "VariableDeclaration", + "src": "5032:14:21" + } + ], + "id": 6770, + "name": "ParameterList", + "src": "4896:157:21" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6785, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 6771, + "name": "ElementaryTypeName", + "src": "5101:7:21" + } + ], + "id": 6772, + "name": "VariableDeclaration", + "src": "5101:7:21" + } + ], + "id": 6773, + "name": "ParameterList", + "src": "5100:9:21" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6773 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 6774, + "name": "Identifier", + "src": "5133:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6759, + "type": "uint256", + "value": "_cap" + }, + "id": 6775, + "name": "Identifier", + "src": "5157:4:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6761, + "type": "uint256", + "value": "_price" + }, + "id": 6776, + "name": "Identifier", + "src": "5176:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6763, + "type": "uint256", + "value": "_startBlock" + }, + "id": 6777, + "name": "Identifier", + "src": "5197:11:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6765, + "type": "uint256", + "value": "_endBlock" + }, + "id": 6778, + "name": "Identifier", + "src": "5223:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6767, + "type": "address", + "value": "_beneficiary" + }, + "id": 6779, + "name": "Identifier", + "src": "5247:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6769, + "type": "address", + "value": "_admin" + }, + "id": 6780, + "name": "Identifier", + "src": "5274:6:21" + } + ], + "id": 6781, + "name": "FunctionCall", + "src": "5133:158:21" + } + ], + "id": 6782, + "name": "TupleExpression", + "src": "5132:160:21" + } + ], + "id": 6783, + "name": "Return", + "src": "5125:167:21" + } + ], + "id": 6784, + "name": "Block", + "src": "5114:186:21" + } + ], + "id": 6785, + "name": "FunctionDefinition", + "src": "4870:430:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "start", + "payable": false, + "scope": 7086, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6835, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6786, + "name": "UserDefinedTypeName", + "src": "5423:6:21" + } + ], + "id": 6787, + "name": "VariableDeclaration", + "src": "5423:14:21" + } + ], + "id": 6788, + "name": "ParameterList", + "src": "5422:16:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6789, + "name": "ParameterList", + "src": "5446:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6790, + "name": "Identifier", + "src": "5457:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6945, + "type": "function (address) view returns (bool)", + "value": "isActive" + }, + "id": 6791, + "name": "Identifier", + "src": "5466:8:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6787, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6792, + "name": "Identifier", + "src": "5475:7:21" + } + ], + "id": 6793, + "name": "FunctionCall", + "src": "5466:17:21" + } + ], + "id": 6794, + "name": "UnaryOperation", + "src": "5465:18:21" + } + ], + "id": 6795, + "name": "FunctionCall", + "src": "5457:27:21" + } + ], + "id": 6796, + "name": "ExpressionStatement", + "src": "5457:27:21" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "org", + "scope": 6835, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SimpleICO.Organization memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 6655, + "type": "struct SimpleICO.Organization storage pointer" + }, + "id": 6797, + "name": "UserDefinedTypeName", + "src": "5495:12:21" + } + ], + "id": 6798, + "name": "VariableDeclaration", + "src": "5495:23:21" + } + ], + "id": 6799, + "name": "VariableDeclarationStatement", + "src": "5495:23:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6798, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6800, + "name": "Identifier", + "src": "5529:3:21" + } + ], + "id": 6802, + "name": "MemberAccess", + "src": "5529:14:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 6803, + "name": "Identifier", + "src": "5546:27:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6787, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6804, + "name": "Identifier", + "src": "5574:7:21" + } + ], + "id": 6805, + "name": "FunctionCall", + "src": "5546:36:21" + } + ], + "id": 6806, + "name": "Assignment", + "src": "5529:53:21" + } + ], + "id": 6807, + "name": "ExpressionStatement", + "src": "5529:53:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6808, + "name": "Identifier", + "src": "5593:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 6657, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6809, + "name": "Identifier", + "src": "5601:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6798, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6810, + "name": "Identifier", + "src": "5612:3:21" + } + ], + "id": 6811, + "name": "MemberAccess", + "src": "5612:14:21" + } + ], + "id": 6812, + "name": "IndexAccess", + "src": "5601:26:21" + } + ], + "id": 6813, + "name": "MemberAccess", + "src": "5601:30:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 6814, + "name": "Literal", + "src": "5635:1:21" + } + ], + "id": 6815, + "name": "BinaryOperation", + "src": "5601:35:21" + } + ], + "id": 6816, + "name": "FunctionCall", + "src": "5593:44:21" + } + ], + "id": 6817, + "name": "ExpressionStatement", + "src": "5593:44:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "avatarContractICO", + "referencedDeclaration": 6650, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6798, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6818, + "name": "Identifier", + "src": "5648:3:21" + } + ], + "id": 6820, + "name": "MemberAccess", + "src": "5648:21:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract MirrorContractICO", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_SimpleICO_$7086", + "typeString": "contract SimpleICO" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "function (contract Avatar,contract SimpleICO) returns (contract MirrorContractICO)" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "MirrorContractICO", + "referencedDeclaration": 6641, + "type": "contract MirrorContractICO" + }, + "id": 6821, + "name": "UserDefinedTypeName", + "src": "5676:17:21" + } + ], + "id": 6822, + "name": "NewExpression", + "src": "5672:21:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6787, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6823, + "name": "Identifier", + "src": "5694:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9817, + "type": "contract SimpleICO", + "value": "this" + }, + "id": 6824, + "name": "Identifier", + "src": "5703:4:21" + } + ], + "id": 6825, + "name": "FunctionCall", + "src": "5672:36:21" + } + ], + "id": 6826, + "name": "Assignment", + "src": "5648:60:21" + } + ], + "id": 6827, + "name": "ExpressionStatement", + "src": "5648:60:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6828, + "name": "Identifier", + "src": "5719:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6787, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6829, + "name": "Identifier", + "src": "5740:7:21" + } + ], + "id": 6830, + "name": "IndexAccess", + "src": "5719:29:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6798, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6831, + "name": "Identifier", + "src": "5751:3:21" + } + ], + "id": 6832, + "name": "Assignment", + "src": "5719:35:21" + } + ], + "id": 6833, + "name": "ExpressionStatement", + "src": "5719:35:21" + } + ], + "id": 6834, + "name": "Block", + "src": "5446:316:21" + } + ], + "id": 6835, + "name": "FunctionDefinition", + "src": "5408:354:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "haltICO", + "payable": false, + "scope": 7086, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6861, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6836, + "name": "ElementaryTypeName", + "src": "5905:7:21" + } + ], + "id": 6837, + "name": "VariableDeclaration", + "src": "5905:15:21" + } + ], + "id": 6838, + "name": "ParameterList", + "src": "5904:17:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6839, + "name": "ParameterList", + "src": "5929:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6840, + "name": "Identifier", + "src": "5940:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6841, + "name": "Identifier", + "src": "5948:3:21" + } + ], + "id": 6842, + "name": "MemberAccess", + "src": "5948:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "admin", + "referencedDeclaration": 6667, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6843, + "name": "Identifier", + "src": "5962:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6844, + "name": "Identifier", + "src": "5973:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6837, + "type": "address", + "value": "_avatar" + }, + "id": 6845, + "name": "Identifier", + "src": "5994:7:21" + } + ], + "id": 6846, + "name": "IndexAccess", + "src": "5973:29:21" + } + ], + "id": 6847, + "name": "MemberAccess", + "src": "5973:40:21" + } + ], + "id": 6848, + "name": "IndexAccess", + "src": "5962:52:21" + } + ], + "id": 6849, + "name": "MemberAccess", + "src": "5962:58:21" + } + ], + "id": 6850, + "name": "BinaryOperation", + "src": "5948:72:21" + } + ], + "id": 6851, + "name": "FunctionCall", + "src": "5940:81:21" + } + ], + "id": 6852, + "name": "ExpressionStatement", + "src": "5940:81:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "isHalted", + "referencedDeclaration": 6654, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6853, + "name": "Identifier", + "src": "6032:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6837, + "type": "address", + "value": "_avatar" + }, + "id": 6854, + "name": "Identifier", + "src": "6053:7:21" + } + ], + "id": 6855, + "name": "IndexAccess", + "src": "6032:29:21" + } + ], + "id": 6856, + "name": "MemberAccess", + "src": "6032:38:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 6857, + "name": "Literal", + "src": "6073:4:21" + } + ], + "id": 6858, + "name": "Assignment", + "src": "6032:45:21" + } + ], + "id": 6859, + "name": "ExpressionStatement", + "src": "6032:45:21" + } + ], + "id": 6860, + "name": "Block", + "src": "5929:156:21" + } + ], + "id": 6861, + "name": "FunctionDefinition", + "src": "5888:197:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "resumeICO", + "payable": false, + "scope": 7086, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6887, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6862, + "name": "ElementaryTypeName", + "src": "6232:7:21" + } + ], + "id": 6863, + "name": "VariableDeclaration", + "src": "6232:15:21" + } + ], + "id": 6864, + "name": "ParameterList", + "src": "6231:17:21" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 6865, + "name": "ParameterList", + "src": "6256:0:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6866, + "name": "Identifier", + "src": "6267:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6867, + "name": "Identifier", + "src": "6275:3:21" + } + ], + "id": 6868, + "name": "MemberAccess", + "src": "6275:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "admin", + "referencedDeclaration": 6667, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6869, + "name": "Identifier", + "src": "6289:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6870, + "name": "Identifier", + "src": "6300:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6863, + "type": "address", + "value": "_avatar" + }, + "id": 6871, + "name": "Identifier", + "src": "6321:7:21" + } + ], + "id": 6872, + "name": "IndexAccess", + "src": "6300:29:21" + } + ], + "id": 6873, + "name": "MemberAccess", + "src": "6300:40:21" + } + ], + "id": 6874, + "name": "IndexAccess", + "src": "6289:52:21" + } + ], + "id": 6875, + "name": "MemberAccess", + "src": "6289:58:21" + } + ], + "id": 6876, + "name": "BinaryOperation", + "src": "6275:72:21" + } + ], + "id": 6877, + "name": "FunctionCall", + "src": "6267:81:21" + } + ], + "id": 6878, + "name": "ExpressionStatement", + "src": "6267:81:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "isHalted", + "referencedDeclaration": 6654, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6879, + "name": "Identifier", + "src": "6359:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6863, + "type": "address", + "value": "_avatar" + }, + "id": 6880, + "name": "Identifier", + "src": "6380:7:21" + } + ], + "id": 6881, + "name": "IndexAccess", + "src": "6359:29:21" + } + ], + "id": 6882, + "name": "MemberAccess", + "src": "6359:38:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6883, + "name": "Literal", + "src": "6400:5:21" + } + ], + "id": 6884, + "name": "Assignment", + "src": "6359:46:21" + } + ], + "id": 6885, + "name": "ExpressionStatement", + "src": "6359:46:21" + } + ], + "id": 6886, + "name": "Block", + "src": "6256:157:21" + } + ], + "id": 6887, + "name": "FunctionDefinition", + "src": "6213:200:21" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isActive", + "payable": false, + "scope": 7086, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 6945, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6888, + "name": "ElementaryTypeName", + "src": "6851:7:21" + } + ], + "id": 6889, + "name": "VariableDeclaration", + "src": "6851:15:21" + } + ], + "id": 6890, + "name": "ParameterList", + "src": "6850:17:21" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 6945, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 6891, + "name": "ElementaryTypeName", + "src": "6892:4:21" + } + ], + "id": 6892, + "name": "VariableDeclaration", + "src": "6892:4:21" + } + ], + "id": 6893, + "name": "ParameterList", + "src": "6891:6:21" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 6895 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "org", + "scope": 6945, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SimpleICO.Organization memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 6655, + "type": "struct SimpleICO.Organization storage pointer" + }, + "id": 6894, + "name": "UserDefinedTypeName", + "src": "6909:12:21" + } + ], + "id": 6895, + "name": "VariableDeclaration", + "src": "6909:23:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6896, + "name": "Identifier", + "src": "6935:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6889, + "type": "address", + "value": "_avatar" + }, + "id": 6897, + "name": "Identifier", + "src": "6956:7:21" + } + ], + "id": 6898, + "name": "IndexAccess", + "src": "6935:29:21" + } + ], + "id": 6899, + "name": "VariableDeclarationStatement", + "src": "6909:55:21" + }, + { + "attributes": { + "assignments": [ + 6901 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 6945, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SimpleICO.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 6668, + "type": "struct SimpleICO.Parameters storage pointer" + }, + "id": 6900, + "name": "UserDefinedTypeName", + "src": "6975:10:21" + } + ], + "id": 6901, + "name": "VariableDeclaration", + "src": "6975:24:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6902, + "name": "Identifier", + "src": "7002:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6895, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6903, + "name": "Identifier", + "src": "7013:3:21" + } + ], + "id": 6904, + "name": "MemberAccess", + "src": "7013:14:21" + } + ], + "id": 6905, + "name": "IndexAccess", + "src": "7002:26:21" + } + ], + "id": 6906, + "name": "VariableDeclarationStatement", + "src": "6975:53:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7109, + "type": "mapping(address => bool)", + "value": "organizations" + }, + "id": 6907, + "name": "Identifier", + "src": "7045:13:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6889, + "type": "address", + "value": "_avatar" + }, + "id": 6908, + "name": "Identifier", + "src": "7059:7:21" + } + ], + "id": 6909, + "name": "IndexAccess", + "src": "7045:22:21" + } + ], + "id": 6910, + "name": "UnaryOperation", + "src": "7043:24:21" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6893 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6911, + "name": "Literal", + "src": "7091:5:21" + } + ], + "id": 6912, + "name": "Return", + "src": "7084:12:21" + } + ], + "id": 6913, + "name": "Block", + "src": "7069:39:21" + } + ], + "id": 6914, + "name": "IfStatement", + "src": "7039:69:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalEthRaised", + "referencedDeclaration": 6652, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6895, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6915, + "name": "Identifier", + "src": "7122:3:21" + } + ], + "id": 6916, + "name": "MemberAccess", + "src": "7122:18:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 6657, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6901, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 6917, + "name": "Identifier", + "src": "7144:6:21" + } + ], + "id": 6918, + "name": "MemberAccess", + "src": "7144:10:21" + } + ], + "id": 6919, + "name": "BinaryOperation", + "src": "7122:32:21" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6893 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6920, + "name": "Literal", + "src": "7178:5:21" + } + ], + "id": 6921, + "name": "Return", + "src": "7171:12:21" + } + ], + "id": 6922, + "name": "Block", + "src": "7156:39:21" + } + ], + "id": 6923, + "name": "IfStatement", + "src": "7118:77:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "number", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9728, + "type": "block", + "value": "block" + }, + "id": 6924, + "name": "Identifier", + "src": "7209:5:21" + } + ], + "id": 6925, + "name": "MemberAccess", + "src": "7209:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "endBlock", + "referencedDeclaration": 6663, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6901, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 6926, + "name": "Identifier", + "src": "7225:6:21" + } + ], + "id": 6927, + "name": "MemberAccess", + "src": "7225:15:21" + } + ], + "id": 6928, + "name": "BinaryOperation", + "src": "7209:31:21" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6893 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6929, + "name": "Literal", + "src": "7264:5:21" + } + ], + "id": 6930, + "name": "Return", + "src": "7257:12:21" + } + ], + "id": 6931, + "name": "Block", + "src": "7242:39:21" + } + ], + "id": 6932, + "name": "IfStatement", + "src": "7205:76:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "number", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9728, + "type": "block", + "value": "block" + }, + "id": 6933, + "name": "Identifier", + "src": "7295:5:21" + } + ], + "id": 6934, + "name": "MemberAccess", + "src": "7295:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "startBlock", + "referencedDeclaration": 6661, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6901, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 6935, + "name": "Identifier", + "src": "7311:6:21" + } + ], + "id": 6936, + "name": "MemberAccess", + "src": "7311:17:21" + } + ], + "id": 6937, + "name": "BinaryOperation", + "src": "7295:33:21" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 6893 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 6938, + "name": "Literal", + "src": "7352:5:21" + } + ], + "id": 6939, + "name": "Return", + "src": "7345:12:21" + } + ], + "id": 6940, + "name": "Block", + "src": "7330:39:21" + } + ], + "id": 6941, + "name": "IfStatement", + "src": "7291:78:21" + }, + { + "attributes": { + "functionReturnParameters": 6893 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 6942, + "name": "Literal", + "src": "7386:4:21" + } + ], + "id": 6943, + "name": "Return", + "src": "7379:11:21" + } + ], + "id": 6944, + "name": "Block", + "src": "6898:500:21" + } + ], + "id": 6945, + "name": "FunctionDefinition", + "src": "6833:565:21" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "donate", + "payable": true, + "scope": 7086, + "stateMutability": "payable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 6946, + "name": "UserDefinedTypeName", + "src": "7822:6:21" + } + ], + "id": 6947, + "name": "VariableDeclaration", + "src": "7822:14:21" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 6948, + "name": "ElementaryTypeName", + "src": "7838:7:21" + } + ], + "id": 6949, + "name": "VariableDeclaration", + "src": "7838:20:21" + } + ], + "id": 6950, + "name": "ParameterList", + "src": "7821:38:21" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6951, + "name": "ElementaryTypeName", + "src": "7883:4:21" + } + ], + "id": 6952, + "name": "VariableDeclaration", + "src": "7883:4:21" + } + ], + "id": 6953, + "name": "ParameterList", + "src": "7882:6:21" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 6955 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "org", + "scope": 7085, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SimpleICO.Organization memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Organization", + "referencedDeclaration": 6655, + "type": "struct SimpleICO.Organization storage pointer" + }, + "id": 6954, + "name": "UserDefinedTypeName", + "src": "7900:12:21" + } + ], + "id": 6955, + "name": "VariableDeclaration", + "src": "7900:23:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 6956, + "name": "Identifier", + "src": "7926:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6947, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6957, + "name": "Identifier", + "src": "7947:7:21" + } + ], + "id": 6958, + "name": "IndexAccess", + "src": "7926:29:21" + } + ], + "id": 6959, + "name": "VariableDeclarationStatement", + "src": "7900:55:21" + }, + { + "attributes": { + "assignments": [ + 6961 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 7085, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct SimpleICO.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 6668, + "type": "struct SimpleICO.Parameters storage pointer" + }, + "id": 6960, + "name": "UserDefinedTypeName", + "src": "7966:10:21" + } + ], + "id": 6961, + "name": "VariableDeclaration", + "src": "7966:24:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6676, + "type": "mapping(bytes32 => struct SimpleICO.Parameters storage ref)", + "value": "parameters" + }, + "id": 6962, + "name": "Identifier", + "src": "7993:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "paramsHash", + "referencedDeclaration": 6648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6955, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6963, + "name": "Identifier", + "src": "8004:3:21" + } + ], + "id": 6964, + "name": "MemberAccess", + "src": "8004:14:21" + } + ], + "id": 6965, + "name": "IndexAccess", + "src": "7993:26:21" + } + ], + "id": 6966, + "name": "VariableDeclarationStatement", + "src": "7966:53:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6967, + "name": "Identifier", + "src": "8065:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6945, + "type": "function (address) view returns (bool)", + "value": "isActive" + }, + "id": 6968, + "name": "Identifier", + "src": "8073:8:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6947, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 6969, + "name": "Identifier", + "src": "8082:7:21" + } + ], + "id": 6970, + "name": "FunctionCall", + "src": "8073:17:21" + } + ], + "id": 6971, + "name": "FunctionCall", + "src": "8065:26:21" + } + ], + "id": 6972, + "name": "ExpressionStatement", + "src": "8065:26:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 6973, + "name": "Identifier", + "src": "8141:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "isHalted", + "referencedDeclaration": 6654, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6955, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6974, + "name": "Identifier", + "src": "8150:3:21" + } + ], + "id": 6975, + "name": "MemberAccess", + "src": "8150:12:21" + } + ], + "id": 6976, + "name": "UnaryOperation", + "src": "8149:13:21" + } + ], + "id": 6977, + "name": "FunctionCall", + "src": "8141:22:21" + } + ], + "id": 6978, + "name": "ExpressionStatement", + "src": "8141:22:21" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "incomingEther", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6979, + "name": "ElementaryTypeName", + "src": "8178:4:21" + } + ], + "id": 6980, + "name": "VariableDeclaration", + "src": "8178:18:21" + } + ], + "id": 6981, + "name": "VariableDeclarationStatement", + "src": "8178:18:21" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "change", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 6982, + "name": "ElementaryTypeName", + "src": "8207:4:21" + } + ], + "id": 6983, + "name": "VariableDeclaration", + "src": "8207:11:21" + } + ], + "id": 6984, + "name": "VariableDeclarationStatement", + "src": "8207:11:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 6985, + "name": "Identifier", + "src": "8280:3:21" + } + ], + "id": 6986, + "name": "MemberAccess", + "src": "8280:9:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 6657, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6961, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 6987, + "name": "Identifier", + "src": "8293:6:21" + } + ], + "id": 6988, + "name": "MemberAccess", + "src": "8293:10:21" + } + ], + "id": 6989, + "name": "TupleExpression", + "src": "8292:12:21" + } + ], + "id": 6990, + "name": "MemberAccess", + "src": "8292:16:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalEthRaised", + "referencedDeclaration": 6652, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6955, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 6991, + "name": "Identifier", + "src": "8309:3:21" + } + ], + "id": 6992, + "name": "MemberAccess", + "src": "8309:18:21" + } + ], + "id": 6993, + "name": "FunctionCall", + "src": "8292:36:21" + } + ], + "id": 6994, + "name": "BinaryOperation", + "src": "8280:48:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 6995, + "name": "Identifier", + "src": "8346:13:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 6657, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6961, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 6996, + "name": "Identifier", + "src": "8363:6:21" + } + ], + "id": 6997, + "name": "MemberAccess", + "src": "8363:10:21" + } + ], + "id": 6998, + "name": "TupleExpression", + "src": "8362:12:21" + } + ], + "id": 6999, + "name": "MemberAccess", + "src": "8362:16:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "totalEthRaised", + "referencedDeclaration": 6652, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6955, + "type": "struct SimpleICO.Organization memory", + "value": "org" + }, + "id": 7000, + "name": "Identifier", + "src": "8379:3:21" + } + ], + "id": 7001, + "name": "MemberAccess", + "src": "8379:18:21" + } + ], + "id": 7002, + "name": "FunctionCall", + "src": "8362:36:21" + } + ], + "id": 7003, + "name": "Assignment", + "src": "8346:52:21" + } + ], + "id": 7004, + "name": "ExpressionStatement", + "src": "8346:52:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6983, + "type": "uint256", + "value": "change" + }, + "id": 7005, + "name": "Identifier", + "src": "8413:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 7006, + "name": "Identifier", + "src": "8423:3:21" + } + ], + "id": 7007, + "name": "MemberAccess", + "src": "8423:9:21" + } + ], + "id": 7008, + "name": "TupleExpression", + "src": "8422:11:21" + } + ], + "id": 7009, + "name": "MemberAccess", + "src": "8422:15:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7010, + "name": "Identifier", + "src": "8438:13:21" + } + ], + "id": 7011, + "name": "FunctionCall", + "src": "8422:30:21" + } + ], + "id": 7012, + "name": "Assignment", + "src": "8413:39:21" + } + ], + "id": 7013, + "name": "ExpressionStatement", + "src": "8413:39:21" + } + ], + "id": 7014, + "name": "Block", + "src": "8331:133:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7015, + "name": "Identifier", + "src": "8485:13:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "value", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 7016, + "name": "Identifier", + "src": "8501:3:21" + } + ], + "id": 7017, + "name": "MemberAccess", + "src": "8501:9:21" + } + ], + "id": 7018, + "name": "Assignment", + "src": "8485:25:21" + } + ], + "id": 7019, + "name": "ExpressionStatement", + "src": "8485:25:21" + } + ], + "id": 7020, + "name": "Block", + "src": "8470:52:21" + } + ], + "id": 7021, + "name": "IfStatement", + "src": "8275:247:21" + }, + { + "attributes": { + "assignments": [ + 7023 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "tokens", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7022, + "name": "ElementaryTypeName", + "src": "8532:4:21" + } + ], + "id": 7023, + "name": "VariableDeclaration", + "src": "8532:11:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 9021, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7024, + "name": "Identifier", + "src": "8546:13:21" + } + ], + "id": 7025, + "name": "MemberAccess", + "src": "8546:17:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "price", + "referencedDeclaration": 6659, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6961, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 7026, + "name": "Identifier", + "src": "8564:6:21" + } + ], + "id": 7027, + "name": "MemberAccess", + "src": "8564:12:21" + } + ], + "id": 7028, + "name": "FunctionCall", + "src": "8546:31:21" + } + ], + "id": 7029, + "name": "VariableDeclarationStatement", + "src": "8532:45:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": null, + "type": "function (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 6665, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6961, + "type": "struct SimpleICO.Parameters memory", + "value": "params" + }, + "id": 7030, + "name": "Identifier", + "src": "8673:6:21" + } + ], + "id": 7033, + "name": "MemberAccess", + "src": "8673:18:21" + } + ], + "id": 7034, + "name": "MemberAccess", + "src": "8673:27:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7035, + "name": "Identifier", + "src": "8701:13:21" + } + ], + "id": 7036, + "name": "FunctionCall", + "src": "8673:42:21" + } + ], + "id": 7037, + "name": "ExpressionStatement", + "src": "8673:42:21" + }, + { + "attributes": { + "assignments": [ + 7039 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 7085, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 7038, + "name": "UserDefinedTypeName", + "src": "8728:10:21" + } + ], + "id": 7039, + "name": "VariableDeclaration", + "src": "8728:21:21" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 7040, + "name": "Identifier", + "src": "8752:10:21" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6947, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7041, + "name": "Identifier", + "src": "8763:7:21" + } + ], + "id": 7042, + "name": "MemberAccess", + "src": "8763:13:21" + } + ], + "id": 7043, + "name": "FunctionCall", + "src": "8763:15:21" + } + ], + "id": 7044, + "name": "FunctionCall", + "src": "8752:27:21" + } + ], + "id": 7045, + "name": "VariableDeclarationStatement", + "src": "8728:51:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mintTokens", + "referencedDeclaration": 3502, + "type": "function (uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7039, + "type": "contract Controller", + "value": "controller" + }, + "id": 7046, + "name": "Identifier", + "src": "8795:10:21" + } + ], + "id": 7047, + "name": "MemberAccess", + "src": "8795:21:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7023, + "type": "uint256", + "value": "tokens" + }, + "id": 7048, + "name": "Identifier", + "src": "8817:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6949, + "type": "address", + "value": "_beneficiary" + }, + "id": 7049, + "name": "Identifier", + "src": "8825:12:21" + } + ], + "id": 7050, + "name": "FunctionCall", + "src": "8795:43:21" + } + ], + "id": 7051, + "name": "UnaryOperation", + "src": "8794:44:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 7052, + "name": "Identifier", + "src": "8855:6:21" + } + ], + "id": 7053, + "name": "FunctionCall", + "src": "8855:8:21" + } + ], + "id": 7054, + "name": "ExpressionStatement", + "src": "8855:8:21" + } + ], + "id": 7055, + "name": "Block", + "src": "8840:35:21" + } + ], + "id": 7056, + "name": "IfStatement", + "src": "8790:85:21" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6983, + "type": "uint256", + "value": "change" + }, + "id": 7057, + "name": "Identifier", + "src": "8889:6:21" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 7058, + "name": "Literal", + "src": "8899:1:21" + } + ], + "id": 7059, + "name": "BinaryOperation", + "src": "8889:11:21" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": null, + "type": "function (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6949, + "type": "address", + "value": "_beneficiary" + }, + "id": 7060, + "name": "Identifier", + "src": "8917:12:21" + } + ], + "id": 7062, + "name": "MemberAccess", + "src": "8917:21:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6983, + "type": "uint256", + "value": "change" + }, + "id": 7063, + "name": "Identifier", + "src": "8939:6:21" + } + ], + "id": 7064, + "name": "FunctionCall", + "src": "8917:29:21" + } + ], + "id": 7065, + "name": "ExpressionStatement", + "src": "8917:29:21" + } + ], + "id": 7066, + "name": "Block", + "src": "8902:56:21" + } + ], + "id": 7067, + "name": "IfStatement", + "src": "8885:73:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "totalEthRaised", + "referencedDeclaration": 6652, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct SimpleICO.Organization storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6672, + "type": "mapping(address => struct SimpleICO.Organization storage ref)", + "value": "organizationsICOInfo" + }, + "id": 7068, + "name": "Identifier", + "src": "9048:20:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6947, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7069, + "name": "Identifier", + "src": "9069:7:21" + } + ], + "id": 7070, + "name": "IndexAccess", + "src": "9048:29:21" + } + ], + "id": 7071, + "name": "MemberAccess", + "src": "9048:44:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7072, + "name": "Identifier", + "src": "9096:13:21" + } + ], + "id": 7073, + "name": "Assignment", + "src": "9048:61:21" + } + ], + "id": 7074, + "name": "ExpressionStatement", + "src": "9048:61:21" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6686, + "type": "function (address,address,uint256,uint256)", + "value": "DonationReceived" + }, + "id": 7075, + "name": "Identifier", + "src": "9120:16:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6947, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7076, + "name": "Identifier", + "src": "9137:7:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6949, + "type": "address", + "value": "_beneficiary" + }, + "id": 7077, + "name": "Identifier", + "src": "9146:12:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 6980, + "type": "uint256", + "value": "incomingEther" + }, + "id": 7078, + "name": "Identifier", + "src": "9160:13:21" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7023, + "type": "uint256", + "value": "tokens" + }, + "id": 7079, + "name": "Identifier", + "src": "9175:6:21" + } + ], + "id": 7080, + "name": "FunctionCall", + "src": "9120:62:21" + } + ], + "id": 7081, + "name": "ExpressionStatement", + "src": "9120:62:21" + }, + { + "attributes": { + "functionReturnParameters": 6953 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7023, + "type": "uint256", + "value": "tokens" + }, + "id": 7082, + "name": "Identifier", + "src": "9200:6:21" + } + ], + "id": 7083, + "name": "Return", + "src": "9193:13:21" + } + ], + "id": 7084, + "name": "Block", + "src": "7889:1325:21" + } + ], + "id": 7085, + "name": "FunctionDefinition", + "src": "7806:1408:21" + } + ], + "id": 7086, + "name": "ContractDefinition", + "src": "1467:7750:21" + } + ], + "id": 7087, + "name": "SourceUnit", + "src": "0:9219:21" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "42": { + "events": {}, + "links": {}, + "address": "0x19e4266506c7274e66c54d584a801ee56ce92cfd" + }, + "1512051714758": { + "events": {}, + "links": {}, + "address": "0xe48f165ed0790e7babf38ad511e35a07f2bcffed" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.912Z" +} \ No newline at end of file diff --git a/contracts/StandardToken.json b/contracts/StandardToken.json new file mode 100644 index 000000000..58c3e64e0 --- /dev/null +++ b/contracts/StandardToken.json @@ -0,0 +1,3736 @@ +{ + "contractName": "StandardToken", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "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": "0x6060604052341561000f57600080fd5b6106e68061001e6000396000f30060606040526004361061008d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b3811461009257806318160ddd146100c857806323b872dd146100ed578063661884631461011557806370a0823114610137578063a9059cbb14610156578063d73dd62314610178578063dd62ed3e1461019a575b600080fd5b341561009d57600080fd5b6100b4600160a060020a03600435166024356101bf565b604051901515815260200160405180910390f35b34156100d357600080fd5b6100db61022b565b60405190815260200160405180910390f35b34156100f857600080fd5b6100b4600160a060020a0360043581169060243516604435610231565b341561012057600080fd5b6100b4600160a060020a03600435166024356103b3565b341561014257600080fd5b6100db600160a060020a03600435166104ad565b341561016157600080fd5b6100b4600160a060020a03600435166024356104c8565b341561018357600080fd5b6100b4600160a060020a03600435166024356105c3565b34156101a557600080fd5b6100db600160a060020a0360043581169060243516610667565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316151561024857600080fd5b600160a060020a03841660009081526001602052604090205482111561026d57600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156102a057600080fd5b600160a060020a0384166000908152600160205260409020546102c9908363ffffffff61069216565b600160a060020a0380861660009081526001602052604080822093909355908516815220546102fe908363ffffffff6106a416565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610346908363ffffffff61069216565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561041057600160a060020a033381166000908152600260209081526040808320938816835292905290812055610447565b610420818463ffffffff61069216565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b6000600160a060020a03831615156104df57600080fd5b600160a060020a03331660009081526001602052604090205482111561050457600080fd5b600160a060020a03331660009081526001602052604090205461052d908363ffffffff61069216565b600160a060020a033381166000908152600160205260408082209390935590851681522054610562908363ffffffff6106a416565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546105fb908363ffffffff6106a416565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60008282111561069e57fe5b50900390565b6000828201838110156106b357fe5b93925050505600a165627a7a72305820a645d5da9f5011420615a0c851540ffad69516d2d54c14a241b6206f5ae592ac0029", + "deployedBytecode": "0x60606040526004361061008d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b3811461009257806318160ddd146100c857806323b872dd146100ed578063661884631461011557806370a0823114610137578063a9059cbb14610156578063d73dd62314610178578063dd62ed3e1461019a575b600080fd5b341561009d57600080fd5b6100b4600160a060020a03600435166024356101bf565b604051901515815260200160405180910390f35b34156100d357600080fd5b6100db61022b565b60405190815260200160405180910390f35b34156100f857600080fd5b6100b4600160a060020a0360043581169060243516604435610231565b341561012057600080fd5b6100b4600160a060020a03600435166024356103b3565b341561014257600080fd5b6100db600160a060020a03600435166104ad565b341561016157600080fd5b6100b4600160a060020a03600435166024356104c8565b341561018357600080fd5b6100b4600160a060020a03600435166024356105c3565b34156101a557600080fd5b6100db600160a060020a0360043581169060243516610667565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316151561024857600080fd5b600160a060020a03841660009081526001602052604090205482111561026d57600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156102a057600080fd5b600160a060020a0384166000908152600160205260409020546102c9908363ffffffff61069216565b600160a060020a0380861660009081526001602052604080822093909355908516815220546102fe908363ffffffff6106a416565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610346908363ffffffff61069216565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561041057600160a060020a033381166000908152600260209081526040808320938816835292905290812055610447565b610420818463ffffffff61069216565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b6000600160a060020a03831615156104df57600080fd5b600160a060020a03331660009081526001602052604090205482111561050457600080fd5b600160a060020a03331660009081526001602052604090205461052d908363ffffffff61069216565b600160a060020a033381166000908152600160205260408082209390935590851681522054610562908363ffffffff6106a416565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546105fb908363ffffffff6106a416565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60008282111561069e57fe5b50900390565b6000828201838110156106b357fe5b93925050505600a165627a7a72305820a645d5da9f5011420615a0c851540ffad69516d2d54c14a241b6206f5ae592ac0029", + "sourceMap": "345:2984:35:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "345:2984:35:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:183;;;;;;;;;;-1:-1:-1;;;;;1799:183:35;;;;;;;;;;;;;;;;;;;;;;;;179:26:33;;;;;;;;;;;;;;;;;;;;;;;;;;;737:439:35;;;;;;;;;;-1:-1:-1;;;;;737:439:35;;;;;;;;;;;;2928:398;;;;;;;;;;-1:-1:-1;;;;;2928:398:35;;;;;;;1018:107:30;;;;;;;;;;-1:-1:-1;;;;;1018:107:30;;;;;437:379;;;;;;;;;;-1:-1:-1;;;;;437:379:30;;;;;;;2667:257:35;;;;;;;;;;-1:-1:-1;;;;;2667:257:35;;;;;;;2301:126;;;;;;;;;;-1:-1:-1;;;;;2301:126:35;;;;;;;;;;1799:183;-1:-1:-1;;;;;1886:10:35;1878:19;;1866:4;1878:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;:38;;;1866:4;;1878:29;:19;1922:38;;1910:6;;1922:38;;;;;;;;;;;;;-1:-1:-1;1973:4:35;1799:183;;;;:::o;179:26:33:-;;;;:::o;737:439:35:-;819:4;-1:-1:-1;;;;;839:17:35;;;;831:26;;;;;;-1:-1:-1;;;;;881:15:35;;;;;;:8;:15;;;;;;871:25;;;863:34;;;;;;-1:-1:-1;;;;;921:14:35;;;;;;;:7;:14;;;;;;;;936:10;921:26;;;;;;;;;;911:36;;;903:45;;;;;;-1:-1:-1;;;;;973:15:35;;;;;;:8;:15;;;;;;:27;;993:6;973:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;955:15:35;;;;;;;:8;:15;;;;;;:45;;;;1022:13;;;;;;;:25;;1040:6;1022:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1006:13:35;;;;;;;:8;:13;;;;;;;;:41;;;;1082:14;;;;;:7;:14;;;;;1097:10;1082:26;;;;;;;;;;;:38;;1113:6;1082:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;1053:14:35;;;;;;;:7;:14;;;;;;;;1068:10;1053:26;;;;;;;;;;;:67;;;;1126:28;;;;;;1147:6;;1126:28;;;;;;;;;;;;;-1:-1:-1;1167:4:35;737:439;;;;;:::o;2928:398::-;-1:-1:-1;;;;;3047:10:35;3039:19;;3011:4;3039:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;3078:27;;;3074:164;;;-1:-1:-1;;;;;3123:10:35;3115:19;;3147:1;3115:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;:33;3074:164;;;3201:30;:8;3214:16;3201:30;:12;:30;:::i;:::-;-1:-1:-1;;;;;3177:10:35;3169:19;;;;;;:7;:19;;;;;;;;:29;;;;;;;;;:62;3074:164;-1:-1:-1;;;;;3252:10:35;3243:61;;3274:19;;;;:7;:19;;;;;;;;3243:61;;;3274:29;;;;;;;;;;;;3243:61;;;;;;;;;;;;;;;-1:-1:-1;3317:4:35;;2928:398;-1:-1:-1;;;2928:398:35:o;1018:107:30:-;-1:-1:-1;;;;;1104:16:30;1074:15;1104:16;;;:8;:16;;;;;;;1018:107::o;437:379::-;500:4;-1:-1:-1;;;;;520:17:30;;;;512:26;;;;;;-1:-1:-1;;;;;571:10:30;562:20;;;;;:8;:20;;;;;;552:30;;;544:39;;;;;;-1:-1:-1;;;;;685:10:30;676:20;;;;;:8;:20;;;;;;:32;;701:6;676:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;662:10:30;653:20;;;;;;:8;:20;;;;;;:55;;;;730:13;;;;;;;:25;;748:6;730:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;714:13:30;;;;;;;:8;:13;;;;;;;:41;;;;:13;770:10;761:33;;;;;;787:6;;761:33;;;;;;;;;;;;;-1:-1:-1;807:4:30;437:379;;;;:::o;2667:257:35:-;-1:-1:-1;;;;;2797:10:35;2789:19;;2745:4;2789:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;:46;;2823:11;2789:46;:33;:46;:::i;:::-;-1:-1:-1;;;;;2765:10:35;2757:19;;;;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;;:78;;;:29;;:19;;2841:61;;2757:78;2841:61;;;;;;;;;;;;;-1:-1:-1;2915:4:35;2667:257;;;;:::o;2301:126::-;-1:-1:-1;;;;;2397:15:35;;;2375:7;2397:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2301:126::o;584:110:28:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;698:129::-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:28:o", + "source": "pragma solidity ^0.4.18;\n\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 * @dev https://github.com/ethereum/EIPs/issues/20\n * @dev 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(address _from, address _to, uint256 _value) public returns (bool) {\n require(_to != address(0));\n require(_value <= balances[_from]);\n require(_value <= allowed[_from][msg.sender]);\n\n balances[_from] = balances[_from].sub(_value);\n balances[_to] = balances[_to].add(_value);\n allowed[_from][msg.sender] = allowed[_from][msg.sender].sub(_value);\n 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 *\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 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(address _owner, address _spender) public view returns (uint256) {\n return allowed[_owner][_spender];\n }\n\n /**\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 */\n function increaseApproval(address _spender, uint _addedValue) public returns (bool) {\n allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);\n Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n\n function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {\n uint 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 Approval(msg.sender, _spender, allowed[msg.sender][_spender]);\n return true;\n }\n\n}\n", + "sourcePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "ast": { + "attributes": { + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "exportedSymbols": { + "StandardToken": [ + 9700 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 9456, + "name": "PragmaDirective", + "src": "0:24:35" + }, + { + "attributes": { + "SourceUnit": 9227, + "absolutePath": "zeppelin-solidity/contracts/token/BasicToken.sol", + "file": "./BasicToken.sol", + "scope": 9701, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 9457, + "name": "ImportDirective", + "src": "27:26:35" + }, + { + "attributes": { + "SourceUnit": 9331, + "absolutePath": "zeppelin-solidity/contracts/token/ERC20.sol", + "file": "./ERC20.sol", + "scope": 9701, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 9458, + "name": "ImportDirective", + "src": "54:21:35" + }, + { + "attributes": { + "contractDependencies": [ + 9226, + 9330, + 9359 + ], + "contractKind": "contract", + "documentation": "@title Standard ERC20 token\n * @dev Implementation of the basic standard token.\n@dev https://github.com/ethereum/EIPs/issues/20\n@dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 9700, + 9226, + 9330, + 9359 + ], + "name": "StandardToken", + "scope": 9701 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ERC20", + "referencedDeclaration": 9330, + "type": "contract ERC20" + }, + "id": 9459, + "name": "UserDefinedTypeName", + "src": "371:5:35" + } + ], + "id": 9460, + "name": "InheritanceSpecifier", + "src": "371:5:35" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "BasicToken", + "referencedDeclaration": 9226, + "type": "contract BasicToken" + }, + "id": 9461, + "name": "UserDefinedTypeName", + "src": "378:10:35" + } + ], + "id": 9462, + "name": "InheritanceSpecifier", + "src": "378:10:35" + }, + { + "attributes": { + "constant": false, + "name": "allowed", + "scope": 9700, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => mapping(address => uint256))", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => mapping(address => uint256))" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9463, + "name": "ElementaryTypeName", + "src": "403:7:35" + }, + { + "attributes": { + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9464, + "name": "ElementaryTypeName", + "src": "423:7:35" + }, + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9465, + "name": "ElementaryTypeName", + "src": "434:7:35" + } + ], + "id": 9466, + "name": "Mapping", + "src": "414:28:35" + } + ], + "id": 9467, + "name": "Mapping", + "src": "394:49:35" + } + ], + "id": 9468, + "name": "VariableDeclaration", + "src": "394:66:35" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "transferFrom", + "payable": false, + "scope": 9700, + "stateMutability": "nonpayable", + "superFunction": 9312, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_from", + "scope": 9554, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9469, + "name": "ElementaryTypeName", + "src": "759:7:35" + } + ], + "id": 9470, + "name": "VariableDeclaration", + "src": "759:13:35" + }, + { + "attributes": { + "constant": false, + "name": "_to", + "scope": 9554, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9471, + "name": "ElementaryTypeName", + "src": "774:7:35" + } + ], + "id": 9472, + "name": "VariableDeclaration", + "src": "774:11:35" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 9554, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9473, + "name": "ElementaryTypeName", + "src": "787:7:35" + } + ], + "id": 9474, + "name": "VariableDeclaration", + "src": "787:14:35" + } + ], + "id": 9475, + "name": "ParameterList", + "src": "758:44:35" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9554, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9476, + "name": "ElementaryTypeName", + "src": "819:4:35" + } + ], + "id": 9477, + "name": "VariableDeclaration", + "src": "819:4:35" + } + ], + "id": 9478, + "name": "ParameterList", + "src": "818:6:35" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 9479, + "name": "Identifier", + "src": "831:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9472, + "type": "address", + "value": "_to" + }, + "id": 9480, + "name": "Identifier", + "src": "839:3:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 9481, + "name": "ElementaryTypeNameExpression", + "src": "846:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 9482, + "name": "Literal", + "src": "854:1:35" + } + ], + "id": 9483, + "name": "FunctionCall", + "src": "846:10:35" + } + ], + "id": 9484, + "name": "BinaryOperation", + "src": "839:17:35" + } + ], + "id": 9485, + "name": "FunctionCall", + "src": "831:26:35" + } + ], + "id": 9486, + "name": "ExpressionStatement", + "src": "831:26:35" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 9487, + "name": "Identifier", + "src": "863:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9474, + "type": "uint256", + "value": "_value" + }, + "id": 9488, + "name": "Identifier", + "src": "871:6:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9489, + "name": "Identifier", + "src": "881:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9470, + "type": "address", + "value": "_from" + }, + "id": 9490, + "name": "Identifier", + "src": "890:5:35" + } + ], + "id": 9491, + "name": "IndexAccess", + "src": "881:15:35" + } + ], + "id": 9492, + "name": "BinaryOperation", + "src": "871:25:35" + } + ], + "id": 9493, + "name": "FunctionCall", + "src": "863:34:35" + } + ], + "id": 9494, + "name": "ExpressionStatement", + "src": "863:34:35" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 9495, + "name": "Identifier", + "src": "903:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9474, + "type": "uint256", + "value": "_value" + }, + "id": 9496, + "name": "Identifier", + "src": "911:6:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9497, + "name": "Identifier", + "src": "921:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9470, + "type": "address", + "value": "_from" + }, + "id": 9498, + "name": "Identifier", + "src": "929:5:35" + } + ], + "id": 9499, + "name": "IndexAccess", + "src": "921:14:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9500, + "name": "Identifier", + "src": "936:3:35" + } + ], + "id": 9501, + "name": "MemberAccess", + "src": "936:10:35" + } + ], + "id": 9502, + "name": "IndexAccess", + "src": "921:26:35" + } + ], + "id": 9503, + "name": "BinaryOperation", + "src": "911:36:35" + } + ], + "id": 9504, + "name": "FunctionCall", + "src": "903:45:35" + } + ], + "id": 9505, + "name": "ExpressionStatement", + "src": "903:45:35" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9506, + "name": "Identifier", + "src": "955:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9470, + "type": "address", + "value": "_from" + }, + "id": 9507, + "name": "Identifier", + "src": "964:5:35" + } + ], + "id": 9508, + "name": "IndexAccess", + "src": "955:15:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9509, + "name": "Identifier", + "src": "973:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9470, + "type": "address", + "value": "_from" + }, + "id": 9510, + "name": "Identifier", + "src": "982:5:35" + } + ], + "id": 9511, + "name": "IndexAccess", + "src": "973:15:35" + } + ], + "id": 9512, + "name": "MemberAccess", + "src": "973:19:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9474, + "type": "uint256", + "value": "_value" + }, + "id": 9513, + "name": "Identifier", + "src": "993:6:35" + } + ], + "id": 9514, + "name": "FunctionCall", + "src": "973:27:35" + } + ], + "id": 9515, + "name": "Assignment", + "src": "955:45:35" + } + ], + "id": 9516, + "name": "ExpressionStatement", + "src": "955:45:35" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9517, + "name": "Identifier", + "src": "1006:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9472, + "type": "address", + "value": "_to" + }, + "id": 9518, + "name": "Identifier", + "src": "1015:3:35" + } + ], + "id": 9519, + "name": "IndexAccess", + "src": "1006:13:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9520, + "name": "Identifier", + "src": "1022:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9472, + "type": "address", + "value": "_to" + }, + "id": 9521, + "name": "Identifier", + "src": "1031:3:35" + } + ], + "id": 9522, + "name": "IndexAccess", + "src": "1022:13:35" + } + ], + "id": 9523, + "name": "MemberAccess", + "src": "1022:17:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9474, + "type": "uint256", + "value": "_value" + }, + "id": 9524, + "name": "Identifier", + "src": "1040:6:35" + } + ], + "id": 9525, + "name": "FunctionCall", + "src": "1022:25:35" + } + ], + "id": 9526, + "name": "Assignment", + "src": "1006:41:35" + } + ], + "id": 9527, + "name": "ExpressionStatement", + "src": "1006:41:35" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9528, + "name": "Identifier", + "src": "1053:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9470, + "type": "address", + "value": "_from" + }, + "id": 9529, + "name": "Identifier", + "src": "1061:5:35" + } + ], + "id": 9532, + "name": "IndexAccess", + "src": "1053:14:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9530, + "name": "Identifier", + "src": "1068:3:35" + } + ], + "id": 9531, + "name": "MemberAccess", + "src": "1068:10:35" + } + ], + "id": 9533, + "name": "IndexAccess", + "src": "1053:26:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9534, + "name": "Identifier", + "src": "1082:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9470, + "type": "address", + "value": "_from" + }, + "id": 9535, + "name": "Identifier", + "src": "1090:5:35" + } + ], + "id": 9536, + "name": "IndexAccess", + "src": "1082:14:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9537, + "name": "Identifier", + "src": "1097:3:35" + } + ], + "id": 9538, + "name": "MemberAccess", + "src": "1097:10:35" + } + ], + "id": 9539, + "name": "IndexAccess", + "src": "1082:26:35" + } + ], + "id": 9540, + "name": "MemberAccess", + "src": "1082:30:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9474, + "type": "uint256", + "value": "_value" + }, + "id": 9541, + "name": "Identifier", + "src": "1113:6:35" + } + ], + "id": 9542, + "name": "FunctionCall", + "src": "1082:38:35" + } + ], + "id": 9543, + "name": "Assignment", + "src": "1053:67:35" + } + ], + "id": 9544, + "name": "ExpressionStatement", + "src": "1053:67:35" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9358, + "type": "function (address,address,uint256)", + "value": "Transfer" + }, + "id": 9545, + "name": "Identifier", + "src": "1126:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9470, + "type": "address", + "value": "_from" + }, + "id": 9546, + "name": "Identifier", + "src": "1135:5:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9472, + "type": "address", + "value": "_to" + }, + "id": 9547, + "name": "Identifier", + "src": "1142:3:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9474, + "type": "uint256", + "value": "_value" + }, + "id": 9548, + "name": "Identifier", + "src": "1147:6:35" + } + ], + "id": 9549, + "name": "FunctionCall", + "src": "1126:28:35" + } + ], + "id": 9550, + "name": "ExpressionStatement", + "src": "1126:28:35" + }, + { + "attributes": { + "functionReturnParameters": 9478 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 9551, + "name": "Literal", + "src": "1167:4:35" + } + ], + "id": 9552, + "name": "Return", + "src": "1160:11:35" + } + ], + "id": 9553, + "name": "Block", + "src": "825:351:35" + } + ], + "id": 9554, + "name": "FunctionDefinition", + "src": "737:439:35" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "approve", + "payable": false, + "scope": 9700, + "stateMutability": "nonpayable", + "superFunction": 9321, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 9582, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9555, + "name": "ElementaryTypeName", + "src": "1816:7:35" + } + ], + "id": 9556, + "name": "VariableDeclaration", + "src": "1816:16:35" + }, + { + "attributes": { + "constant": false, + "name": "_value", + "scope": 9582, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9557, + "name": "ElementaryTypeName", + "src": "1834:7:35" + } + ], + "id": 9558, + "name": "VariableDeclaration", + "src": "1834:14:35" + } + ], + "id": 9559, + "name": "ParameterList", + "src": "1815:34:35" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9582, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9560, + "name": "ElementaryTypeName", + "src": "1866:4:35" + } + ], + "id": 9561, + "name": "VariableDeclaration", + "src": "1866:4:35" + } + ], + "id": 9562, + "name": "ParameterList", + "src": "1865:6:35" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9563, + "name": "Identifier", + "src": "1878:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9564, + "name": "Identifier", + "src": "1886:3:35" + } + ], + "id": 9565, + "name": "MemberAccess", + "src": "1886:10:35" + } + ], + "id": 9567, + "name": "IndexAccess", + "src": "1878:19:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9556, + "type": "address", + "value": "_spender" + }, + "id": 9566, + "name": "Identifier", + "src": "1898:8:35" + } + ], + "id": 9568, + "name": "IndexAccess", + "src": "1878:29:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9558, + "type": "uint256", + "value": "_value" + }, + "id": 9569, + "name": "Identifier", + "src": "1910:6:35" + } + ], + "id": 9570, + "name": "Assignment", + "src": "1878:38:35" + } + ], + "id": 9571, + "name": "ExpressionStatement", + "src": "1878:38:35" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9329, + "type": "function (address,address,uint256)", + "value": "Approval" + }, + "id": 9572, + "name": "Identifier", + "src": "1922:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9573, + "name": "Identifier", + "src": "1931:3:35" + } + ], + "id": 9574, + "name": "MemberAccess", + "src": "1931:10:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9556, + "type": "address", + "value": "_spender" + }, + "id": 9575, + "name": "Identifier", + "src": "1943:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9558, + "type": "uint256", + "value": "_value" + }, + "id": 9576, + "name": "Identifier", + "src": "1953:6:35" + } + ], + "id": 9577, + "name": "FunctionCall", + "src": "1922:38:35" + } + ], + "id": 9578, + "name": "ExpressionStatement", + "src": "1922:38:35" + }, + { + "attributes": { + "functionReturnParameters": 9562 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 9579, + "name": "Literal", + "src": "1973:4:35" + } + ], + "id": 9580, + "name": "Return", + "src": "1966:11:35" + } + ], + "id": 9581, + "name": "Block", + "src": "1872:110:35" + } + ], + "id": 9582, + "name": "FunctionDefinition", + "src": "1799:183:35" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "allowance", + "payable": false, + "scope": 9700, + "stateMutability": "view", + "superFunction": 9301, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_owner", + "scope": 9598, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9583, + "name": "ElementaryTypeName", + "src": "2320:7:35" + } + ], + "id": 9584, + "name": "VariableDeclaration", + "src": "2320:14:35" + }, + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 9598, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9585, + "name": "ElementaryTypeName", + "src": "2336:7:35" + } + ], + "id": 9586, + "name": "VariableDeclaration", + "src": "2336:16:35" + } + ], + "id": 9587, + "name": "ParameterList", + "src": "2319:34:35" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9598, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9588, + "name": "ElementaryTypeName", + "src": "2375:7:35" + } + ], + "id": 9589, + "name": "VariableDeclaration", + "src": "2375:7:35" + } + ], + "id": 9590, + "name": "ParameterList", + "src": "2374:9:35" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 9590 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9591, + "name": "Identifier", + "src": "2397:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9584, + "type": "address", + "value": "_owner" + }, + "id": 9592, + "name": "Identifier", + "src": "2405:6:35" + } + ], + "id": 9593, + "name": "IndexAccess", + "src": "2397:15:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9586, + "type": "address", + "value": "_spender" + }, + "id": 9594, + "name": "Identifier", + "src": "2413:8:35" + } + ], + "id": 9595, + "name": "IndexAccess", + "src": "2397:25:35" + } + ], + "id": 9596, + "name": "Return", + "src": "2390:32:35" + } + ], + "id": 9597, + "name": "Block", + "src": "2384:43:35" + } + ], + "id": 9598, + "name": "FunctionDefinition", + "src": "2301:126:35" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "increaseApproval", + "payable": false, + "scope": 9700, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 9639, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9599, + "name": "ElementaryTypeName", + "src": "2693:7:35" + } + ], + "id": 9600, + "name": "VariableDeclaration", + "src": "2693:16:35" + }, + { + "attributes": { + "constant": false, + "name": "_addedValue", + "scope": 9639, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 9601, + "name": "ElementaryTypeName", + "src": "2711:4:35" + } + ], + "id": 9602, + "name": "VariableDeclaration", + "src": "2711:16:35" + } + ], + "id": 9603, + "name": "ParameterList", + "src": "2692:36:35" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9639, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9604, + "name": "ElementaryTypeName", + "src": "2745:4:35" + } + ], + "id": 9605, + "name": "VariableDeclaration", + "src": "2745:4:35" + } + ], + "id": 9606, + "name": "ParameterList", + "src": "2744:6:35" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9607, + "name": "Identifier", + "src": "2757:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9608, + "name": "Identifier", + "src": "2765:3:35" + } + ], + "id": 9609, + "name": "MemberAccess", + "src": "2765:10:35" + } + ], + "id": 9611, + "name": "IndexAccess", + "src": "2757:19:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9600, + "type": "address", + "value": "_spender" + }, + "id": 9610, + "name": "Identifier", + "src": "2777:8:35" + } + ], + "id": 9612, + "name": "IndexAccess", + "src": "2757:29:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9613, + "name": "Identifier", + "src": "2789:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9614, + "name": "Identifier", + "src": "2797:3:35" + } + ], + "id": 9615, + "name": "MemberAccess", + "src": "2797:10:35" + } + ], + "id": 9616, + "name": "IndexAccess", + "src": "2789:19:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9600, + "type": "address", + "value": "_spender" + }, + "id": 9617, + "name": "Identifier", + "src": "2809:8:35" + } + ], + "id": 9618, + "name": "IndexAccess", + "src": "2789:29:35" + } + ], + "id": 9619, + "name": "MemberAccess", + "src": "2789:33:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9602, + "type": "uint256", + "value": "_addedValue" + }, + "id": 9620, + "name": "Identifier", + "src": "2823:11:35" + } + ], + "id": 9621, + "name": "FunctionCall", + "src": "2789:46:35" + } + ], + "id": 9622, + "name": "Assignment", + "src": "2757:78:35" + } + ], + "id": 9623, + "name": "ExpressionStatement", + "src": "2757:78:35" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9329, + "type": "function (address,address,uint256)", + "value": "Approval" + }, + "id": 9624, + "name": "Identifier", + "src": "2841:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9625, + "name": "Identifier", + "src": "2850:3:35" + } + ], + "id": 9626, + "name": "MemberAccess", + "src": "2850:10:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9600, + "type": "address", + "value": "_spender" + }, + "id": 9627, + "name": "Identifier", + "src": "2862:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9628, + "name": "Identifier", + "src": "2872:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9629, + "name": "Identifier", + "src": "2880:3:35" + } + ], + "id": 9630, + "name": "MemberAccess", + "src": "2880:10:35" + } + ], + "id": 9631, + "name": "IndexAccess", + "src": "2872:19:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9600, + "type": "address", + "value": "_spender" + }, + "id": 9632, + "name": "Identifier", + "src": "2892:8:35" + } + ], + "id": 9633, + "name": "IndexAccess", + "src": "2872:29:35" + } + ], + "id": 9634, + "name": "FunctionCall", + "src": "2841:61:35" + } + ], + "id": 9635, + "name": "ExpressionStatement", + "src": "2841:61:35" + }, + { + "attributes": { + "functionReturnParameters": 9606 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 9636, + "name": "Literal", + "src": "2915:4:35" + } + ], + "id": 9637, + "name": "Return", + "src": "2908:11:35" + } + ], + "id": 9638, + "name": "Block", + "src": "2751:173:35" + } + ], + "id": 9639, + "name": "FunctionDefinition", + "src": "2667:257:35" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "decreaseApproval", + "payable": false, + "scope": 9700, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_spender", + "scope": 9699, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9640, + "name": "ElementaryTypeName", + "src": "2954:7:35" + } + ], + "id": 9641, + "name": "VariableDeclaration", + "src": "2954:16:35" + }, + { + "attributes": { + "constant": false, + "name": "_subtractedValue", + "scope": 9699, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 9642, + "name": "ElementaryTypeName", + "src": "2972:4:35" + } + ], + "id": 9643, + "name": "VariableDeclaration", + "src": "2972:21:35" + } + ], + "id": 9644, + "name": "ParameterList", + "src": "2953:41:35" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 9699, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 9645, + "name": "ElementaryTypeName", + "src": "3011:4:35" + } + ], + "id": 9646, + "name": "VariableDeclaration", + "src": "3011:4:35" + } + ], + "id": 9647, + "name": "ParameterList", + "src": "3010:6:35" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 9649 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "oldValue", + "scope": 9699, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 9648, + "name": "ElementaryTypeName", + "src": "3023:4:35" + } + ], + "id": 9649, + "name": "VariableDeclaration", + "src": "3023:13:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9650, + "name": "Identifier", + "src": "3039:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9651, + "name": "Identifier", + "src": "3047:3:35" + } + ], + "id": 9652, + "name": "MemberAccess", + "src": "3047:10:35" + } + ], + "id": 9653, + "name": "IndexAccess", + "src": "3039:19:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9641, + "type": "address", + "value": "_spender" + }, + "id": 9654, + "name": "Identifier", + "src": "3059:8:35" + } + ], + "id": 9655, + "name": "IndexAccess", + "src": "3039:29:35" + } + ], + "id": 9656, + "name": "VariableDeclarationStatement", + "src": "3023:45:35" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9643, + "type": "uint256", + "value": "_subtractedValue" + }, + "id": 9657, + "name": "Identifier", + "src": "3078:16:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9649, + "type": "uint256", + "value": "oldValue" + }, + "id": 9658, + "name": "Identifier", + "src": "3097:8:35" + } + ], + "id": 9659, + "name": "BinaryOperation", + "src": "3078:27:35" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9660, + "name": "Identifier", + "src": "3115:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9661, + "name": "Identifier", + "src": "3123:3:35" + } + ], + "id": 9662, + "name": "MemberAccess", + "src": "3123:10:35" + } + ], + "id": 9664, + "name": "IndexAccess", + "src": "3115:19:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9641, + "type": "address", + "value": "_spender" + }, + "id": 9663, + "name": "Identifier", + "src": "3135:8:35" + } + ], + "id": 9665, + "name": "IndexAccess", + "src": "3115:29:35" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 9666, + "name": "Literal", + "src": "3147:1:35" + } + ], + "id": 9667, + "name": "Assignment", + "src": "3115:33:35" + } + ], + "id": 9668, + "name": "ExpressionStatement", + "src": "3115:33:35" + } + ], + "id": 9669, + "name": "Block", + "src": "3107:48:35" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9670, + "name": "Identifier", + "src": "3169:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9671, + "name": "Identifier", + "src": "3177:3:35" + } + ], + "id": 9672, + "name": "MemberAccess", + "src": "3177:10:35" + } + ], + "id": 9674, + "name": "IndexAccess", + "src": "3169:19:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9641, + "type": "address", + "value": "_spender" + }, + "id": 9673, + "name": "Identifier", + "src": "3189:8:35" + } + ], + "id": 9675, + "name": "IndexAccess", + "src": "3169:29:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9649, + "type": "uint256", + "value": "oldValue" + }, + "id": 9676, + "name": "Identifier", + "src": "3201:8:35" + } + ], + "id": 9677, + "name": "MemberAccess", + "src": "3201:12:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9643, + "type": "uint256", + "value": "_subtractedValue" + }, + "id": 9678, + "name": "Identifier", + "src": "3214:16:35" + } + ], + "id": 9679, + "name": "FunctionCall", + "src": "3201:30:35" + } + ], + "id": 9680, + "name": "Assignment", + "src": "3169:62:35" + } + ], + "id": 9681, + "name": "ExpressionStatement", + "src": "3169:62:35" + } + ], + "id": 9682, + "name": "Block", + "src": "3161:77:35" + } + ], + "id": 9683, + "name": "IfStatement", + "src": "3074:164:35" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9329, + "type": "function (address,address,uint256)", + "value": "Approval" + }, + "id": 9684, + "name": "Identifier", + "src": "3243:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9685, + "name": "Identifier", + "src": "3252:3:35" + } + ], + "id": 9686, + "name": "MemberAccess", + "src": "3252:10:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9641, + "type": "address", + "value": "_spender" + }, + "id": 9687, + "name": "Identifier", + "src": "3264:8:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(address => uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9468, + "type": "mapping(address => mapping(address => uint256))", + "value": "allowed" + }, + "id": 9688, + "name": "Identifier", + "src": "3274:7:35" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 9689, + "name": "Identifier", + "src": "3282:3:35" + } + ], + "id": 9690, + "name": "MemberAccess", + "src": "3282:10:35" + } + ], + "id": 9691, + "name": "IndexAccess", + "src": "3274:19:35" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9641, + "type": "address", + "value": "_spender" + }, + "id": 9692, + "name": "Identifier", + "src": "3294:8:35" + } + ], + "id": 9693, + "name": "IndexAccess", + "src": "3274:29:35" + } + ], + "id": 9694, + "name": "FunctionCall", + "src": "3243:61:35" + } + ], + "id": 9695, + "name": "ExpressionStatement", + "src": "3243:61:35" + }, + { + "attributes": { + "functionReturnParameters": 9647 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 9696, + "name": "Literal", + "src": "3317:4:35" + } + ], + "id": 9697, + "name": "Return", + "src": "3310:11:35" + } + ], + "id": 9698, + "name": "Block", + "src": "3017:309:35" + } + ], + "id": 9699, + "name": "FunctionDefinition", + "src": "2928:398:35" + } + ], + "id": 9700, + "name": "ContractDefinition", + "src": "345:2984:35" + } + ], + "id": 9701, + "name": "SourceUnit", + "src": "0:3330:35" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.987Z" +} \ No newline at end of file diff --git a/contracts/StandardTokenMock.json b/contracts/StandardTokenMock.json new file mode 100644 index 000000000..dc392952c --- /dev/null +++ b/contracts/StandardTokenMock.json @@ -0,0 +1,574 @@ +{ + "contractName": "StandardTokenMock", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_from", + "type": "address" + }, + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "name": "balance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_to", + "type": "address" + }, + { + "name": "_value", + "type": "uint256" + } + ], + "name": "transfer", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_spender", + "type": "address" + }, + { + "name": "_addedValue", + "type": "uint256" + } + ], + "name": "increaseApproval", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_owner", + "type": "address" + }, + { + "name": "_spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "initialAccount", + "type": "address" + }, + { + "name": "initialBalance", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "from", + "type": "address" + }, + { + "indexed": true, + "name": "to", + "type": "address" + }, + { + "indexed": false, + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6040516040806107408339810160405280805191906020018051600160a060020a0390931660009081526001602052604081208490559290925550506106e68061005a6000396000f30060606040526004361061008d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b3811461009257806318160ddd146100c857806323b872dd146100ed578063661884631461011557806370a0823114610137578063a9059cbb14610156578063d73dd62314610178578063dd62ed3e1461019a575b600080fd5b341561009d57600080fd5b6100b4600160a060020a03600435166024356101bf565b604051901515815260200160405180910390f35b34156100d357600080fd5b6100db61022b565b60405190815260200160405180910390f35b34156100f857600080fd5b6100b4600160a060020a0360043581169060243516604435610231565b341561012057600080fd5b6100b4600160a060020a03600435166024356103b3565b341561014257600080fd5b6100db600160a060020a03600435166104ad565b341561016157600080fd5b6100b4600160a060020a03600435166024356104c8565b341561018357600080fd5b6100b4600160a060020a03600435166024356105c3565b34156101a557600080fd5b6100db600160a060020a0360043581169060243516610667565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316151561024857600080fd5b600160a060020a03841660009081526001602052604090205482111561026d57600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156102a057600080fd5b600160a060020a0384166000908152600160205260409020546102c9908363ffffffff61069216565b600160a060020a0380861660009081526001602052604080822093909355908516815220546102fe908363ffffffff6106a416565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610346908363ffffffff61069216565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561041057600160a060020a033381166000908152600260209081526040808320938816835292905290812055610447565b610420818463ffffffff61069216565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b6000600160a060020a03831615156104df57600080fd5b600160a060020a03331660009081526001602052604090205482111561050457600080fd5b600160a060020a03331660009081526001602052604090205461052d908363ffffffff61069216565b600160a060020a033381166000908152600160205260408082209390935590851681522054610562908363ffffffff6106a416565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546105fb908363ffffffff6106a416565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60008282111561069e57fe5b50900390565b6000828201838110156106b357fe5b93925050505600a165627a7a7230582041443a4e15265356f1976a41d0a957fcd25fe20778a8babaf6975ea30591b16a0029", + "deployedBytecode": "0x60606040526004361061008d5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663095ea7b3811461009257806318160ddd146100c857806323b872dd146100ed578063661884631461011557806370a0823114610137578063a9059cbb14610156578063d73dd62314610178578063dd62ed3e1461019a575b600080fd5b341561009d57600080fd5b6100b4600160a060020a03600435166024356101bf565b604051901515815260200160405180910390f35b34156100d357600080fd5b6100db61022b565b60405190815260200160405180910390f35b34156100f857600080fd5b6100b4600160a060020a0360043581169060243516604435610231565b341561012057600080fd5b6100b4600160a060020a03600435166024356103b3565b341561014257600080fd5b6100db600160a060020a03600435166104ad565b341561016157600080fd5b6100b4600160a060020a03600435166024356104c8565b341561018357600080fd5b6100b4600160a060020a03600435166024356105c3565b34156101a557600080fd5b6100db600160a060020a0360043581169060243516610667565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316151561024857600080fd5b600160a060020a03841660009081526001602052604090205482111561026d57600080fd5b600160a060020a03808516600090815260026020908152604080832033909416835292905220548211156102a057600080fd5b600160a060020a0384166000908152600160205260409020546102c9908363ffffffff61069216565b600160a060020a0380861660009081526001602052604080822093909355908516815220546102fe908363ffffffff6106a416565b600160a060020a03808516600090815260016020908152604080832094909455878316825260028152838220339093168252919091522054610346908363ffffffff61069216565b600160a060020a03808616600081815260026020908152604080832033861684529091529081902093909355908516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561041057600160a060020a033381166000908152600260209081526040808320938816835292905290812055610447565b610420818463ffffffff61069216565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a35060019392505050565b600160a060020a031660009081526001602052604090205490565b6000600160a060020a03831615156104df57600080fd5b600160a060020a03331660009081526001602052604090205482111561050457600080fd5b600160a060020a03331660009081526001602052604090205461052d908363ffffffff61069216565b600160a060020a033381166000908152600160205260408082209390935590851681522054610562908363ffffffff6106a416565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a350600192915050565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120546105fb908363ffffffff6106a416565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60008282111561069e57fe5b50900390565b6000828201838110156106b357fe5b93925050505600a165627a7a7230582041443a4e15265356f1976a41d0a957fcd25fe20778a8babaf6975ea30591b16a0029", + "sourceMap": "113:220:36:-;;;162:168;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;250:24:36;;;;;;;:8;162:168;250:24;;;;:41;;;297:28;;;;-1:-1:-1;;113:220:36;;;;;;", + "deployedSourceMap": "113:220:36:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:183:35;;;;;;;;;;-1:-1:-1;;;;;1799:183:35;;;;;;;;;;;;;;;;;;;;;;;;179:26:33;;;;;;;;;;;;;;;;;;;;;;;;;;;737:439:35;;;;;;;;;;-1:-1:-1;;;;;737:439:35;;;;;;;;;;;;2928:398;;;;;;;;;;-1:-1:-1;;;;;2928:398:35;;;;;;;1018:107:30;;;;;;;;;;-1:-1:-1;;;;;1018:107:30;;;;;437:379;;;;;;;;;;-1:-1:-1;;;;;437:379:30;;;;;;;2667:257:35;;;;;;;;;;-1:-1:-1;;;;;2667:257:35;;;;;;;2301:126;;;;;;;;;;-1:-1:-1;;;;;2301:126:35;;;;;;;;;;1799:183;-1:-1:-1;;;;;1886:10:35;1878:19;;1866:4;1878:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;:38;;;1866:4;;1878:29;:19;1922:38;;1910:6;;1922:38;;;;;;;;;;;;;-1:-1:-1;1973:4:35;1799:183;;;;:::o;179:26:33:-;;;;:::o;737:439:35:-;819:4;-1:-1:-1;;;;;839:17:35;;;;831:26;;;;;;-1:-1:-1;;;;;881:15:35;;;;;;:8;:15;;;;;;871:25;;;863:34;;;;;;-1:-1:-1;;;;;921:14:35;;;;;;;:7;:14;;;;;;;;936:10;921:26;;;;;;;;;;911:36;;;903:45;;;;;;-1:-1:-1;;;;;973:15:35;;;;;;:8;:15;;;;;;:27;;993:6;973:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;955:15:35;;;;;;;:8;:15;;;;;;:45;;;;1022:13;;;;;;;:25;;1040:6;1022:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;1006:13:35;;;;;;;:8;:13;;;;;;;;:41;;;;1082:14;;;;;:7;:14;;;;;1097:10;1082:26;;;;;;;;;;;:38;;1113:6;1082:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;1053:14:35;;;;;;;:7;:14;;;;;;;;1068:10;1053:26;;;;;;;;;;;:67;;;;1126:28;;;;;;1147:6;;1126:28;;;;;;;;;;;;;-1:-1:-1;1167:4:35;737:439;;;;;:::o;2928:398::-;-1:-1:-1;;;;;3047:10:35;3039:19;;3011:4;3039:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;3078:27;;;3074:164;;;-1:-1:-1;;;;;3123:10:35;3115:19;;3147:1;3115:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;:33;3074:164;;;3201:30;:8;3214:16;3201:30;:12;:30;:::i;:::-;-1:-1:-1;;;;;3177:10:35;3169:19;;;;;;:7;:19;;;;;;;;:29;;;;;;;;;:62;3074:164;-1:-1:-1;;;;;3252:10:35;3243:61;;3274:19;;;;:7;:19;;;;;;;;3243:61;;;3274:29;;;;;;;;;;;;3243:61;;;;;;;;;;;;;;;-1:-1:-1;3317:4:35;;2928:398;-1:-1:-1;;;2928:398:35:o;1018:107:30:-;-1:-1:-1;;;;;1104:16:30;1074:15;1104:16;;;:8;:16;;;;;;;1018:107::o;437:379::-;500:4;-1:-1:-1;;;;;520:17:30;;;;512:26;;;;;;-1:-1:-1;;;;;571:10:30;562:20;;;;;:8;:20;;;;;;552:30;;;544:39;;;;;;-1:-1:-1;;;;;685:10:30;676:20;;;;;:8;:20;;;;;;:32;;701:6;676:32;:24;:32;:::i;:::-;-1:-1:-1;;;;;662:10:30;653:20;;;;;;:8;:20;;;;;;:55;;;;730:13;;;;;;;:25;;748:6;730:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;714:13:30;;;;;;;:8;:13;;;;;;;:41;;;;:13;770:10;761:33;;;;;;787:6;;761:33;;;;;;;;;;;;;-1:-1:-1;807:4:30;437:379;;;;:::o;2667:257:35:-;-1:-1:-1;;;;;2797:10:35;2789:19;;2745:4;2789:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;:46;;2823:11;2789:46;:33;:46;:::i;:::-;-1:-1:-1;;;;;2765:10:35;2757:19;;;;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;;;:78;;;:29;;:19;;2841:61;;2757:78;2841:61;;;;;;;;;;;;;-1:-1:-1;2915:4:35;2667:257;;;;:::o;2301:126::-;-1:-1:-1;;;;;2397:15:35;;;2375:7;2397:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;2301:126::o;584:110:28:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;698:129::-;756:7;783:5;;;801:6;;;;794:14;;;;821:1;698:129;-1:-1:-1;;;698:129:28:o", + "source": "pragma solidity ^0.4.18;\n\n\nimport '../../contracts/token/StandardToken.sol';\n\n\n// mock class using StandardToken\ncontract StandardTokenMock is StandardToken {\n\n function StandardTokenMock(address initialAccount, uint256 initialBalance) public {\n balances[initialAccount] = initialBalance;\n totalSupply = initialBalance;\n }\n\n}\n", + "sourcePath": "zeppelin-solidity/test/helpers/StandardTokenMock.sol", + "ast": { + "attributes": { + "absolutePath": "zeppelin-solidity/test/helpers/StandardTokenMock.sol", + "exportedSymbols": { + "StandardTokenMock": [ + 9724 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 9702, + "name": "PragmaDirective", + "src": "0:24:36" + }, + { + "attributes": { + "SourceUnit": 9701, + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "file": "../../contracts/token/StandardToken.sol", + "scope": 9725, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 9703, + "name": "ImportDirective", + "src": "27:49:36" + }, + { + "attributes": { + "contractDependencies": [ + 9226, + 9330, + 9359, + 9700 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 9724, + 9700, + 9226, + 9330, + 9359 + ], + "name": "StandardTokenMock", + "scope": 9725 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 9704, + "name": "UserDefinedTypeName", + "src": "143:13:36" + } + ], + "id": 9705, + "name": "InheritanceSpecifier", + "src": "143:13:36" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "StandardTokenMock", + "payable": false, + "scope": 9724, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "initialAccount", + "scope": 9723, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 9706, + "name": "ElementaryTypeName", + "src": "189:7:36" + } + ], + "id": 9707, + "name": "VariableDeclaration", + "src": "189:22:36" + }, + { + "attributes": { + "constant": false, + "name": "initialBalance", + "scope": 9723, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint256", + "type": "uint256" + }, + "id": 9708, + "name": "ElementaryTypeName", + "src": "213:7:36" + } + ], + "id": 9709, + "name": "VariableDeclaration", + "src": "213:22:36" + } + ], + "id": 9710, + "name": "ParameterList", + "src": "188:48:36" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 9711, + "name": "ParameterList", + "src": "244:0:36" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9153, + "type": "mapping(address => uint256)", + "value": "balances" + }, + "id": 9712, + "name": "Identifier", + "src": "250:8:36" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9707, + "type": "address", + "value": "initialAccount" + }, + "id": 9713, + "name": "Identifier", + "src": "259:14:36" + } + ], + "id": 9714, + "name": "IndexAccess", + "src": "250:24:36" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9709, + "type": "uint256", + "value": "initialBalance" + }, + "id": 9715, + "name": "Identifier", + "src": "277:14:36" + } + ], + "id": 9716, + "name": "Assignment", + "src": "250:41:36" + } + ], + "id": 9717, + "name": "ExpressionStatement", + "src": "250:41:36" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9334, + "type": "uint256", + "value": "totalSupply" + }, + "id": 9718, + "name": "Identifier", + "src": "297:11:36" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9709, + "type": "uint256", + "value": "initialBalance" + }, + "id": 9719, + "name": "Identifier", + "src": "311:14:36" + } + ], + "id": 9720, + "name": "Assignment", + "src": "297:28:36" + } + ], + "id": 9721, + "name": "ExpressionStatement", + "src": "297:28:36" + } + ], + "id": 9722, + "name": "Block", + "src": "244:86:36" + } + ], + "id": 9723, + "name": "FunctionDefinition", + "src": "162:168:36" + } + ], + "id": 9724, + "name": "ContractDefinition", + "src": "113:220:36" + } + ], + "id": 9725, + "name": "SourceUnit", + "src": "0:334:36" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.985Z" +} \ No newline at end of file diff --git a/contracts/TokenCapGC.json b/contracts/TokenCapGC.json new file mode 100644 index 000000000..f85002a33 --- /dev/null +++ b/contracts/TokenCapGC.json @@ -0,0 +1,1760 @@ +{ + "contractName": "TokenCapGC", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "_paramsHash", + "type": "bytes32" + }, + { + "name": "", + "type": "bytes" + } + ], + "name": "post", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_token", + "type": "address" + }, + { + "name": "_cap", + "type": "uint256" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "bytes32" + }, + { + "name": "", + "type": "bytes" + } + ], + "name": "pre", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_token", + "type": "address" + }, + { + "name": "_cap", + "type": "uint256" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "params", + "outputs": [ + { + "name": "token", + "type": "address" + }, + { + "name": "cap", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6103958061001e6000396000f30060606040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ab9b33a811461007157806378fc063c146100ea57806389eaee6a1461011e578063c419816114610183578063dc6ab527146101a5575b600080fd5b341561007c57600080fd5b6100d660048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506101dd95505050505050565b604051901515815260200160405180910390f35b34156100f557600080fd5b61010c600160a060020a03600435166024356102aa565b60405190815260200160405180910390f35b341561012957600080fd5b6100d660048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506102e695505050505050565b341561018e57600080fd5b61010c600160a060020a03600435166024356102ef565b34156101b057600080fd5b6101bb600435610344565b604051600160a060020a03909216825260208201526040908101905180910390f35b600082815260208190526040812054600160a060020a0316158015906102925750600083815260208190526040808220600181015490549092600160a060020a03909116916318160ddd919051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561027557600080fd5b6102c65a03f1151561028657600080fd5b50505060405180519050115b1561029f575060006102a3565b5060015b9392505050565b60008282604051600160a060020a03929092166c0100000000000000000000000002825260148201526034016040518091039020905092915050565b60019392505050565b6000806102fc84846102aa565b60008181526020819052604090208054600160a060020a03871673ffffffffffffffffffffffffffffffffffffffff1990911617815560010184905591508190505092915050565b60006020819052908152604090208054600190910154600160a060020a0390911690825600a165627a7a72305820a471524965d97dd800769ff5e195c62fc15ba2cdc1d25e46958301c05c7aaa6c0029", + "deployedBytecode": "0x60606040526004361061006c5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631ab9b33a811461007157806378fc063c146100ea57806389eaee6a1461011e578063c419816114610183578063dc6ab527146101a5575b600080fd5b341561007c57600080fd5b6100d660048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506101dd95505050505050565b604051901515815260200160405180910390f35b34156100f557600080fd5b61010c600160a060020a03600435166024356102aa565b60405190815260200160405180910390f35b341561012957600080fd5b6100d660048035600160a060020a03169060248035919060649060443590810190830135806020601f820181900481020160405190810160405281815292919060208401838380828437509496506102e695505050505050565b341561018e57600080fd5b61010c600160a060020a03600435166024356102ef565b34156101b057600080fd5b6101bb600435610344565b604051600160a060020a03909216825260208201526040908101905180910390f35b600082815260208190526040812054600160a060020a0316158015906102925750600083815260208190526040808220600181015490549092600160a060020a03909116916318160ddd919051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b151561027557600080fd5b6102c65a03f1151561028657600080fd5b50505060405180519050115b1561029f575060006102a3565b5060015b9392505050565b60008282604051600160a060020a03929092166c0100000000000000000000000002825260148201526034016040518091039020905092915050565b60019392505050565b6000806102fc84846102aa565b60008181526020819052604090208054600160a060020a03871673ffffffffffffffffffffffffffffffffffffffff1990911617815560010184905591508190505092915050565b60006020819052908152604090208054600190910154600160a060020a0390911690825600a165627a7a72305820a471524965d97dd800769ff5e195c62fc15ba2cdc1d25e46958301c05c7aaa6c0029", + "sourceMap": "210:1986:10:-;;;;;;;;;;;;;;;;;", + "deployedSourceMap": "210:1986:10:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1897:296;;;;;;;;;;;;;-1:-1:-1;;;;;1897:296:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1897:296:10;;-1:-1:-1;1897:296:10;;-1:-1:-1;;;;;;1897:296:10;;;;;;;;;;;;;;;;;;1263:140;;;;;;;;;;-1:-1:-1;;;;;1263:140:10;;;;;;;;;;;;;;;;;;;;;;1601:94;;;;;;;;;;;;;-1:-1:-1;;;;;1601:94:10;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1601:94:10;;-1:-1:-1;1601:94:10;;-1:-1:-1;;;;;;1601:94:10;741:263;;;;;;;;;;-1:-1:-1;;;;;741:263:10;;;;;;;461:43;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;461:43:10;;;;;;;;;;;;;;;;;;;;1897:296;1968:4;1990:19;;;;;;;;;;:25;-1:-1:-1;;;;;1990:25:10;:45;;;;1989:132;;-1:-1:-1;2097:6:10;:19;;;;;;;;;;;:23;;;;2055:25;;2097:23;;-1:-1:-1;;;;;2055:25:10;;;;:37;;2097:6;2055:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:65;1989:132;1985:179;;;-1:-1:-1;2145:5:10;2138:12;;1985:179;-1:-1:-1;2181:4:10;1897:296;;;;;;:::o;1263:140::-;1343:7;1381:6;1389:4;1371:23;;-1:-1:-1;;;;;1371:23:10;;;;;;;;;;;;;;;;;;;;;1363:32;;1263:140;;;;:::o;1601:94::-;1683:4;1601:94;;;;;:::o;741:263::-;812:7;832:18;853:31;871:6;879:4;853:17;:31::i;:::-;895:6;:18;;;;;;;;;;:33;;-1:-1:-1;;;;;895:33:10;;-1:-1:-1;;895:33:10;;;;;;;939:22;:29;;;832:52;-1:-1:-1;832:52:10;;-1:-1:-1;741:263:10;;;;;:::o;461:43::-;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;461:43:10;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"zeppelin-solidity/contracts/token/StandardToken.sol\";\r\n\r\n\r\n/**\r\n * @title Token Cap Global Constraint\r\n * @dev A simple global contraint to cap the number of tokens.\r\n */\r\n\r\ncontract TokenCapGC {\r\n // A set of parameters, on which the cap will be checked:\r\n struct Parameters {\r\n StandardToken token;\r\n uint cap;\r\n }\r\n\r\n // Mapping from the hash of the parameters to the parameters themselves:\r\n mapping (bytes32=>Parameters) public params;\r\n\r\n\r\n /**\r\n * @dev adding a new set of parametrs\r\n * @param _token the token to add to the params.\r\n * @param _cap the cap to check the total supply against.\r\n * @return the calculated parameters hash\r\n */\r\n function setParameters(StandardToken _token, uint _cap) public returns(bytes32) {\r\n bytes32 paramsHash = getParametersHash(_token, _cap);\r\n params[paramsHash].token = _token;\r\n params[paramsHash].cap = _cap;\r\n return paramsHash;\r\n }\r\n\r\n /**\r\n * @dev calculate and returns the hash of the given parameters\r\n * @param _token the token to add to the params.\r\n * @param _cap the cap to check the total supply against.\r\n * @return the calculated parameters hash\r\n */\r\n function getParametersHash(StandardToken _token, uint _cap) public pure returns(bytes32) {\r\n return (keccak256(_token, _cap));\r\n }\r\n\r\n /**\r\n * @dev check the constraint after the action.\r\n * This global contraint only checks the state after the action, so here we just return true:\r\n * @return true\r\n */\r\n function pre(address, bytes32, bytes) public pure returns(bool) {\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev check the total supply cap.\r\n * @param _paramsHash the parameters hash to check the total supply cap against.\r\n * @return bool which represents a success\r\n */\r\n function post(address, bytes32 _paramsHash, bytes) public view returns(bool) {\r\n if ((params[_paramsHash].token != StandardToken(0)) &&\r\n ( params[_paramsHash].token.totalSupply() > params[_paramsHash].cap)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\globalConstraints\\TokenCapGC.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/globalConstraints/TokenCapGC.sol", + "exportedSymbols": { + "TokenCapGC": [ + 4498 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 4384, + "name": "PragmaDirective", + "src": "0:24:10" + }, + { + "attributes": { + "SourceUnit": 9701, + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "file": "zeppelin-solidity/contracts/token/StandardToken.sol", + "scope": 4499, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 4385, + "name": "ImportDirective", + "src": "28:61:10" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": "@title Token Cap Global Constraint\r\n@dev A simple global contraint to cap the number of tokens.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 4498 + ], + "name": "TokenCapGC", + "scope": 4499 + }, + "children": [ + { + "attributes": { + "canonicalName": "TokenCapGC.Parameters", + "name": "Parameters", + "scope": 4498, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "token", + "scope": 4390, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4386, + "name": "UserDefinedTypeName", + "src": "329:13:10" + } + ], + "id": 4387, + "name": "VariableDeclaration", + "src": "329:19:10" + }, + { + "attributes": { + "constant": false, + "name": "cap", + "scope": 4390, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4388, + "name": "ElementaryTypeName", + "src": "359:4:10" + } + ], + "id": 4389, + "name": "VariableDeclaration", + "src": "359:8:10" + } + ], + "id": 4390, + "name": "StructDefinition", + "src": "300:75:10" + }, + { + "attributes": { + "constant": false, + "name": "params", + "scope": 4498, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct TokenCapGC.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct TokenCapGC.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4391, + "name": "ElementaryTypeName", + "src": "470:7:10" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 4390, + "type": "struct TokenCapGC.Parameters storage pointer" + }, + "id": 4392, + "name": "UserDefinedTypeName", + "src": "479:10:10" + } + ], + "id": 4393, + "name": "Mapping", + "src": "461:29:10" + } + ], + "id": 4394, + "name": "VariableDeclaration", + "src": "461:43:10" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 4498, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_token", + "scope": 4427, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4395, + "name": "UserDefinedTypeName", + "src": "764:13:10" + } + ], + "id": 4396, + "name": "VariableDeclaration", + "src": "764:20:10" + }, + { + "attributes": { + "constant": false, + "name": "_cap", + "scope": 4427, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4397, + "name": "ElementaryTypeName", + "src": "786:4:10" + } + ], + "id": 4398, + "name": "VariableDeclaration", + "src": "786:9:10" + } + ], + "id": 4399, + "name": "ParameterList", + "src": "763:33:10" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4427, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4400, + "name": "ElementaryTypeName", + "src": "812:7:10" + } + ], + "id": 4401, + "name": "VariableDeclaration", + "src": "812:7:10" + } + ], + "id": 4402, + "name": "ParameterList", + "src": "811:9:10" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 4404 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 4427, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4403, + "name": "ElementaryTypeName", + "src": "832:7:10" + } + ], + "id": 4404, + "name": "VariableDeclaration", + "src": "832:18:10" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4443, + "type": "function (contract StandardToken,uint256) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 4405, + "name": "Identifier", + "src": "853:17:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4396, + "type": "contract StandardToken", + "value": "_token" + }, + "id": 4406, + "name": "Identifier", + "src": "871:6:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4398, + "type": "uint256", + "value": "_cap" + }, + "id": 4407, + "name": "Identifier", + "src": "879:4:10" + } + ], + "id": 4408, + "name": "FunctionCall", + "src": "853:31:10" + } + ], + "id": 4409, + "name": "VariableDeclarationStatement", + "src": "832:52:10" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "token", + "referencedDeclaration": 4387, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct TokenCapGC.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4394, + "type": "mapping(bytes32 => struct TokenCapGC.Parameters storage ref)", + "value": "params" + }, + "id": 4410, + "name": "Identifier", + "src": "895:6:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4404, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 4411, + "name": "Identifier", + "src": "902:10:10" + } + ], + "id": 4412, + "name": "IndexAccess", + "src": "895:18:10" + } + ], + "id": 4413, + "name": "MemberAccess", + "src": "895:24:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4396, + "type": "contract StandardToken", + "value": "_token" + }, + "id": 4414, + "name": "Identifier", + "src": "922:6:10" + } + ], + "id": 4415, + "name": "Assignment", + "src": "895:33:10" + } + ], + "id": 4416, + "name": "ExpressionStatement", + "src": "895:33:10" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "cap", + "referencedDeclaration": 4389, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct TokenCapGC.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4394, + "type": "mapping(bytes32 => struct TokenCapGC.Parameters storage ref)", + "value": "params" + }, + "id": 4417, + "name": "Identifier", + "src": "939:6:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4404, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 4418, + "name": "Identifier", + "src": "946:10:10" + } + ], + "id": 4419, + "name": "IndexAccess", + "src": "939:18:10" + } + ], + "id": 4420, + "name": "MemberAccess", + "src": "939:22:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4398, + "type": "uint256", + "value": "_cap" + }, + "id": 4421, + "name": "Identifier", + "src": "964:4:10" + } + ], + "id": 4422, + "name": "Assignment", + "src": "939:29:10" + } + ], + "id": 4423, + "name": "ExpressionStatement", + "src": "939:29:10" + }, + { + "attributes": { + "functionReturnParameters": 4402 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4404, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 4424, + "name": "Identifier", + "src": "986:10:10" + } + ], + "id": 4425, + "name": "Return", + "src": "979:17:10" + } + ], + "id": 4426, + "name": "Block", + "src": "821:183:10" + } + ], + "id": 4427, + "name": "FunctionDefinition", + "src": "741:263:10" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 4498, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_token", + "scope": 4443, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 4428, + "name": "UserDefinedTypeName", + "src": "1290:13:10" + } + ], + "id": 4429, + "name": "VariableDeclaration", + "src": "1290:20:10" + }, + { + "attributes": { + "constant": false, + "name": "_cap", + "scope": 4443, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 4430, + "name": "ElementaryTypeName", + "src": "1312:4:10" + } + ], + "id": 4431, + "name": "VariableDeclaration", + "src": "1312:9:10" + } + ], + "id": 4432, + "name": "ParameterList", + "src": "1289:33:10" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4443, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4433, + "name": "ElementaryTypeName", + "src": "1343:7:10" + } + ], + "id": 4434, + "name": "VariableDeclaration", + "src": "1343:7:10" + } + ], + "id": 4435, + "name": "ParameterList", + "src": "1342:9:10" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 4435 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 4436, + "name": "Identifier", + "src": "1371:9:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4429, + "type": "contract StandardToken", + "value": "_token" + }, + "id": 4437, + "name": "Identifier", + "src": "1381:6:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4431, + "type": "uint256", + "value": "_cap" + }, + "id": 4438, + "name": "Identifier", + "src": "1389:4:10" + } + ], + "id": 4439, + "name": "FunctionCall", + "src": "1371:23:10" + } + ], + "id": 4440, + "name": "TupleExpression", + "src": "1370:25:10" + } + ], + "id": 4441, + "name": "Return", + "src": "1363:32:10" + } + ], + "id": 4442, + "name": "Block", + "src": "1352:51:10" + } + ], + "id": 4443, + "name": "FunctionDefinition", + "src": "1263:140:10" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "pre", + "payable": false, + "scope": 4498, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4457, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4444, + "name": "ElementaryTypeName", + "src": "1614:7:10" + } + ], + "id": 4445, + "name": "VariableDeclaration", + "src": "1614:7:10" + }, + { + "attributes": { + "constant": false, + "name": "", + "scope": 4457, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4446, + "name": "ElementaryTypeName", + "src": "1623:7:10" + } + ], + "id": 4447, + "name": "VariableDeclaration", + "src": "1623:7:10" + }, + { + "attributes": { + "constant": false, + "name": "", + "scope": 4457, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 4448, + "name": "ElementaryTypeName", + "src": "1632:5:10" + } + ], + "id": 4449, + "name": "VariableDeclaration", + "src": "1632:5:10" + } + ], + "id": 4450, + "name": "ParameterList", + "src": "1613:25:10" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4457, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4451, + "name": "ElementaryTypeName", + "src": "1659:4:10" + } + ], + "id": 4452, + "name": "VariableDeclaration", + "src": "1659:4:10" + } + ], + "id": 4453, + "name": "ParameterList", + "src": "1658:6:10" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 4453 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 4454, + "name": "Literal", + "src": "1683:4:10" + } + ], + "id": 4455, + "name": "Return", + "src": "1676:11:10" + } + ], + "id": 4456, + "name": "Block", + "src": "1665:30:10" + } + ], + "id": 4457, + "name": "FunctionDefinition", + "src": "1601:94:10" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "post", + "payable": false, + "scope": 4498, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4497, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 4458, + "name": "ElementaryTypeName", + "src": "1911:7:10" + } + ], + "id": 4459, + "name": "VariableDeclaration", + "src": "1911:7:10" + }, + { + "attributes": { + "constant": false, + "name": "_paramsHash", + "scope": 4497, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 4460, + "name": "ElementaryTypeName", + "src": "1920:7:10" + } + ], + "id": 4461, + "name": "VariableDeclaration", + "src": "1920:19:10" + }, + { + "attributes": { + "constant": false, + "name": "", + "scope": 4497, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes", + "type": "bytes storage pointer" + }, + "id": 4462, + "name": "ElementaryTypeName", + "src": "1941:5:10" + } + ], + "id": 4463, + "name": "VariableDeclaration", + "src": "1941:5:10" + } + ], + "id": 4464, + "name": "ParameterList", + "src": "1910:37:10" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 4497, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 4465, + "name": "ElementaryTypeName", + "src": "1968:4:10" + } + ], + "id": 4466, + "name": "VariableDeclaration", + "src": "1968:4:10" + } + ], + "id": 4467, + "name": "ParameterList", + "src": "1967:6:10" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "token", + "referencedDeclaration": 4387, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct TokenCapGC.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4394, + "type": "mapping(bytes32 => struct TokenCapGC.Parameters storage ref)", + "value": "params" + }, + "id": 4468, + "name": "Identifier", + "src": "1990:6:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4461, + "type": "bytes32", + "value": "_paramsHash" + }, + "id": 4469, + "name": "Identifier", + "src": "1997:11:10" + } + ], + "id": 4470, + "name": "IndexAccess", + "src": "1990:19:10" + } + ], + "id": 4471, + "name": "MemberAccess", + "src": "1990:25:10" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract StandardToken", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9700, + "type": "type(contract StandardToken)", + "value": "StandardToken" + }, + "id": 4472, + "name": "Identifier", + "src": "2019:13:10" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 4473, + "name": "Literal", + "src": "2033:1:10" + } + ], + "id": 4474, + "name": "FunctionCall", + "src": "2019:16:10" + } + ], + "id": 4475, + "name": "BinaryOperation", + "src": "1990:45:10" + } + ], + "id": 4476, + "name": "TupleExpression", + "src": "1989:47:10" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "totalSupply", + "referencedDeclaration": 9334, + "type": "function () view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "token", + "referencedDeclaration": 4387, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct TokenCapGC.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4394, + "type": "mapping(bytes32 => struct TokenCapGC.Parameters storage ref)", + "value": "params" + }, + "id": 4477, + "name": "Identifier", + "src": "2055:6:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4461, + "type": "bytes32", + "value": "_paramsHash" + }, + "id": 4478, + "name": "Identifier", + "src": "2062:11:10" + } + ], + "id": 4479, + "name": "IndexAccess", + "src": "2055:19:10" + } + ], + "id": 4480, + "name": "MemberAccess", + "src": "2055:25:10" + } + ], + "id": 4481, + "name": "MemberAccess", + "src": "2055:37:10" + } + ], + "id": 4482, + "name": "FunctionCall", + "src": "2055:39:10" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cap", + "referencedDeclaration": 4389, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct TokenCapGC.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4394, + "type": "mapping(bytes32 => struct TokenCapGC.Parameters storage ref)", + "value": "params" + }, + "id": 4483, + "name": "Identifier", + "src": "2097:6:10" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4461, + "type": "bytes32", + "value": "_paramsHash" + }, + "id": 4484, + "name": "Identifier", + "src": "2104:11:10" + } + ], + "id": 4485, + "name": "IndexAccess", + "src": "2097:19:10" + } + ], + "id": 4486, + "name": "MemberAccess", + "src": "2097:23:10" + } + ], + "id": 4487, + "name": "BinaryOperation", + "src": "2055:65:10" + } + ], + "id": 4488, + "name": "TupleExpression", + "src": "2053:68:10" + } + ], + "id": 4489, + "name": "BinaryOperation", + "src": "1989:132:10" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 4467 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 4490, + "name": "Literal", + "src": "2145:5:10" + } + ], + "id": 4491, + "name": "Return", + "src": "2138:12:10" + } + ], + "id": 4492, + "name": "Block", + "src": "2123:41:10" + } + ], + "id": 4493, + "name": "IfStatement", + "src": "1985:179:10" + }, + { + "attributes": { + "functionReturnParameters": 4467 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 4494, + "name": "Literal", + "src": "2181:4:10" + } + ], + "id": 4495, + "name": "Return", + "src": "2174:11:10" + } + ], + "id": 4496, + "name": "Block", + "src": "1974:219:10" + } + ], + "id": 4497, + "name": "FunctionDefinition", + "src": "1897:296:10" + } + ], + "id": 4498, + "name": "ContractDefinition", + "src": "210:1986:10" + } + ], + "id": 4499, + "name": "SourceUnit", + "src": "0:2198:10" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "42": { + "events": {}, + "links": {}, + "address": "0xe1f1950f4f944d78ef4d89281f7673724cfd09be" + }, + "1512051714758": { + "events": {}, + "links": {}, + "address": "0x934be6d1c98dcf4360532217e1ac6c1e9b1866e2" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.931Z" +} \ No newline at end of file diff --git a/contracts/UniversalScheme.json b/contracts/UniversalScheme.json new file mode 100644 index 000000000..4210dac33 --- /dev/null +++ b/contracts/UniversalScheme.json @@ -0,0 +1,2126 @@ +{ + "contractName": "UniversalScheme", + "abi": [ + { + "constant": true, + "inputs": [], + "name": "beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizations", + "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": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "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" + }, + { + "constant": true, + "inputs": [], + "name": "hashedParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x606060405260008054600160a060020a033316600160a060020a03199091161790556104c8806100306000396000f3006060604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166338af3eed81146100a85780634345a610146100d75780635a1f7406146101055780638da5cb5b1461013857806390be003c1461014b578063c3c5a5471461016a578063ddca3f4314610189578063e1758bd8146101ae578063f2fde38b146101c1578063f98e87ba146101e0575b600080fd5b34156100b357600080fd5b6100bb6101f3565b604051600160a060020a03909116815260200160405180910390f35b34156100e257600080fd5b610103600160a060020a036004358116906024359060443516606435610202565b005b341561011057600080fd5b610124600160a060020a0360043516610262565b604051901515815260200160405180910390f35b341561014357600080fd5b6100bb610277565b341561015657600080fd5b610103600160a060020a0360043516610286565b341561017557600080fd5b610124600160a060020a03600435166103c8565b341561019457600080fd5b61019c6103e6565b60405190815260200160405180910390f35b34156101b957600080fd5b6100bb6103ec565b34156101cc57600080fd5b610103600160a060020a03600435166103fb565b34156101eb57600080fd5b61019c610496565b600354600160a060020a031681565b60005433600160a060020a0390811691161461021d57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b600054600160a060020a031681565b60006002541180156102b15750600160a060020a03811660009081526005602052604090205460ff16155b1561036357600154600354600254600160a060020a03928316926323b872dd9285929116906000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561034757600080fd5b6102c65a03f1151561035857600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a0390811691161461041657600080fd5b600160a060020a038116151561042b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600454815600a165627a7a72305820e4d37c92ccde28ffb7b540a6e3ff93ddc75b0bf5eaffd85be98ca41e597125900029", + "deployedBytecode": "0x6060604052600436106100a35763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166338af3eed81146100a85780634345a610146100d75780635a1f7406146101055780638da5cb5b1461013857806390be003c1461014b578063c3c5a5471461016a578063ddca3f4314610189578063e1758bd8146101ae578063f2fde38b146101c1578063f98e87ba146101e0575b600080fd5b34156100b357600080fd5b6100bb6101f3565b604051600160a060020a03909116815260200160405180910390f35b34156100e257600080fd5b610103600160a060020a036004358116906024359060443516606435610202565b005b341561011057600080fd5b610124600160a060020a0360043516610262565b604051901515815260200160405180910390f35b341561014357600080fd5b6100bb610277565b341561015657600080fd5b610103600160a060020a0360043516610286565b341561017557600080fd5b610124600160a060020a03600435166103c8565b341561019457600080fd5b61019c6103e6565b60405190815260200160405180910390f35b34156101b957600080fd5b6100bb6103ec565b34156101cc57600080fd5b610103600160a060020a03600435166103fb565b34156101eb57600080fd5b61019c610496565b600354600160a060020a031681565b60005433600160a060020a0390811691161461021d57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b600054600160a060020a031681565b60006002541180156102b15750600160a060020a03811660009081526005602052604090205460ff16155b1561036357600154600354600254600160a060020a03928316926323b872dd9285929116906000604051602001526040517c010000000000000000000000000000000000000000000000000000000063ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561034757600080fd5b6102c65a03f1151561035857600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a0390811691161461041657600080fd5b600160a060020a038116151561042b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600454815600a165627a7a72305820e4d37c92ccde28ffb7b540a6e3ff93ddc75b0bf5eaffd85be98ca41e597125900029", + "sourceMap": "274:1704:22:-;;;501:5:29;:18;;-1:-1:-1;;;;;509:10:29;501:18;-1:-1:-1;;;;;;501:18:29;;;;;;274:1704:22;;;;;;", + "deployedSourceMap": "274:1704:22:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;407:26;;;;;;;;;;;;;;;-1:-1:-1;;;;;407:26:22;;;;;;;;;;;;;;1314:347;;;;;;;;;;-1:-1:-1;;;;;1314:347:22;;;;;;;;;;;;;;;;;591:43;;;;;;;;;;-1:-1:-1;;;;;591:43:22;;;;;;;;;;;;;;;;;;;;;;238:20:29;;;;;;;;;;;;866:315:22;;;;;;;;;;-1:-1:-1;;;;;866:315:22;;;;;1189:117;;;;;;;;;;-1:-1:-1;;;;;1189:117:22;;;;;385:15;;;;;;;;;;;;;;;;;;;;;;;;;;;346:32;;;;;;;;;;;;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;440:31:22;;;;;;;;;;;;407:26;;;-1:-1:-1;;;;;407:26:22;;:::o;1314:347::-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;591:43::-;;;;;;;;;;;;;;;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;866:315:22:-;980:1;974:3;;:7;973:39;;;;-1:-1:-1;;;;;;989:22:22;;;;;;:13;:22;;;;;;;;987:24;973:39;969:123;;;1029:11;;1063;;1076:3;;-1:-1:-1;;;;;1029:11:22;;;;:24;;1054:7;;1063:11;;;1029;:51;;;;;;;;;;;;;;-1:-1:-1;;;;;1029:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;969:123:22;-1:-1:-1;;;;;1102:22:22;;;;;;:13;:22;;;;;;;:29;;-1:-1:-1;;1102:29:22;1127:4;1102:29;;;1142:31;;1116:7;;1142:31;-1:-1:-1;;;;;1142:31:22;;;;;;;;;;;;;;866:315;:::o;1189:117::-;-1:-1:-1;;;;;1276:22:22;1252:4;1276:22;;;:13;:22;;;;;;;;;1189:117::o;385:15::-;;;;:::o;346:32::-;;;-1:-1:-1;;;;;346:32:22;;:::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;440:31:22:-;;;;:::o", + "source": "pragma solidity ^0.4.15;\r\n\r\nimport \"./UniversalSchemeInterface.sol\";\r\nimport \"../controller/Controller.sol\";\r\nimport \"../controller/Avatar.sol\";\r\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\r\nimport \"zeppelin-solidity/contracts/token/StandardToken.sol\";\r\n\r\n\r\ncontract UniversalScheme is Ownable, UniversalSchemeInterface { //\r\n StandardToken public nativeToken;\r\n uint public fee;\r\n address public beneficiary;\r\n bytes32 public hashedParameters; // For other parameters.\r\n\r\n // A mapping from the organization (Avatar) address to the rergistration boolean\r\n mapping(address=>bool) public organizations;\r\n\r\n event OrganizationRegistered (address _avatar);\r\n event LogNewProposal(bytes32 proposalId);\r\n\r\n modifier onlyRegisteredOrganization(address avatar) {\r\n require(organizations[avatar]);\r\n _;\r\n }\r\n\r\n function registerOrganization(Avatar _avatar) public {\r\n // Pay fees for using scheme:\r\n if ((fee > 0) && (! organizations[_avatar])) {\r\n nativeToken.transferFrom(_avatar, beneficiary, fee);\r\n }\r\n organizations[_avatar] = true;\r\n OrganizationRegistered(_avatar);\r\n }\r\n\r\n function isRegistered(address _avatar) public constant returns(bool) {\r\n return organizations[_avatar];\r\n }\r\n\r\n function updateParameters(\r\n StandardToken _nativeToken,\r\n uint _fee,\r\n address _beneficiary,\r\n bytes32 _hashedParameters\r\n )\r\n public\r\n onlyOwner\r\n {\r\n nativeToken = _nativeToken;\r\n fee = _fee;\r\n beneficiary = _beneficiary;\r\n hashedParameters = _hashedParameters;\r\n }\r\n\r\n /**\r\n * @dev get the parameters for the current scheme from the controller\r\n */\r\n function getParametersFromController(Avatar _avatar) internal constant returns(bytes32) {\r\n Controller controller = Controller(_avatar.owner());\r\n return controller.getSchemeParameters(this);\r\n }\r\n\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\UniversalScheme.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "exportedSymbols": { + "UniversalScheme": [ + 7229 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".15" + ] + }, + "id": 7088, + "name": "PragmaDirective", + "src": "0:24:22" + }, + { + "attributes": { + "SourceUnit": 7260, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalSchemeInterface.sol", + "file": "./UniversalSchemeInterface.sol", + "scope": 7230, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7089, + "name": "ImportDirective", + "src": "28:40:22" + }, + { + "attributes": { + "SourceUnit": 4158, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Controller.sol", + "file": "../controller/Controller.sol", + "scope": 7230, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7090, + "name": "ImportDirective", + "src": "70:38:22" + }, + { + "attributes": { + "SourceUnit": 3073, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Avatar.sol", + "file": "../controller/Avatar.sol", + "scope": 7230, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7091, + "name": "ImportDirective", + "src": "110:34:22" + }, + { + "attributes": { + "SourceUnit": 9141, + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "scope": 7230, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7092, + "name": "ImportDirective", + "src": "146:59:22" + }, + { + "attributes": { + "SourceUnit": 9701, + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "file": "zeppelin-solidity/contracts/token/StandardToken.sol", + "scope": 7230, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7093, + "name": "ImportDirective", + "src": "207:61:22" + }, + { + "attributes": { + "contractDependencies": [ + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": true, + "linearizedBaseContracts": [ + 7229, + 7259, + 9140 + ], + "name": "UniversalScheme", + "scope": 7230 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Ownable", + "referencedDeclaration": 9140, + "type": "contract Ownable" + }, + "id": 7094, + "name": "UserDefinedTypeName", + "src": "302:7:22" + } + ], + "id": 7095, + "name": "InheritanceSpecifier", + "src": "302:7:22" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalSchemeInterface", + "referencedDeclaration": 7259, + "type": "contract UniversalSchemeInterface" + }, + "id": 7096, + "name": "UserDefinedTypeName", + "src": "311:24:22" + } + ], + "id": 7097, + "name": "InheritanceSpecifier", + "src": "311:24:22" + }, + { + "attributes": { + "constant": false, + "name": "nativeToken", + "scope": 7229, + "stateVariable": true, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 7098, + "name": "UserDefinedTypeName", + "src": "346:13:22" + } + ], + "id": 7099, + "name": "VariableDeclaration", + "src": "346:32:22" + }, + { + "attributes": { + "constant": false, + "name": "fee", + "scope": 7229, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7100, + "name": "ElementaryTypeName", + "src": "385:4:22" + } + ], + "id": 7101, + "name": "VariableDeclaration", + "src": "385:15:22" + }, + { + "attributes": { + "constant": false, + "name": "beneficiary", + "scope": 7229, + "stateVariable": true, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7102, + "name": "ElementaryTypeName", + "src": "407:7:22" + } + ], + "id": 7103, + "name": "VariableDeclaration", + "src": "407:26:22" + }, + { + "attributes": { + "constant": false, + "name": "hashedParameters", + "scope": 7229, + "stateVariable": true, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7104, + "name": "ElementaryTypeName", + "src": "440:7:22" + } + ], + "id": 7105, + "name": "VariableDeclaration", + "src": "440:31:22" + }, + { + "attributes": { + "constant": false, + "name": "organizations", + "scope": 7229, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => bool)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7106, + "name": "ElementaryTypeName", + "src": "599:7:22" + }, + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 7107, + "name": "ElementaryTypeName", + "src": "608:4:22" + } + ], + "id": 7108, + "name": "Mapping", + "src": "591:22:22" + } + ], + "id": 7109, + "name": "VariableDeclaration", + "src": "591:43:22" + }, + { + "attributes": { + "anonymous": false, + "name": "OrganizationRegistered" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_avatar", + "scope": 7113, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7110, + "name": "ElementaryTypeName", + "src": "673:7:22" + } + ], + "id": 7111, + "name": "VariableDeclaration", + "src": "673:15:22" + } + ], + "id": 7112, + "name": "ParameterList", + "src": "672:17:22" + } + ], + "id": 7113, + "name": "EventDefinition", + "src": "643:47:22" + }, + { + "attributes": { + "anonymous": false, + "name": "LogNewProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": false, + "name": "proposalId", + "scope": 7117, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7114, + "name": "ElementaryTypeName", + "src": "717:7:22" + } + ], + "id": 7115, + "name": "VariableDeclaration", + "src": "717:18:22" + } + ], + "id": 7116, + "name": "ParameterList", + "src": "716:20:22" + } + ], + "id": 7117, + "name": "EventDefinition", + "src": "696:41:22" + }, + { + "attributes": { + "name": "onlyRegisteredOrganization", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "avatar", + "scope": 7129, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7118, + "name": "ElementaryTypeName", + "src": "781:7:22" + } + ], + "id": 7119, + "name": "VariableDeclaration", + "src": "781:14:22" + } + ], + "id": 7120, + "name": "ParameterList", + "src": "780:16:22" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 7121, + "name": "Identifier", + "src": "808:7:22" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7109, + "type": "mapping(address => bool)", + "value": "organizations" + }, + "id": 7122, + "name": "Identifier", + "src": "816:13:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7119, + "type": "address", + "value": "avatar" + }, + "id": 7123, + "name": "Identifier", + "src": "830:6:22" + } + ], + "id": 7124, + "name": "IndexAccess", + "src": "816:21:22" + } + ], + "id": 7125, + "name": "FunctionCall", + "src": "808:30:22" + } + ], + "id": 7126, + "name": "ExpressionStatement", + "src": "808:30:22" + }, + { + "id": 7127, + "name": "PlaceholderStatement", + "src": "849:1:22" + } + ], + "id": 7128, + "name": "Block", + "src": "797:61:22" + } + ], + "id": 7129, + "name": "ModifierDefinition", + "src": "745:113:22" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "registerOrganization", + "payable": false, + "scope": 7229, + "stateMutability": "nonpayable", + "superFunction": 7251, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 7165, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 7130, + "name": "UserDefinedTypeName", + "src": "896:6:22" + } + ], + "id": 7131, + "name": "VariableDeclaration", + "src": "896:14:22" + } + ], + "id": 7132, + "name": "ParameterList", + "src": "895:16:22" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 7133, + "name": "ParameterList", + "src": "919:0:22" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "&&", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7101, + "type": "uint256", + "value": "fee" + }, + "id": 7134, + "name": "Identifier", + "src": "974:3:22" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 7135, + "name": "Literal", + "src": "980:1:22" + } + ], + "id": 7136, + "name": "BinaryOperation", + "src": "974:7:22" + } + ], + "id": 7137, + "name": "TupleExpression", + "src": "973:9:22" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7109, + "type": "mapping(address => bool)", + "value": "organizations" + }, + "id": 7138, + "name": "Identifier", + "src": "989:13:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7131, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7139, + "name": "Identifier", + "src": "1003:7:22" + } + ], + "id": 7140, + "name": "IndexAccess", + "src": "989:22:22" + } + ], + "id": 7141, + "name": "UnaryOperation", + "src": "987:24:22" + } + ], + "id": 7142, + "name": "TupleExpression", + "src": "986:26:22" + } + ], + "id": 7143, + "name": "BinaryOperation", + "src": "973:39:22" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferFrom", + "referencedDeclaration": 9554, + "type": "function (address,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7099, + "type": "contract StandardToken", + "value": "nativeToken" + }, + "id": 7144, + "name": "Identifier", + "src": "1029:11:22" + } + ], + "id": 7146, + "name": "MemberAccess", + "src": "1029:24:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7131, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7147, + "name": "Identifier", + "src": "1054:7:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7103, + "type": "address", + "value": "beneficiary" + }, + "id": 7148, + "name": "Identifier", + "src": "1063:11:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7101, + "type": "uint256", + "value": "fee" + }, + "id": 7149, + "name": "Identifier", + "src": "1076:3:22" + } + ], + "id": 7150, + "name": "FunctionCall", + "src": "1029:51:22" + } + ], + "id": 7151, + "name": "ExpressionStatement", + "src": "1029:51:22" + } + ], + "id": 7152, + "name": "Block", + "src": "1014:78:22" + } + ], + "id": 7153, + "name": "IfStatement", + "src": "969:123:22" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7109, + "type": "mapping(address => bool)", + "value": "organizations" + }, + "id": 7154, + "name": "Identifier", + "src": "1102:13:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7131, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7155, + "name": "Identifier", + "src": "1116:7:22" + } + ], + "id": 7156, + "name": "IndexAccess", + "src": "1102:22:22" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 7157, + "name": "Literal", + "src": "1127:4:22" + } + ], + "id": 7158, + "name": "Assignment", + "src": "1102:29:22" + } + ], + "id": 7159, + "name": "ExpressionStatement", + "src": "1102:29:22" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7113, + "type": "function (address)", + "value": "OrganizationRegistered" + }, + "id": 7160, + "name": "Identifier", + "src": "1142:22:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7131, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7161, + "name": "Identifier", + "src": "1165:7:22" + } + ], + "id": 7162, + "name": "FunctionCall", + "src": "1142:31:22" + } + ], + "id": 7163, + "name": "ExpressionStatement", + "src": "1142:31:22" + } + ], + "id": 7164, + "name": "Block", + "src": "919:262:22" + } + ], + "id": 7165, + "name": "FunctionDefinition", + "src": "866:315:22" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "isRegistered", + "payable": false, + "scope": 7229, + "stateMutability": "view", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 7177, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7166, + "name": "ElementaryTypeName", + "src": "1211:7:22" + } + ], + "id": 7167, + "name": "VariableDeclaration", + "src": "1211:15:22" + } + ], + "id": 7168, + "name": "ParameterList", + "src": "1210:17:22" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7177, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 7169, + "name": "ElementaryTypeName", + "src": "1252:4:22" + } + ], + "id": 7170, + "name": "VariableDeclaration", + "src": "1252:4:22" + } + ], + "id": 7171, + "name": "ParameterList", + "src": "1251:6:22" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 7171 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7109, + "type": "mapping(address => bool)", + "value": "organizations" + }, + "id": 7172, + "name": "Identifier", + "src": "1276:13:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7167, + "type": "address", + "value": "_avatar" + }, + "id": 7173, + "name": "Identifier", + "src": "1290:7:22" + } + ], + "id": 7174, + "name": "IndexAccess", + "src": "1276:22:22" + } + ], + "id": 7175, + "name": "Return", + "src": "1269:29:22" + } + ], + "id": 7176, + "name": "Block", + "src": "1258:48:22" + } + ], + "id": 7177, + "name": "FunctionDefinition", + "src": "1189:117:22" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "updateParameters", + "payable": false, + "scope": 7229, + "stateMutability": "nonpayable", + "superFunction": 7246, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 7207, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 7178, + "name": "UserDefinedTypeName", + "src": "1350:13:22" + } + ], + "id": 7179, + "name": "VariableDeclaration", + "src": "1350:26:22" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 7207, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7180, + "name": "ElementaryTypeName", + "src": "1387:4:22" + } + ], + "id": 7181, + "name": "VariableDeclaration", + "src": "1387:9:22" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 7207, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7182, + "name": "ElementaryTypeName", + "src": "1407:7:22" + } + ], + "id": 7183, + "name": "VariableDeclaration", + "src": "1407:20:22" + }, + { + "attributes": { + "constant": false, + "name": "_hashedParameters", + "scope": 7207, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7184, + "name": "ElementaryTypeName", + "src": "1438:7:22" + } + ], + "id": 7185, + "name": "VariableDeclaration", + "src": "1438:25:22" + } + ], + "id": 7186, + "name": "ParameterList", + "src": "1339:131:22" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 7189, + "name": "ParameterList", + "src": "1511:0:22" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9114, + "type": "modifier ()", + "value": "onlyOwner" + }, + "id": 7187, + "name": "Identifier", + "src": "1496:9:22" + } + ], + "id": 7188, + "name": "ModifierInvocation", + "src": "1496:9:22" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7099, + "type": "contract StandardToken", + "value": "nativeToken" + }, + "id": 7190, + "name": "Identifier", + "src": "1522:11:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7179, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 7191, + "name": "Identifier", + "src": "1536:12:22" + } + ], + "id": 7192, + "name": "Assignment", + "src": "1522:26:22" + } + ], + "id": 7193, + "name": "ExpressionStatement", + "src": "1522:26:22" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7101, + "type": "uint256", + "value": "fee" + }, + "id": 7194, + "name": "Identifier", + "src": "1559:3:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7181, + "type": "uint256", + "value": "_fee" + }, + "id": 7195, + "name": "Identifier", + "src": "1565:4:22" + } + ], + "id": 7196, + "name": "Assignment", + "src": "1559:10:22" + } + ], + "id": 7197, + "name": "ExpressionStatement", + "src": "1559:10:22" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7103, + "type": "address", + "value": "beneficiary" + }, + "id": 7198, + "name": "Identifier", + "src": "1580:11:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7183, + "type": "address", + "value": "_beneficiary" + }, + "id": 7199, + "name": "Identifier", + "src": "1594:12:22" + } + ], + "id": 7200, + "name": "Assignment", + "src": "1580:26:22" + } + ], + "id": 7201, + "name": "ExpressionStatement", + "src": "1580:26:22" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7105, + "type": "bytes32", + "value": "hashedParameters" + }, + "id": 7202, + "name": "Identifier", + "src": "1617:16:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7185, + "type": "bytes32", + "value": "_hashedParameters" + }, + "id": 7203, + "name": "Identifier", + "src": "1636:17:22" + } + ], + "id": 7204, + "name": "Assignment", + "src": "1617:36:22" + } + ], + "id": 7205, + "name": "ExpressionStatement", + "src": "1617:36:22" + } + ], + "id": 7206, + "name": "Block", + "src": "1511:150:22" + } + ], + "id": 7207, + "name": "FunctionDefinition", + "src": "1314:347:22" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersFromController", + "payable": false, + "scope": 7229, + "stateMutability": "view", + "superFunction": 7258, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 7228, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 7208, + "name": "UserDefinedTypeName", + "src": "1798:6:22" + } + ], + "id": 7209, + "name": "VariableDeclaration", + "src": "1798:14:22" + } + ], + "id": 7210, + "name": "ParameterList", + "src": "1797:16:22" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7228, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7211, + "name": "ElementaryTypeName", + "src": "1840:7:22" + } + ], + "id": 7212, + "name": "VariableDeclaration", + "src": "1840:7:22" + } + ], + "id": 7213, + "name": "ParameterList", + "src": "1839:9:22" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 7215 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 7228, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 7214, + "name": "UserDefinedTypeName", + "src": "1860:10:22" + } + ], + "id": 7215, + "name": "VariableDeclaration", + "src": "1860:21:22" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 7216, + "name": "Identifier", + "src": "1884:10:22" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7209, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7217, + "name": "Identifier", + "src": "1895:7:22" + } + ], + "id": 7218, + "name": "MemberAccess", + "src": "1895:13:22" + } + ], + "id": 7219, + "name": "FunctionCall", + "src": "1895:15:22" + } + ], + "id": 7220, + "name": "FunctionCall", + "src": "1884:27:22" + } + ], + "id": 7221, + "name": "VariableDeclarationStatement", + "src": "1860:51:22" + }, + { + "attributes": { + "functionReturnParameters": 7213 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_UniversalScheme_$7229", + "typeString": "contract UniversalScheme" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "getSchemeParameters", + "referencedDeclaration": 3729, + "type": "function (address) view external returns (bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7215, + "type": "contract Controller", + "value": "controller" + }, + "id": 7222, + "name": "Identifier", + "src": "1929:10:22" + } + ], + "id": 7223, + "name": "MemberAccess", + "src": "1929:30:22" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9787, + "type": "contract UniversalScheme", + "value": "this" + }, + "id": 7224, + "name": "Identifier", + "src": "1960:4:22" + } + ], + "id": 7225, + "name": "FunctionCall", + "src": "1929:36:22" + } + ], + "id": 7226, + "name": "Return", + "src": "1922:43:22" + } + ], + "id": 7227, + "name": "Block", + "src": "1849:124:22" + } + ], + "id": 7228, + "name": "FunctionDefinition", + "src": "1761:212:22" + } + ], + "id": 7229, + "name": "ContractDefinition", + "src": "274:1704:22" + } + ], + "id": 7230, + "name": "SourceUnit", + "src": "0:1980:22" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.912Z" +} \ No newline at end of file diff --git a/contracts/UniversalSchemeInterface.json b/contracts/UniversalSchemeInterface.json new file mode 100644 index 000000000..7f4240848 --- /dev/null +++ b/contracts/UniversalSchemeInterface.json @@ -0,0 +1,473 @@ +{ + "contractName": "UniversalSchemeInterface", + "abi": [ + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "sourceMap": "", + "deployedSourceMap": "", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../controller/Controller.sol\";\r\nimport \"../controller/Avatar.sol\";\r\nimport \"zeppelin-solidity/contracts/ownership/Ownable.sol\";\r\nimport \"zeppelin-solidity/contracts/token/StandardToken.sol\";\r\n\r\n\r\ncontract UniversalSchemeInterface {\r\n\r\n function updateParameters(StandardToken _nativeToken, uint _fee, address _beneficiary, bytes32 _hashedParameters) public;\r\n\r\n function registerOrganization(Avatar _avatar) public;\r\n\r\n function getParametersFromController(Avatar _avatar) internal constant returns(bytes32);\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\UniversalSchemeInterface.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalSchemeInterface.sol", + "exportedSymbols": { + "UniversalSchemeInterface": [ + 7259 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 7231, + "name": "PragmaDirective", + "src": "0:24:23" + }, + { + "attributes": { + "SourceUnit": 4158, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Controller.sol", + "file": "../controller/Controller.sol", + "scope": 7260, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7232, + "name": "ImportDirective", + "src": "28:38:23" + }, + { + "attributes": { + "SourceUnit": 3073, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/controller/Avatar.sol", + "file": "../controller/Avatar.sol", + "scope": 7260, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7233, + "name": "ImportDirective", + "src": "68:34:23" + }, + { + "attributes": { + "SourceUnit": 9141, + "absolutePath": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "file": "zeppelin-solidity/contracts/ownership/Ownable.sol", + "scope": 7260, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7234, + "name": "ImportDirective", + "src": "104:59:23" + }, + { + "attributes": { + "SourceUnit": 9701, + "absolutePath": "zeppelin-solidity/contracts/token/StandardToken.sol", + "file": "zeppelin-solidity/contracts/token/StandardToken.sol", + "scope": 7260, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7235, + "name": "ImportDirective", + "src": "165:61:23" + }, + { + "attributes": { + "baseContracts": [ + null + ], + "contractDependencies": [ + null + ], + "contractKind": "contract", + "documentation": null, + "fullyImplemented": false, + "linearizedBaseContracts": [ + 7259 + ], + "name": "UniversalSchemeInterface", + "scope": 7260 + }, + "children": [ + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "updateParameters", + "payable": false, + "scope": 7259, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 7246, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 7236, + "name": "UserDefinedTypeName", + "src": "301:13:23" + } + ], + "id": 7237, + "name": "VariableDeclaration", + "src": "301:26:23" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 7246, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7238, + "name": "ElementaryTypeName", + "src": "329:4:23" + } + ], + "id": 7239, + "name": "VariableDeclaration", + "src": "329:9:23" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 7246, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7240, + "name": "ElementaryTypeName", + "src": "340:7:23" + } + ], + "id": 7241, + "name": "VariableDeclaration", + "src": "340:20:23" + }, + { + "attributes": { + "constant": false, + "name": "_hashedParameters", + "scope": 7246, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7242, + "name": "ElementaryTypeName", + "src": "362:7:23" + } + ], + "id": 7243, + "name": "VariableDeclaration", + "src": "362:25:23" + } + ], + "id": 7244, + "name": "ParameterList", + "src": "300:88:23" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 7245, + "name": "ParameterList", + "src": "395:0:23" + } + ], + "id": 7246, + "name": "FunctionDefinition", + "src": "275:121:23" + }, + { + "attributes": { + "body": null, + "constant": false, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "registerOrganization", + "payable": false, + "scope": 7259, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 7251, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 7247, + "name": "UserDefinedTypeName", + "src": "434:6:23" + } + ], + "id": 7248, + "name": "VariableDeclaration", + "src": "434:14:23" + } + ], + "id": 7249, + "name": "ParameterList", + "src": "433:16:23" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 7250, + "name": "ParameterList", + "src": "456:0:23" + } + ], + "id": 7251, + "name": "FunctionDefinition", + "src": "404:53:23" + }, + { + "attributes": { + "body": null, + "constant": true, + "implemented": false, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersFromController", + "payable": false, + "scope": 7259, + "stateMutability": "view", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 7258, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 7252, + "name": "UserDefinedTypeName", + "src": "502:6:23" + } + ], + "id": 7253, + "name": "VariableDeclaration", + "src": "502:14:23" + } + ], + "id": 7254, + "name": "ParameterList", + "src": "501:16:23" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7258, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7255, + "name": "ElementaryTypeName", + "src": "544:7:23" + } + ], + "id": 7256, + "name": "VariableDeclaration", + "src": "544:7:23" + } + ], + "id": 7257, + "name": "ParameterList", + "src": "543:9:23" + } + ], + "id": 7258, + "name": "FunctionDefinition", + "src": "465:88:23" + } + ], + "id": 7259, + "name": "ContractDefinition", + "src": "232:324:23" + } + ], + "id": 7260, + "name": "SourceUnit", + "src": "0:558:23" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.906Z" +} \ No newline at end of file diff --git a/contracts/UpgradeScheme.json b/contracts/UpgradeScheme.json new file mode 100644 index 000000000..47e4377f8 --- /dev/null +++ b/contracts/UpgradeScheme.json @@ -0,0 +1,7337 @@ +{ + "contractName": "UpgradeScheme", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "name": "voteParams", + "type": "bytes32" + }, + { + "name": "intVote", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "bytes32" + } + ], + "name": "organizationsProposals", + "outputs": [ + { + "name": "upgradeContract", + "type": "address" + }, + { + "name": "params", + "type": "bytes32" + }, + { + "name": "proposalType", + "type": "uint256" + }, + { + "name": "tokenFee", + "type": "address" + }, + { + "name": "fee", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voteParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_param", + "type": "int256" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_scheme", + "type": "address" + }, + { + "name": "_params", + "type": "bytes32" + }, + { + "name": "_tokenFee", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + } + ], + "name": "proposeChangeUpgradingScheme", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizations", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_voteParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_newController", + "type": "address" + } + ], + "name": "proposeUpgrade", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "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" + }, + { + "constant": true, + "inputs": [], + "name": "hashedParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_newController", + "type": "address" + } + ], + "name": "LogNewUpgradeProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "newUpgradeScheme", + "type": "address" + }, + { + "indexed": false, + "name": "_params", + "type": "bytes32" + }, + { + "indexed": false, + "name": "tokenFee", + "type": "address" + }, + { + "indexed": false, + "name": "fee", + "type": "uint256" + } + ], + "name": "LogChangeUpgradeSchemeProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalDeleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b6040516060806112a283398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617815590925061006b91508490849084906401000000006100738102610b9e1704565b5050506100c6565b60005433600160a060020a0390811691161461008e57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b6111cd806100d56000396000f3006060604052600436106100d75763ffffffff60e060020a6000350416630250680481146100dc57806306e3a978146101135780632453732a14610170578063310ce4e2146101a457806338af3eed146101dd578063426ba2481461020c5780634345a6101461023e5780635a1f74061461026c57806368e14dac1461028b578063887fbd1c146102ad5780638da5cb5b146102d257806390be003c146102e5578063c3c5a54714610304578063ddca3f4314610323578063e1758bd814610336578063f2fde38b14610349578063f98e87ba14610368575b600080fd5b34156100e757600080fd5b6100f260043561037b565b604051918252600160a060020a031660208201526040908101905180910390f35b341561011e57600080fd5b610135600160a060020a036004351660243561039d565b604051600160a060020a039586168152602081019490945260408085019390935293166060830152608082019290925260a001905180910390f35b341561017b57600080fd5b610192600435600160a060020a03602435166103e4565b60405190815260200160405180910390f35b34156101af57600080fd5b6101c9600435600160a060020a036024351660443561041e565b604051901515815260200160405180910390f35b34156101e857600080fd5b6101f0610889565b604051600160a060020a03909116815260200160405180910390f35b341561021757600080fd5b610192600160a060020a036004358116906024358116906044359060643516608435610898565b341561024957600080fd5b61026a600160a060020a036004358116906024359060443516606435610b9e565b005b341561027757600080fd5b6101c9600160a060020a0360043516610bf1565b341561029657600080fd5b610192600435600160a060020a0360243516610c06565b34156102b857600080fd5b610192600160a060020a0360043581169060243516610c4e565b34156102dd57600080fd5b6101f0610e80565b34156102f057600080fd5b61026a600160a060020a0360043516610e8f565b341561030f57600080fd5b6101c9600160a060020a0360043516610fb8565b341561032e57600080fd5b610192610fd6565b341561034157600080fd5b6101f0610fdc565b341561035457600080fd5b61026a600160a060020a0360043516610feb565b341561037357600080fd5b610192611079565b60076020526000908152604090208054600190910154600160a060020a031682565b600660209081526000928352604080842090915290825290208054600182015460028301546003840154600490940154600160a060020a0393841694929391929091169085565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b60008061042961115c565b600033600160a060020a0316600760006104428961107f565b8152602081019190915260400160002060010154600160a060020a03161461046957600080fd5b84600114156108275785600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104b857600080fd5b6102c65a03f115156104c957600080fd5b5050506040518051600160a060020a03881660009081526006602090815260408083208c84529091529081902091955090915060a0905190810160409081528254600160a060020a03908116835260018401546020840152600284015491830191825260038401541660608301526004909201546080820152925051600114156105cb57600160a060020a03831663b9c2ee82835160006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156105a557600080fd5b6102c65a03f115156105b657600080fd5b5050506040518051905015156105cb57600080fd5b8160400151600214156108275782600160a060020a0316639fe027263060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561062f57600080fd5b6102c65a03f1151561064057600080fd5b50505060405180519150506080820151156106ee5782600160a060020a0316638cf1355c83606001518451856080015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156106c857600080fd5b6102c65a03f115156106d957600080fd5b5050506040518051905015156106ee57600080fd5b600160a060020a03831663a34abaa8835184602001518460006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091527fffffffff00000000000000000000000000000000000000000000000000000000166044820152606401602060405180830381600087803b151561077b57600080fd5b6102c65a03f1151561078c57600080fd5b5050506040518051905015156107a157600080fd5b600160a060020a0330168251600160a060020a0316146108275782600160a060020a0316636bafaa596000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561080157600080fd5b6102c65a03f1151561081257600080fd5b50505060405180519050151561082757600080fd5b50505050600160a060020a039190911660009081526006602090815260408083209483529390529182208054600160a060020a031990811682556001808301859055600283018590556003830180549092169091556004909101929092555090565b600354600160a060020a031681565b60006108a261118a565b6000806108ad61115c565b600160a060020a038a166000908152600560205260409020548a9060ff1615156108d657600080fd5b600760006108e38d61107f565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a031660208201908152909550519350600160a060020a0384166388737b5e600287518e3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b151561099057600080fd5b6102c65a03f115156109a157600080fd5b5050506040518051600160a060020a038d1660009081526006602090815260408083208484529091529020600201549094501590506109df57600080fd5b60a06040519081016040908152600160a060020a03808d16835260208084018d90526002838501528b82166060850152608084018b9052908e1660009081526006825282812087825290915220909250829081518154600160a060020a031916600160a060020a039190911617815560208201516001820155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155506020850151600160a060020a031683600019168c600160a060020a03167f2d846aeb8264bef18d7393145472cfc99afb135a60ea2c6a6dc368b03e5483498d8d8d8d604051600160a060020a039485168152602081019390935292166040808301919091526060820192909252608001905180910390a483600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610b7457600080fd5b6102c65a03f11515610b8557600080fd5b505050604051805150929b9a5050505050505050505050565b60005433600160a060020a03908116911614610bb957600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b600080610c1384846103e4565b60008181526007602052604090208581556001018054600160a060020a038616600160a060020a031990911617905591508190505092915050565b6000610c5861118a565b600160a060020a038416600090815260056020526040812054859060ff161515610c8157600080fd5b60076000610c8e8861107f565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a03166020820190815290935051600160a060020a03166388737b5e60028551893060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610d3857600080fd5b6102c65a03f11515610d4957600080fd5b5050506040518051600160a060020a0388811660009081526006602090815260408083208584528252909120600160028201558054600160a060020a031916928a16929092179091559093508401905051600160a060020a0316826000191687600160a060020a03167fa96bac6ecd2db240cb777e078d2fceafc3cb9c2aceefe34b827f802d4a1a798088604051600160a060020a03909116815260200160405180910390a48260200151600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610e5b57600080fd5b6102c65a03f11515610e6c57600080fd5b505050604051805150919695505050505050565b600054600160a060020a031681565b6000600254118015610eba5750600160a060020a03811660009081526005602052604090205460ff16155b15610f5357600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610f3757600080fd5b6102c65a03f11515610f4857600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a0390811691161461100657600080fd5b600160a060020a038116151561101b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156110c857600080fd5b6102c65a03f115156110d957600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561113b57600080fd5b6102c65a03f1151561114c57600080fd5b5050506040518051949350505050565b60a0604051908101604090815260008083526020830181905290820181905260608201819052608082015290565b6040805190810160405260008082526020820152905600a165627a7a72305820c85e90b29dd33ead7990b5b1f2b800067673f4e968e3678bb2f9665e7061f2160029", + "deployedBytecode": "0x6060604052600436106100d75763ffffffff60e060020a6000350416630250680481146100dc57806306e3a978146101135780632453732a14610170578063310ce4e2146101a457806338af3eed146101dd578063426ba2481461020c5780634345a6101461023e5780635a1f74061461026c57806368e14dac1461028b578063887fbd1c146102ad5780638da5cb5b146102d257806390be003c146102e5578063c3c5a54714610304578063ddca3f4314610323578063e1758bd814610336578063f2fde38b14610349578063f98e87ba14610368575b600080fd5b34156100e757600080fd5b6100f260043561037b565b604051918252600160a060020a031660208201526040908101905180910390f35b341561011e57600080fd5b610135600160a060020a036004351660243561039d565b604051600160a060020a039586168152602081019490945260408085019390935293166060830152608082019290925260a001905180910390f35b341561017b57600080fd5b610192600435600160a060020a03602435166103e4565b60405190815260200160405180910390f35b34156101af57600080fd5b6101c9600435600160a060020a036024351660443561041e565b604051901515815260200160405180910390f35b34156101e857600080fd5b6101f0610889565b604051600160a060020a03909116815260200160405180910390f35b341561021757600080fd5b610192600160a060020a036004358116906024358116906044359060643516608435610898565b341561024957600080fd5b61026a600160a060020a036004358116906024359060443516606435610b9e565b005b341561027757600080fd5b6101c9600160a060020a0360043516610bf1565b341561029657600080fd5b610192600435600160a060020a0360243516610c06565b34156102b857600080fd5b610192600160a060020a0360043581169060243516610c4e565b34156102dd57600080fd5b6101f0610e80565b34156102f057600080fd5b61026a600160a060020a0360043516610e8f565b341561030f57600080fd5b6101c9600160a060020a0360043516610fb8565b341561032e57600080fd5b610192610fd6565b341561034157600080fd5b6101f0610fdc565b341561035457600080fd5b61026a600160a060020a0360043516610feb565b341561037357600080fd5b610192611079565b60076020526000908152604090208054600190910154600160a060020a031682565b600660209081526000928352604080842090915290825290208054600182015460028301546003840154600490940154600160a060020a0393841694929391929091169085565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b60008061042961115c565b600033600160a060020a0316600760006104428961107f565b8152602081019190915260400160002060010154600160a060020a03161461046957600080fd5b84600114156108275785600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156104b857600080fd5b6102c65a03f115156104c957600080fd5b5050506040518051600160a060020a03881660009081526006602090815260408083208c84529091529081902091955090915060a0905190810160409081528254600160a060020a03908116835260018401546020840152600284015491830191825260038401541660608301526004909201546080820152925051600114156105cb57600160a060020a03831663b9c2ee82835160006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b15156105a557600080fd5b6102c65a03f115156105b657600080fd5b5050506040518051905015156105cb57600080fd5b8160400151600214156108275782600160a060020a0316639fe027263060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561062f57600080fd5b6102c65a03f1151561064057600080fd5b50505060405180519150506080820151156106ee5782600160a060020a0316638cf1355c83606001518451856080015160006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156106c857600080fd5b6102c65a03f115156106d957600080fd5b5050506040518051905015156106ee57600080fd5b600160a060020a03831663a34abaa8835184602001518460006040516020015260405160e060020a63ffffffff8616028152600160a060020a03909316600484015260248301919091527fffffffff00000000000000000000000000000000000000000000000000000000166044820152606401602060405180830381600087803b151561077b57600080fd5b6102c65a03f1151561078c57600080fd5b5050506040518051905015156107a157600080fd5b600160a060020a0330168251600160a060020a0316146108275782600160a060020a0316636bafaa596000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561080157600080fd5b6102c65a03f1151561081257600080fd5b50505060405180519050151561082757600080fd5b50505050600160a060020a039190911660009081526006602090815260408083209483529390529182208054600160a060020a031990811682556001808301859055600283018590556003830180549092169091556004909101929092555090565b600354600160a060020a031681565b60006108a261118a565b6000806108ad61115c565b600160a060020a038a166000908152600560205260409020548a9060ff1615156108d657600080fd5b600760006108e38d61107f565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a031660208201908152909550519350600160a060020a0384166388737b5e600287518e3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b151561099057600080fd5b6102c65a03f115156109a157600080fd5b5050506040518051600160a060020a038d1660009081526006602090815260408083208484529091529020600201549094501590506109df57600080fd5b60a06040519081016040908152600160a060020a03808d16835260208084018d90526002838501528b82166060850152608084018b9052908e1660009081526006825282812087825290915220909250829081518154600160a060020a031916600160a060020a039190911617815560208201516001820155604082015181600201556060820151600382018054600160a060020a031916600160a060020a03929092169190911790556080820151600490910155506020850151600160a060020a031683600019168c600160a060020a03167f2d846aeb8264bef18d7393145472cfc99afb135a60ea2c6a6dc368b03e5483498d8d8d8d604051600160a060020a039485168152602081019390935292166040808301919091526060820192909252608001905180910390a483600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610b7457600080fd5b6102c65a03f11515610b8557600080fd5b505050604051805150929b9a5050505050505050505050565b60005433600160a060020a03908116911614610bb957600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b600080610c1384846103e4565b60008181526007602052604090208581556001018054600160a060020a038616600160a060020a031990911617905591508190505092915050565b6000610c5861118a565b600160a060020a038416600090815260056020526040812054859060ff161515610c8157600080fd5b60076000610c8e8861107f565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a03166020820190815290935051600160a060020a03166388737b5e60028551893060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610d3857600080fd5b6102c65a03f11515610d4957600080fd5b5050506040518051600160a060020a0388811660009081526006602090815260408083208584528252909120600160028201558054600160a060020a031916928a16929092179091559093508401905051600160a060020a0316826000191687600160a060020a03167fa96bac6ecd2db240cb777e078d2fceafc3cb9c2aceefe34b827f802d4a1a798088604051600160a060020a03909116815260200160405180910390a48260200151600160a060020a031663339e23d18360013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610e5b57600080fd5b6102c65a03f11515610e6c57600080fd5b505050604051805150919695505050505050565b600054600160a060020a031681565b6000600254118015610eba5750600160a060020a03811660009081526005602052604090205460ff16155b15610f5357600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610f3757600080fd5b6102c65a03f11515610f4857600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a0390811691161461100657600080fd5b600160a060020a038116151561101b57600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156110c857600080fd5b6102c65a03f115156110d957600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561113b57600080fd5b6102c65a03f1151561114c57600080fd5b5050506040518051949350505050565b60a0604051908101604090815260008083526020830181905290820181905260608201819052608082015290565b6040805190810160405260008082526020820152905600a165627a7a72305820c85e90b29dd33ead7990b5b1f2b800067673f4e968e3678bb2f9665e7061f2160029", + "sourceMap": "281:7181:24:-;;;1908:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;1908:172:24;;-1:-1:-1;2010:62:24;;-1:-1:-1;2027:12:24;;2041:4;;1908:172;;2010:16;;;;;;:62;:::i;:::-;1908:172;;;281:7181;;1314:347:22;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;281:7181:24:-;;;;;;;", + "deployedSourceMap": "281:7181:24:-;;;;;;;;;-1:-1:-1;;;281:7181:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1765:46;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1765:46:24;;;;;;;;;;;;;;;;1473:81;;;;;;;;;;-1:-1:-1;;;;;1473:81:24;;;;;;;;;;-1:-1:-1;;;;;1473:81:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2606:195;;;;;;;;;;;;-1:-1:-1;;;;;2606:195:24;;;;;;;;;;;;;;;;;;;;5776:1683;;;;;;;;;;;;-1:-1:-1;;;;;5776:1683:24;;;;;;;;;;;;;;;;;;;;;;;;407:26:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;407:26:22;;;;;;;;;;;;;;4169:1284:24;;;;;;;;;;-1:-1:-1;;;;;4169:1284:24;;;;;;;;;;;;;;;;;;;;1314:347:22;;;;;;;;;;-1:-1:-1;;;;;1314:347:22;;;;;;;;;;;;;;;;;591:43;;;;;;;;;;-1:-1:-1;;;;;591:43:22;;;;;2188:343:24;;;;;;;;;;;;-1:-1:-1;;;;;2188:343:24;;;;;3072:765;;;;;;;;;;-1:-1:-1;;;;;3072:765:24;;;;;;;;;;238:20:29;;;;;;;;;;;;866:315:22;;;;;;;;;;-1:-1:-1;;;;;866:315:22;;;;;1189:117;;;;;;;;;;-1:-1:-1;;;;;1189:117:22;;;;;385:15;;;;;;;;;;;;346:32;;;;;;;;;;;;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;440:31:22;;;;;;;;;;;;1765:46:24;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1765:46:24;;:::o;1473:81::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1473:81:24;;;;;;;;;;;;;:::o;2606:195::-;2726:7;2770:11;2783:8;2760:32;;;;;-1:-1:-1;;;;;2760:32:24;;;;;;;;;;;;;;;;2751:42;;2606:195;;;;:::o;5776:1683::-;5858:4;6158:21;6232:31;;:::i;:::-;6649:18;6010:10;-1:-1:-1;;;;;5942:78:24;:10;:56;5953:44;5988:7;5953:27;:44::i;:::-;5942:56;;;;;;;;;;;;;:64;;;-1:-1:-1;;;;;5942:64:24;:78;5934:87;;;;;;6078:6;6088:1;6078:11;6074:1294;;;6200:7;-1:-1:-1;;;;;6193:21:24;;:23;;;;;;;;;;;-1:-1:-1;;;6193:23:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6266:31:24;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;;6193:23;;-1:-1:-1;6266:44:24;;-1:-1:-1;6232:78:24;;;;;;;;;;;;-1:-1:-1;;;;;6232:78:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6365:21:24;6390:1;6365:26;6361:184;;;-1:-1:-1;;;;;6417:28:24;;;6446:8;:24;6417:54;;;;;;;;-1:-1:-1;;;6417:54:24;;;;;;-1:-1:-1;;;;;6417:54:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6416:55;6412:114;;;6496:8;;;6412:114;6602:8;:21;;;6627:1;6602:26;6598:751;;;6670:10;-1:-1:-1;;;;;6670:31:24;;6702:4;6670:37;;;;;;;;-1:-1:-1;;;6670:37:24;;;;;;-1:-1:-1;;;;;6670:37:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6730:12:24;;;;:17;6726:236;;6777:10;-1:-1:-1;;;;;6777:40:24;;6818:8;:17;;;6837:8;:24;6863:8;:12;;;6777:99;;;;;;;;-1:-1:-1;;;6777:99:24;;;;;;-1:-1:-1;;;;;6777:99:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6776:100;6772:167;;;6905:8;;;6772:167;-1:-1:-1;;;;;6985:25:24;;;7011:8;:24;7037:8;:15;;;7054:11;6985:81;;;;;;;;-1:-1:-1;;;6985:81:24;;;;;;-1:-1:-1;;;;;6985:81:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6984:82;6980:141;;;7091:8;;;6980:141;-1:-1:-1;;;;;7179:4:24;7143:41;:8;:24;-1:-1:-1;;;;;7143:41:24;;7139:189;;7215:10;-1:-1:-1;;;;;7215:25:24;;:27;;;;;;;;;;;-1:-1:-1;;;7215:27:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7214:28;7210:95;;;7271:8;;;7210:95;-1:-1:-1;;;;;;;;;7385:31:24;;;;;;;;:22;:31;;;;;;;;:44;;;;;;;;;7378:51;;-1:-1:-1;;;;;;7378:51:24;;;;;-1:-1:-1;7378:51:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5776:1683:24:o;407:26:22:-;;;-1:-1:-1;;;;;407:26:22;;:::o;4169:1284:24:-;4423:7;4448:24;;:::i;:::-;4534;4586:18;4805:31;;:::i;:::-;-1:-1:-1;;;;;816:21:22;;;;;;:13;:21;;;;;;4397:7:24;;816:21:22;;808:30;;;;;;;;4475:10:24;:48;4486:36;4514:7;4486:27;:36::i;:::-;4475:48;;;;;;;;;;;;;;;;;4448:75;;;;;;;;;;;;;;;-1:-1:-1;;;;;4448:75:24;;;;;;;;;-1:-1:-1;4561:14:24;4534:41;-1:-1:-1;;;;;;4607:15:24;;;4623:1;4626:6;:17;4645:7;4674:4;4607:73;;;;;;;;-1:-1:-1;;;4607:73:24;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4607:73:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;4695:31:24;;;;;;:22;:31;;;;;;;;:43;;;;;;;;:56;;;4607:73;;-1:-1:-1;4695:61:24;;-1:-1:-1;4691:102:24;;4773:8;;;4691:102;4839:185;;;;;;;;;;-1:-1:-1;;;;;4839:185:24;;;;;;;;;;;;4884:1;4839:185;;;;;;;;;;;;;;;;;5035:31;;;4839:185;5035:31;;;:22;:31;;;;;:43;;;;;;;4839:185;;-1:-1:-1;4839:185:24;;;5035:54;;;-1:-1:-1;;;;;;5035:54:24;-1:-1:-1;;;;;5035:54:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;5035:54:24;-1:-1:-1;;;;;5035:54:24;;;;;;;;;;;;;;;;;;;-1:-1:-1;5194:14:24;;;;-1:-1:-1;;;;;5102:204:24;5169:10;5102:204;;;5147:7;-1:-1:-1;;;;;5102:204:24;;5223:7;5245;5267:9;5291:4;5102:204;;-1:-1:-1;;;;;5102:204:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5317:7;-1:-1:-1;;;;;5317:17:24;;5335:10;5347:1;5350:10;5317:44;;;;;;;;-1:-1:-1;;;5317:44:24;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5317:44:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5435:10:24;;4169:1284;-1:-1:-1;;;;;;;;;;;4169:1284:24:o;1314:347:22:-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;591:43::-;;;;;;;;;;;;;;;:::o;2188:343:24:-;2299:7;2324:18;2345:40;2363:11;2376:8;2345:17;:40::i;:::-;2396:22;;;;:10;:22;;;;;:47;;;2454:30;;:41;;-1:-1:-1;;;;;2454:41:24;;-1:-1:-1;;;;;;2454:41:24;;;;;;2324:61;-1:-1:-1;2324:61:24;;-1:-1:-1;2188:343:24;;;;;:::o;3072:765::-;3214:7;3239:24;;:::i;:::-;-1:-1:-1;;;;;816:21:22;;3325:18:24;816:21:22;;;:13;:21;;;;;;3188:7:24;;816:21:22;;808:30;;;;;;;;3266:10:24;:48;3277:36;3305:7;3277:27;:36::i;:::-;3266:48;;;;;;;;;;;;;;;;;3239:75;;;;;;;;;;;;;;;-1:-1:-1;;;;;3239:75:24;;;;;;;;;-1:-1:-1;3346:14:24;-1:-1:-1;;;;;3346:22:24;;3369:1;3372:6;:17;3391:7;3420:4;3346:80;;;;;;;;-1:-1:-1;;;3346:80:24;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3346:80:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3437:31:24;;;;;;;:22;:31;;;;;;;;:43;;;;;;;;3496:1;3437:56;;;:60;3508:76;;-1:-1:-1;;;;;;3508:76:24;;;;;;;;;;;3437:43;;-1:-1:-1;3638:14:24;;;-1:-1:-1;3638:14:24;-1:-1:-1;;;;;3595:74:24;3626:10;3595:74;;;3617:7;-1:-1:-1;;;;;3595:74:24;;3654:14;3595:74;;-1:-1:-1;;;;;3595:74:24;;;;;;;;;;;;;;3680:6;:14;;;-1:-1:-1;;;;;3680:24:24;;3705:10;3717:1;3720:10;3680:51;;;;;;;;-1:-1:-1;;;3680:51:24;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3680:51:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3819:10:24;;3072:765;-1:-1:-1;;;;;;3072:765:24:o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;866:315:22:-;980:1;974:3;;:7;973:39;;;;-1:-1:-1;;;;;;989:22:22;;;;;;:13;:22;;;;;;;;987:24;973:39;969:123;;;1029:11;;1063;;1076:3;;-1:-1:-1;;;;;1029:11:22;;;;:24;;1054:7;;1063:11;;;1029;:51;;;;;;;-1:-1:-1;;;1029:51:22;;;;;;-1:-1:-1;;;;;1029:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;969:123:22;-1:-1:-1;;;;;1102:22:22;;;;;;:13;:22;;;;;;;:29;;-1:-1:-1;;1102:29:22;1127:4;1102:29;;;1142:31;;1116:7;;1142:31;-1:-1:-1;;;;;1142:31:22;;;;;;;;;;;;;;866:315;:::o;1189:117::-;-1:-1:-1;;;;;1276:22:22;1252:4;1276:22;;;:13;:22;;;;;;;;;1189:117::o;385:15::-;;;;:::o;346:32::-;;;-1:-1:-1;;;;;346:32:22;;:::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;;;;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;440:31:22:-;;;;:::o;1761:212::-;1840:7;1860:21;1895:7;-1:-1:-1;;;;;1895:13:22;;:15;;;;;;;;;;;-1:-1:-1;;;1895:15:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1929:30:22;;;1960:4;1929:36;;;;;;;;-1:-1:-1;;;1929:36:22;;;;;;-1:-1:-1;;;;;1929:36:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1761:212;-1:-1:-1;;;;1761:212:22:o;281:7181:24:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../VotingMachines/IntVoteInterface.sol\";\r\nimport \"./UniversalScheme.sol\";\r\n\r\n\r\n/**\r\n * @title A schme to manage the upgrade of an organization.\r\n * @dev The schme is used to upgrade the controller of an organization to a new controller.\r\n */\r\n\r\ncontract UpgradeScheme is UniversalScheme, ExecutableInterface {\r\n event LogNewUpgradeProposal(\r\n address indexed _avatar,\r\n bytes32 indexed _proposalId,\r\n address indexed _intVoteInterface,\r\n address _newController\r\n );\r\n event LogChangeUpgradeSchemeProposal(\r\n address indexed _avatar,\r\n bytes32 indexed _proposalId,\r\n address indexed _intVoteInterface,\r\n address newUpgradeScheme,\r\n bytes32 _params,\r\n StandardToken tokenFee,\r\n uint fee\r\n );\r\n event LogProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\r\n event LogProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\r\n\r\n // Details of an upgrade proposal:\r\n struct UpgradeProposal {\r\n address upgradeContract; // Either the new conroller we upgrade to, or the new upgrading scheme.\r\n bytes32 params; // Params for the new upgrading scheme.\r\n uint proposalType; // 1: Upgrade controller, 2: change upgrade scheme.\r\n StandardToken tokenFee;\r\n uint fee;\r\n }\r\n\r\n // A mapping from the organization's (Avatar) address to the saved data of the organization:\r\n mapping(address=>mapping(bytes32=>UpgradeProposal)) public organizationsProposals;\r\n\r\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\r\n struct Parameters {\r\n bytes32 voteParams;\r\n IntVoteInterface intVote;\r\n }\r\n\r\n mapping(bytes32=>Parameters) public parameters;\r\n\r\n /**\r\n * @dev the constructor takes a token address, fee and beneficiary\r\n */\r\n function UpgradeScheme(StandardToken _nativeToken, uint _fee, address _beneficiary) public {\r\n updateParameters(_nativeToken, _fee, _beneficiary, bytes32(0));\r\n }\r\n\r\n /**\r\n * @dev hash the parameters, save them if necessary, and return the hash value\r\n */\r\n function setParameters(\r\n bytes32 _voteParams,\r\n IntVoteInterface _intVote\r\n ) public returns(bytes32)\r\n {\r\n bytes32 paramsHash = getParametersHash(_voteParams, _intVote);\r\n parameters[paramsHash].voteParams = _voteParams;\r\n parameters[paramsHash].intVote = _intVote;\r\n return paramsHash;\r\n }\r\n\r\n /**\r\n * @dev return a hash of the given parameters\r\n */\r\n function getParametersHash(\r\n bytes32 _voteParams,\r\n IntVoteInterface _intVote\r\n ) public pure returns(bytes32)\r\n {\r\n return (keccak256(_voteParams, _intVote));\r\n }\r\n\r\n /**\r\n * @dev propose an upgrade of the organization's controller\r\n * @param _avatar avatar of the organization\r\n * @param _newController address of the new controller that is being proposed\r\n * @return an id which represents the proposal\r\n */\r\n function proposeUpgrade(Avatar _avatar, address _newController)\r\n public\r\n onlyRegisteredOrganization(_avatar)\r\n returns(bytes32)\r\n {\r\n Parameters memory params = parameters[getParametersFromController(_avatar)];\r\n bytes32 proposalId = params.intVote.propose(2, params.voteParams, _avatar, ExecutableInterface(this));\r\n organizationsProposals[_avatar][proposalId].proposalType = 1;\r\n organizationsProposals[_avatar][proposalId].upgradeContract = _newController;\r\n LogNewUpgradeProposal(_avatar, proposalId, params.intVote, _newController);\r\n params.intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the proposal submitter.*/\r\n return proposalId;\r\n }\r\n\r\n /**\r\n * @dev propose to replace this scheme by another upgrading scheme\r\n * @param _avatar avatar of the organization\r\n * @param _scheme address of the new upgrading scheme\r\n * @param _params ???\r\n * @param _tokenFee ???\r\n * @param _fee ???\r\n * @return an id which represents the proposal\r\n */\r\n function proposeChangeUpgradingScheme(\r\n Avatar _avatar,\r\n address _scheme,\r\n bytes32 _params,\r\n StandardToken _tokenFee,\r\n uint _fee\r\n )\r\n public\r\n onlyRegisteredOrganization(_avatar)\r\n returns(bytes32)\r\n {\r\n Parameters memory params = parameters[getParametersFromController(_avatar)];\r\n IntVoteInterface intVote = params.intVote;\r\n bytes32 proposalId = intVote.propose(2, params.voteParams, _avatar, ExecutableInterface(this));\r\n if (organizationsProposals[_avatar][proposalId].proposalType != 0) {\r\n revert();\r\n }\r\n\r\n UpgradeProposal memory proposal = UpgradeProposal({\r\n proposalType: 2,\r\n upgradeContract: _scheme,\r\n params: _params,\r\n tokenFee: _tokenFee,\r\n fee: _fee\r\n });\r\n organizationsProposals[_avatar][proposalId] = proposal;\r\n\r\n LogChangeUpgradeSchemeProposal(\r\n _avatar,\r\n proposalId,\r\n params.intVote,\r\n _scheme,\r\n _params,\r\n _tokenFee,\r\n _fee\r\n );\r\n intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\r\n return proposalId;\r\n }\r\n\r\n /**\r\n * @dev execution of proposals, can only be called by the voting machine in which the vote is held.\r\n * @param _proposalId the ID of the voting in the voting machine\r\n * @param _avatar address of the controller\r\n * @param _param a parameter of the voting result, 0 is no and 1 is yes.\r\n */\r\n function execute(bytes32 _proposalId, address _avatar, int _param) public returns(bool) {\r\n // Check the caller is indeed the voting machine:\r\n require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\r\n // Check if vote was successful:\r\n if (_param == 1) {\r\n\r\n // Define controller and get the parmas:\r\n Controller controller = Controller(Avatar(_avatar).owner());\r\n UpgradeProposal memory proposal = organizationsProposals[_avatar][_proposalId];\r\n\r\n // Upgrading controller:\r\n if (proposal.proposalType == 1) {\r\n if (!controller.upgradeController(proposal.upgradeContract)) {\r\n revert();\r\n }\r\n }\r\n\r\n // Changing upgrade scheme:\r\n if (proposal.proposalType == 2) {\r\n bytes4 permissions = controller.getSchemePermissions(this);\r\n if (proposal.fee != 0) {\r\n if (!controller.externalTokenIncreaseApproval(proposal.tokenFee, proposal.upgradeContract, proposal.fee)) {\r\n revert();\r\n }\r\n }\r\n if (!controller.registerScheme(proposal.upgradeContract, proposal.params, permissions)) {\r\n revert();\r\n }\r\n if (proposal.upgradeContract != address(this) ) {\r\n if (!controller.unregisterSelf()) {\r\n revert();\r\n }\r\n }\r\n }\r\n }\r\n delete organizationsProposals[_avatar][_proposalId];\r\n return true;\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\UpgradeScheme.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UpgradeScheme.sol", + "exportedSymbols": { + "UpgradeScheme": [ + 7712 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 7261, + "name": "PragmaDirective", + "src": "0:24:24" + }, + { + "attributes": { + "SourceUnit": 2659, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/IntVoteInterface.sol", + "file": "../VotingMachines/IntVoteInterface.sol", + "scope": 7713, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7262, + "name": "ImportDirective", + "src": "28:48:24" + }, + { + "attributes": { + "SourceUnit": 7230, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "file": "./UniversalScheme.sol", + "scope": 7713, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7263, + "name": "ImportDirective", + "src": "78:31:24" + }, + { + "attributes": { + "contractDependencies": [ + 5155, + 7229, + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": "@title A schme to manage the upgrade of an organization.\r\n@dev The schme is used to upgrade the controller of an organization to a new controller.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 7712, + 5155, + 7229, + 7259, + 9140 + ], + "name": "UpgradeScheme", + "scope": 7713 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalScheme", + "referencedDeclaration": 7229, + "type": "contract UniversalScheme" + }, + "id": 7264, + "name": "UserDefinedTypeName", + "src": "307:15:24" + } + ], + "id": 7265, + "name": "InheritanceSpecifier", + "src": "307:15:24" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ExecutableInterface", + "referencedDeclaration": 5155, + "type": "contract ExecutableInterface" + }, + "id": 7266, + "name": "UserDefinedTypeName", + "src": "324:19:24" + } + ], + "id": 7267, + "name": "InheritanceSpecifier", + "src": "324:19:24" + }, + { + "attributes": { + "anonymous": false, + "name": "LogNewUpgradeProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 7277, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7268, + "name": "ElementaryTypeName", + "src": "389:7:24" + } + ], + "id": 7269, + "name": "VariableDeclaration", + "src": "389:23:24" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 7277, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7270, + "name": "ElementaryTypeName", + "src": "423:7:24" + } + ], + "id": 7271, + "name": "VariableDeclaration", + "src": "423:27:24" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_intVoteInterface", + "scope": 7277, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7272, + "name": "ElementaryTypeName", + "src": "461:7:24" + } + ], + "id": 7273, + "name": "VariableDeclaration", + "src": "461:33:24" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_newController", + "scope": 7277, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7274, + "name": "ElementaryTypeName", + "src": "505:7:24" + } + ], + "id": 7275, + "name": "VariableDeclaration", + "src": "505:22:24" + } + ], + "id": 7276, + "name": "ParameterList", + "src": "378:156:24" + } + ], + "id": 7277, + "name": "EventDefinition", + "src": "351:184:24" + }, + { + "attributes": { + "anonymous": false, + "name": "LogChangeUpgradeSchemeProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 7293, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7278, + "name": "ElementaryTypeName", + "src": "588:7:24" + } + ], + "id": 7279, + "name": "VariableDeclaration", + "src": "588:23:24" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 7293, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7280, + "name": "ElementaryTypeName", + "src": "622:7:24" + } + ], + "id": 7281, + "name": "VariableDeclaration", + "src": "622:27:24" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_intVoteInterface", + "scope": 7293, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7282, + "name": "ElementaryTypeName", + "src": "660:7:24" + } + ], + "id": 7283, + "name": "VariableDeclaration", + "src": "660:33:24" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "newUpgradeScheme", + "scope": 7293, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7284, + "name": "ElementaryTypeName", + "src": "704:7:24" + } + ], + "id": 7285, + "name": "VariableDeclaration", + "src": "704:24:24" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_params", + "scope": 7293, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7286, + "name": "ElementaryTypeName", + "src": "739:7:24" + } + ], + "id": 7287, + "name": "VariableDeclaration", + "src": "739:15:24" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "tokenFee", + "scope": 7293, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 7288, + "name": "UserDefinedTypeName", + "src": "765:13:24" + } + ], + "id": 7289, + "name": "VariableDeclaration", + "src": "765:22:24" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "fee", + "scope": 7293, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7290, + "name": "ElementaryTypeName", + "src": "798:4:24" + } + ], + "id": 7291, + "name": "VariableDeclaration", + "src": "798:8:24" + } + ], + "id": 7292, + "name": "ParameterList", + "src": "577:236:24" + } + ], + "id": 7293, + "name": "EventDefinition", + "src": "541:273:24" + }, + { + "attributes": { + "anonymous": false, + "name": "LogProposalExecuted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 7299, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7294, + "name": "ElementaryTypeName", + "src": "846:7:24" + } + ], + "id": 7295, + "name": "VariableDeclaration", + "src": "846:23:24" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 7299, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7296, + "name": "ElementaryTypeName", + "src": "871:7:24" + } + ], + "id": 7297, + "name": "VariableDeclaration", + "src": "871:27:24" + } + ], + "id": 7298, + "name": "ParameterList", + "src": "845:54:24" + } + ], + "id": 7299, + "name": "EventDefinition", + "src": "820:80:24" + }, + { + "attributes": { + "anonymous": false, + "name": "LogProposalDeleted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 7305, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7300, + "name": "ElementaryTypeName", + "src": "931:7:24" + } + ], + "id": 7301, + "name": "VariableDeclaration", + "src": "931:23:24" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 7305, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7302, + "name": "ElementaryTypeName", + "src": "956:7:24" + } + ], + "id": 7303, + "name": "VariableDeclaration", + "src": "956:27:24" + } + ], + "id": 7304, + "name": "ParameterList", + "src": "930:54:24" + } + ], + "id": 7305, + "name": "EventDefinition", + "src": "906:79:24" + }, + { + "attributes": { + "canonicalName": "UpgradeScheme.UpgradeProposal", + "name": "UpgradeProposal", + "scope": 7712, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "upgradeContract", + "scope": 7316, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7306, + "name": "ElementaryTypeName", + "src": "1067:7:24" + } + ], + "id": 7307, + "name": "VariableDeclaration", + "src": "1067:23:24" + }, + { + "attributes": { + "constant": false, + "name": "params", + "scope": 7316, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7308, + "name": "ElementaryTypeName", + "src": "1173:7:24" + } + ], + "id": 7309, + "name": "VariableDeclaration", + "src": "1173:14:24" + }, + { + "attributes": { + "constant": false, + "name": "proposalType", + "scope": 7316, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7310, + "name": "ElementaryTypeName", + "src": "1238:4:24" + } + ], + "id": 7311, + "name": "VariableDeclaration", + "src": "1238:17:24" + }, + { + "attributes": { + "constant": false, + "name": "tokenFee", + "scope": 7316, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 7312, + "name": "UserDefinedTypeName", + "src": "1318:13:24" + } + ], + "id": 7313, + "name": "VariableDeclaration", + "src": "1318:22:24" + }, + { + "attributes": { + "constant": false, + "name": "fee", + "scope": 7316, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7314, + "name": "ElementaryTypeName", + "src": "1351:4:24" + } + ], + "id": 7315, + "name": "VariableDeclaration", + "src": "1351:8:24" + } + ], + "id": 7316, + "name": "StructDefinition", + "src": "1033:334:24" + }, + { + "attributes": { + "constant": false, + "name": "organizationsProposals", + "scope": 7712, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref))", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref))" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7317, + "name": "ElementaryTypeName", + "src": "1481:7:24" + }, + { + "attributes": { + "type": "mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7318, + "name": "ElementaryTypeName", + "src": "1498:7:24" + }, + { + "attributes": { + "contractScope": null, + "name": "UpgradeProposal", + "referencedDeclaration": 7316, + "type": "struct UpgradeScheme.UpgradeProposal storage pointer" + }, + "id": 7319, + "name": "UserDefinedTypeName", + "src": "1507:15:24" + } + ], + "id": 7320, + "name": "Mapping", + "src": "1490:33:24" + } + ], + "id": 7321, + "name": "Mapping", + "src": "1473:51:24" + } + ], + "id": 7322, + "name": "VariableDeclaration", + "src": "1473:81:24" + }, + { + "attributes": { + "canonicalName": "UpgradeScheme.Parameters", + "name": "Parameters", + "scope": 7712, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "voteParams", + "scope": 7327, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7323, + "name": "ElementaryTypeName", + "src": "1696:7:24" + } + ], + "id": 7324, + "name": "VariableDeclaration", + "src": "1696:18:24" + }, + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 7327, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 7325, + "name": "UserDefinedTypeName", + "src": "1725:16:24" + } + ], + "id": 7326, + "name": "VariableDeclaration", + "src": "1725:24:24" + } + ], + "id": 7327, + "name": "StructDefinition", + "src": "1667:90:24" + }, + { + "attributes": { + "constant": false, + "name": "parameters", + "scope": 7712, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct UpgradeScheme.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct UpgradeScheme.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7328, + "name": "ElementaryTypeName", + "src": "1773:7:24" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 7327, + "type": "struct UpgradeScheme.Parameters storage pointer" + }, + "id": 7329, + "name": "UserDefinedTypeName", + "src": "1782:10:24" + } + ], + "id": 7330, + "name": "Mapping", + "src": "1765:28:24" + } + ], + "id": 7331, + "name": "VariableDeclaration", + "src": "1765:46:24" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "UpgradeScheme", + "payable": false, + "scope": 7712, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 7350, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 7332, + "name": "UserDefinedTypeName", + "src": "1931:13:24" + } + ], + "id": 7333, + "name": "VariableDeclaration", + "src": "1931:26:24" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 7350, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7334, + "name": "ElementaryTypeName", + "src": "1959:4:24" + } + ], + "id": 7335, + "name": "VariableDeclaration", + "src": "1959:9:24" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 7350, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7336, + "name": "ElementaryTypeName", + "src": "1970:7:24" + } + ], + "id": 7337, + "name": "VariableDeclaration", + "src": "1970:20:24" + } + ], + "id": 7338, + "name": "ParameterList", + "src": "1930:61:24" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 7339, + "name": "ParameterList", + "src": "1999:0:24" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 7207 + ], + "referencedDeclaration": 7207, + "type": "function (contract StandardToken,uint256,address,bytes32)", + "value": "updateParameters" + }, + "id": 7340, + "name": "Identifier", + "src": "2010:16:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7333, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 7341, + "name": "Identifier", + "src": "2027:12:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7335, + "type": "uint256", + "value": "_fee" + }, + "id": 7342, + "name": "Identifier", + "src": "2041:4:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7337, + "type": "address", + "value": "_beneficiary" + }, + "id": 7343, + "name": "Identifier", + "src": "2047:12:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 7344, + "name": "ElementaryTypeNameExpression", + "src": "2061:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 7345, + "name": "Literal", + "src": "2069:1:24" + } + ], + "id": 7346, + "name": "FunctionCall", + "src": "2061:10:24" + } + ], + "id": 7347, + "name": "FunctionCall", + "src": "2010:62:24" + } + ], + "id": 7348, + "name": "ExpressionStatement", + "src": "2010:62:24" + } + ], + "id": 7349, + "name": "Block", + "src": "1999:81:24" + } + ], + "id": 7350, + "name": "FunctionDefinition", + "src": "1908:172:24" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 7712, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_voteParams", + "scope": 7383, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7351, + "name": "ElementaryTypeName", + "src": "2221:7:24" + } + ], + "id": 7352, + "name": "VariableDeclaration", + "src": "2221:19:24" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 7383, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 7353, + "name": "UserDefinedTypeName", + "src": "2251:16:24" + } + ], + "id": 7354, + "name": "VariableDeclaration", + "src": "2251:25:24" + } + ], + "id": 7355, + "name": "ParameterList", + "src": "2210:73:24" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7383, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7356, + "name": "ElementaryTypeName", + "src": "2299:7:24" + } + ], + "id": 7357, + "name": "VariableDeclaration", + "src": "2299:7:24" + } + ], + "id": 7358, + "name": "ParameterList", + "src": "2298:9:24" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 7360 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 7383, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7359, + "name": "ElementaryTypeName", + "src": "2324:7:24" + } + ], + "id": 7360, + "name": "VariableDeclaration", + "src": "2324:18:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7399, + "type": "function (bytes32,contract IntVoteInterface) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 7361, + "name": "Identifier", + "src": "2345:17:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7352, + "type": "bytes32", + "value": "_voteParams" + }, + "id": 7362, + "name": "Identifier", + "src": "2363:11:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7354, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 7363, + "name": "Identifier", + "src": "2376:8:24" + } + ], + "id": 7364, + "name": "FunctionCall", + "src": "2345:40:24" + } + ], + "id": 7365, + "name": "VariableDeclarationStatement", + "src": "2324:61:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "voteParams", + "referencedDeclaration": 7324, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct UpgradeScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7331, + "type": "mapping(bytes32 => struct UpgradeScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 7366, + "name": "Identifier", + "src": "2396:10:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7360, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 7367, + "name": "Identifier", + "src": "2407:10:24" + } + ], + "id": 7368, + "name": "IndexAccess", + "src": "2396:22:24" + } + ], + "id": 7369, + "name": "MemberAccess", + "src": "2396:33:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7352, + "type": "bytes32", + "value": "_voteParams" + }, + "id": 7370, + "name": "Identifier", + "src": "2432:11:24" + } + ], + "id": 7371, + "name": "Assignment", + "src": "2396:47:24" + } + ], + "id": 7372, + "name": "ExpressionStatement", + "src": "2396:47:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "intVote", + "referencedDeclaration": 7326, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct UpgradeScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7331, + "type": "mapping(bytes32 => struct UpgradeScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 7373, + "name": "Identifier", + "src": "2454:10:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7360, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 7374, + "name": "Identifier", + "src": "2465:10:24" + } + ], + "id": 7375, + "name": "IndexAccess", + "src": "2454:22:24" + } + ], + "id": 7376, + "name": "MemberAccess", + "src": "2454:30:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7354, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 7377, + "name": "Identifier", + "src": "2487:8:24" + } + ], + "id": 7378, + "name": "Assignment", + "src": "2454:41:24" + } + ], + "id": 7379, + "name": "ExpressionStatement", + "src": "2454:41:24" + }, + { + "attributes": { + "functionReturnParameters": 7358 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7360, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 7380, + "name": "Identifier", + "src": "2513:10:24" + } + ], + "id": 7381, + "name": "Return", + "src": "2506:17:24" + } + ], + "id": 7382, + "name": "Block", + "src": "2313:218:24" + } + ], + "id": 7383, + "name": "FunctionDefinition", + "src": "2188:343:24" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 7712, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_voteParams", + "scope": 7399, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7384, + "name": "ElementaryTypeName", + "src": "2643:7:24" + } + ], + "id": 7385, + "name": "VariableDeclaration", + "src": "2643:19:24" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 7399, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 7386, + "name": "UserDefinedTypeName", + "src": "2673:16:24" + } + ], + "id": 7387, + "name": "VariableDeclaration", + "src": "2673:25:24" + } + ], + "id": 7388, + "name": "ParameterList", + "src": "2632:73:24" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7399, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7389, + "name": "ElementaryTypeName", + "src": "2726:7:24" + } + ], + "id": 7390, + "name": "VariableDeclaration", + "src": "2726:7:24" + } + ], + "id": 7391, + "name": "ParameterList", + "src": "2725:9:24" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 7391 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 7392, + "name": "Identifier", + "src": "2760:9:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7385, + "type": "bytes32", + "value": "_voteParams" + }, + "id": 7393, + "name": "Identifier", + "src": "2770:11:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7387, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 7394, + "name": "Identifier", + "src": "2783:8:24" + } + ], + "id": 7395, + "name": "FunctionCall", + "src": "2760:32:24" + } + ], + "id": 7396, + "name": "TupleExpression", + "src": "2759:34:24" + } + ], + "id": 7397, + "name": "Return", + "src": "2751:42:24" + } + ], + "id": 7398, + "name": "Block", + "src": "2740:61:24" + } + ], + "id": 7399, + "name": "FunctionDefinition", + "src": "2606:195:24" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "proposeUpgrade", + "payable": false, + "scope": 7712, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 7473, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 7400, + "name": "UserDefinedTypeName", + "src": "3096:6:24" + } + ], + "id": 7401, + "name": "VariableDeclaration", + "src": "3096:14:24" + }, + { + "attributes": { + "constant": false, + "name": "_newController", + "scope": 7473, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7402, + "name": "ElementaryTypeName", + "src": "3112:7:24" + } + ], + "id": 7403, + "name": "VariableDeclaration", + "src": "3112:22:24" + } + ], + "id": 7404, + "name": "ParameterList", + "src": "3095:40:24" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7473, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7408, + "name": "ElementaryTypeName", + "src": "3214:7:24" + } + ], + "id": 7409, + "name": "VariableDeclaration", + "src": "3214:7:24" + } + ], + "id": 7410, + "name": "ParameterList", + "src": "3213:9:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7129, + "type": "modifier (address)", + "value": "onlyRegisteredOrganization" + }, + "id": 7405, + "name": "Identifier", + "src": "3161:26:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7401, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7406, + "name": "Identifier", + "src": "3188:7:24" + } + ], + "id": 7407, + "name": "ModifierInvocation", + "src": "3161:35:24" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 7412 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 7473, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct UpgradeScheme.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 7327, + "type": "struct UpgradeScheme.Parameters storage pointer" + }, + "id": 7411, + "name": "UserDefinedTypeName", + "src": "3239:10:24" + } + ], + "id": 7412, + "name": "VariableDeclaration", + "src": "3239:24:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct UpgradeScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7331, + "type": "mapping(bytes32 => struct UpgradeScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 7413, + "name": "Identifier", + "src": "3266:10:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 7414, + "name": "Identifier", + "src": "3277:27:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7401, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7415, + "name": "Identifier", + "src": "3305:7:24" + } + ], + "id": 7416, + "name": "FunctionCall", + "src": "3277:36:24" + } + ], + "id": 7417, + "name": "IndexAccess", + "src": "3266:48:24" + } + ], + "id": 7418, + "name": "VariableDeclarationStatement", + "src": "3239:75:24" + }, + { + "attributes": { + "assignments": [ + 7420 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposalId", + "scope": 7473, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7419, + "name": "ElementaryTypeName", + "src": "3325:7:24" + } + ], + "id": 7420, + "name": "VariableDeclaration", + "src": "3325:18:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_ExecutableInterface_$5155", + "typeString": "contract ExecutableInterface" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "propose", + "referencedDeclaration": 2570, + "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 7326, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7412, + "type": "struct UpgradeScheme.Parameters memory", + "value": "params" + }, + "id": 7421, + "name": "Identifier", + "src": "3346:6:24" + } + ], + "id": 7422, + "name": "MemberAccess", + "src": "3346:14:24" + } + ], + "id": 7423, + "name": "MemberAccess", + "src": "3346:22:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 7424, + "name": "Literal", + "src": "3369:1:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteParams", + "referencedDeclaration": 7324, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7412, + "type": "struct UpgradeScheme.Parameters memory", + "value": "params" + }, + "id": 7425, + "name": "Identifier", + "src": "3372:6:24" + } + ], + "id": 7426, + "name": "MemberAccess", + "src": "3372:17:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7401, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7427, + "name": "Identifier", + "src": "3391:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ExecutableInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_UpgradeScheme_$7712", + "typeString": "contract UpgradeScheme" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5155, + "type": "type(contract ExecutableInterface)", + "value": "ExecutableInterface" + }, + "id": 7428, + "name": "Identifier", + "src": "3400:19:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9819, + "type": "contract UpgradeScheme", + "value": "this" + }, + "id": 7429, + "name": "Identifier", + "src": "3420:4:24" + } + ], + "id": 7430, + "name": "FunctionCall", + "src": "3400:25:24" + } + ], + "id": 7431, + "name": "FunctionCall", + "src": "3346:80:24" + } + ], + "id": 7432, + "name": "VariableDeclarationStatement", + "src": "3325:101:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "proposalType", + "referencedDeclaration": 7311, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct UpgradeScheme.UpgradeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7322, + "type": "mapping(address => mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 7433, + "name": "Identifier", + "src": "3437:22:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7401, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7434, + "name": "Identifier", + "src": "3460:7:24" + } + ], + "id": 7436, + "name": "IndexAccess", + "src": "3437:31:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7420, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7435, + "name": "Identifier", + "src": "3469:10:24" + } + ], + "id": 7437, + "name": "IndexAccess", + "src": "3437:43:24" + } + ], + "id": 7438, + "name": "MemberAccess", + "src": "3437:56:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 7439, + "name": "Literal", + "src": "3496:1:24" + } + ], + "id": 7440, + "name": "Assignment", + "src": "3437:60:24" + } + ], + "id": 7441, + "name": "ExpressionStatement", + "src": "3437:60:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "upgradeContract", + "referencedDeclaration": 7307, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct UpgradeScheme.UpgradeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7322, + "type": "mapping(address => mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 7442, + "name": "Identifier", + "src": "3508:22:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7401, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7443, + "name": "Identifier", + "src": "3531:7:24" + } + ], + "id": 7445, + "name": "IndexAccess", + "src": "3508:31:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7420, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7444, + "name": "Identifier", + "src": "3540:10:24" + } + ], + "id": 7446, + "name": "IndexAccess", + "src": "3508:43:24" + } + ], + "id": 7447, + "name": "MemberAccess", + "src": "3508:59:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7403, + "type": "address", + "value": "_newController" + }, + "id": 7448, + "name": "Identifier", + "src": "3570:14:24" + } + ], + "id": 7449, + "name": "Assignment", + "src": "3508:76:24" + } + ], + "id": 7450, + "name": "ExpressionStatement", + "src": "3508:76:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7277, + "type": "function (address,bytes32,address,address)", + "value": "LogNewUpgradeProposal" + }, + "id": 7451, + "name": "Identifier", + "src": "3595:21:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7401, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7452, + "name": "Identifier", + "src": "3617:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7420, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7453, + "name": "Identifier", + "src": "3626:10:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 7326, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7412, + "type": "struct UpgradeScheme.Parameters memory", + "value": "params" + }, + "id": 7454, + "name": "Identifier", + "src": "3638:6:24" + } + ], + "id": 7455, + "name": "MemberAccess", + "src": "3638:14:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7403, + "type": "address", + "value": "_newController" + }, + "id": 7456, + "name": "Identifier", + "src": "3654:14:24" + } + ], + "id": 7457, + "name": "FunctionCall", + "src": "3595:74:24" + } + ], + "id": 7458, + "name": "ExpressionStatement", + "src": "3595:74:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "ownerVote", + "referencedDeclaration": 2597, + "type": "function (bytes32,uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 7326, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7412, + "type": "struct UpgradeScheme.Parameters memory", + "value": "params" + }, + "id": 7459, + "name": "Identifier", + "src": "3680:6:24" + } + ], + "id": 7462, + "name": "MemberAccess", + "src": "3680:14:24" + } + ], + "id": 7463, + "name": "MemberAccess", + "src": "3680:24:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7420, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7464, + "name": "Identifier", + "src": "3705:10:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 7465, + "name": "Literal", + "src": "3717:1:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 7466, + "name": "Identifier", + "src": "3720:3:24" + } + ], + "id": 7467, + "name": "MemberAccess", + "src": "3720:10:24" + } + ], + "id": 7468, + "name": "FunctionCall", + "src": "3680:51:24" + } + ], + "id": 7469, + "name": "ExpressionStatement", + "src": "3680:51:24" + }, + { + "attributes": { + "functionReturnParameters": 7410 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7420, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7470, + "name": "Identifier", + "src": "3819:10:24" + } + ], + "id": 7471, + "name": "Return", + "src": "3812:17:24" + } + ], + "id": 7472, + "name": "Block", + "src": "3228:609:24" + } + ], + "id": 7473, + "name": "FunctionDefinition", + "src": "3072:765:24" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "proposeChangeUpgradingScheme", + "payable": false, + "scope": 7712, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 7571, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 7474, + "name": "UserDefinedTypeName", + "src": "4217:6:24" + } + ], + "id": 7475, + "name": "VariableDeclaration", + "src": "4217:14:24" + }, + { + "attributes": { + "constant": false, + "name": "_scheme", + "scope": 7571, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7476, + "name": "ElementaryTypeName", + "src": "4242:7:24" + } + ], + "id": 7477, + "name": "VariableDeclaration", + "src": "4242:15:24" + }, + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 7571, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7478, + "name": "ElementaryTypeName", + "src": "4268:7:24" + } + ], + "id": 7479, + "name": "VariableDeclaration", + "src": "4268:15:24" + }, + { + "attributes": { + "constant": false, + "name": "_tokenFee", + "scope": 7571, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 7480, + "name": "UserDefinedTypeName", + "src": "4294:13:24" + } + ], + "id": 7481, + "name": "VariableDeclaration", + "src": "4294:23:24" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 7571, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7482, + "name": "ElementaryTypeName", + "src": "4328:4:24" + } + ], + "id": 7483, + "name": "VariableDeclaration", + "src": "4328:9:24" + } + ], + "id": 7484, + "name": "ParameterList", + "src": "4206:138:24" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7571, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7488, + "name": "ElementaryTypeName", + "src": "4423:7:24" + } + ], + "id": 7489, + "name": "VariableDeclaration", + "src": "4423:7:24" + } + ], + "id": 7490, + "name": "ParameterList", + "src": "4422:9:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7129, + "type": "modifier (address)", + "value": "onlyRegisteredOrganization" + }, + "id": 7485, + "name": "Identifier", + "src": "4370:26:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7475, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7486, + "name": "Identifier", + "src": "4397:7:24" + } + ], + "id": 7487, + "name": "ModifierInvocation", + "src": "4370:35:24" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 7492 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 7571, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct UpgradeScheme.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 7327, + "type": "struct UpgradeScheme.Parameters storage pointer" + }, + "id": 7491, + "name": "UserDefinedTypeName", + "src": "4448:10:24" + } + ], + "id": 7492, + "name": "VariableDeclaration", + "src": "4448:24:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct UpgradeScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7331, + "type": "mapping(bytes32 => struct UpgradeScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 7493, + "name": "Identifier", + "src": "4475:10:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 7494, + "name": "Identifier", + "src": "4486:27:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7475, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7495, + "name": "Identifier", + "src": "4514:7:24" + } + ], + "id": 7496, + "name": "FunctionCall", + "src": "4486:36:24" + } + ], + "id": 7497, + "name": "IndexAccess", + "src": "4475:48:24" + } + ], + "id": 7498, + "name": "VariableDeclarationStatement", + "src": "4448:75:24" + }, + { + "attributes": { + "assignments": [ + 7500 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 7571, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 7499, + "name": "UserDefinedTypeName", + "src": "4534:16:24" + } + ], + "id": 7500, + "name": "VariableDeclaration", + "src": "4534:24:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 7326, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7492, + "type": "struct UpgradeScheme.Parameters memory", + "value": "params" + }, + "id": 7501, + "name": "Identifier", + "src": "4561:6:24" + } + ], + "id": 7502, + "name": "MemberAccess", + "src": "4561:14:24" + } + ], + "id": 7503, + "name": "VariableDeclarationStatement", + "src": "4534:41:24" + }, + { + "attributes": { + "assignments": [ + 7505 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposalId", + "scope": 7571, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7504, + "name": "ElementaryTypeName", + "src": "4586:7:24" + } + ], + "id": 7505, + "name": "VariableDeclaration", + "src": "4586:18:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_ExecutableInterface_$5155", + "typeString": "contract ExecutableInterface" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "propose", + "referencedDeclaration": 2570, + "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7500, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 7506, + "name": "Identifier", + "src": "4607:7:24" + } + ], + "id": 7507, + "name": "MemberAccess", + "src": "4607:15:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 7508, + "name": "Literal", + "src": "4623:1:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteParams", + "referencedDeclaration": 7324, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7492, + "type": "struct UpgradeScheme.Parameters memory", + "value": "params" + }, + "id": 7509, + "name": "Identifier", + "src": "4626:6:24" + } + ], + "id": 7510, + "name": "MemberAccess", + "src": "4626:17:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7475, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7511, + "name": "Identifier", + "src": "4645:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ExecutableInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_UpgradeScheme_$7712", + "typeString": "contract UpgradeScheme" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5155, + "type": "type(contract ExecutableInterface)", + "value": "ExecutableInterface" + }, + "id": 7512, + "name": "Identifier", + "src": "4654:19:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9819, + "type": "contract UpgradeScheme", + "value": "this" + }, + "id": 7513, + "name": "Identifier", + "src": "4674:4:24" + } + ], + "id": 7514, + "name": "FunctionCall", + "src": "4654:25:24" + } + ], + "id": 7515, + "name": "FunctionCall", + "src": "4607:73:24" + } + ], + "id": 7516, + "name": "VariableDeclarationStatement", + "src": "4586:94:24" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposalType", + "referencedDeclaration": 7311, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct UpgradeScheme.UpgradeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7322, + "type": "mapping(address => mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 7517, + "name": "Identifier", + "src": "4695:22:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7475, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7518, + "name": "Identifier", + "src": "4718:7:24" + } + ], + "id": 7519, + "name": "IndexAccess", + "src": "4695:31:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7505, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7520, + "name": "Identifier", + "src": "4727:10:24" + } + ], + "id": 7521, + "name": "IndexAccess", + "src": "4695:43:24" + } + ], + "id": 7522, + "name": "MemberAccess", + "src": "4695:56:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 7523, + "name": "Literal", + "src": "4755:1:24" + } + ], + "id": 7524, + "name": "BinaryOperation", + "src": "4695:61:24" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 7525, + "name": "Identifier", + "src": "4773:6:24" + } + ], + "id": 7526, + "name": "FunctionCall", + "src": "4773:8:24" + } + ], + "id": 7527, + "name": "ExpressionStatement", + "src": "4773:8:24" + } + ], + "id": 7528, + "name": "Block", + "src": "4758:35:24" + } + ], + "id": 7529, + "name": "IfStatement", + "src": "4691:102:24" + }, + { + "attributes": { + "assignments": [ + 7531 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 7571, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UpgradeProposal", + "referencedDeclaration": 7316, + "type": "struct UpgradeScheme.UpgradeProposal storage pointer" + }, + "id": 7530, + "name": "UserDefinedTypeName", + "src": "4805:15:24" + } + ], + "id": 7531, + "name": "VariableDeclaration", + "src": "4805:31:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "proposalType", + "upgradeContract", + "params", + "tokenFee", + "fee" + ], + "type": "struct UpgradeScheme.UpgradeProposal memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7316, + "type": "type(struct UpgradeScheme.UpgradeProposal storage pointer)", + "value": "UpgradeProposal" + }, + "id": 7532, + "name": "Identifier", + "src": "4839:15:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 7533, + "name": "Literal", + "src": "4884:1:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7477, + "type": "address", + "value": "_scheme" + }, + "id": 7534, + "name": "Identifier", + "src": "4917:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7479, + "type": "bytes32", + "value": "_params" + }, + "id": 7535, + "name": "Identifier", + "src": "4947:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7481, + "type": "contract StandardToken", + "value": "_tokenFee" + }, + "id": 7536, + "name": "Identifier", + "src": "4979:9:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7483, + "type": "uint256", + "value": "_fee" + }, + "id": 7537, + "name": "Identifier", + "src": "5008:4:24" + } + ], + "id": 7538, + "name": "FunctionCall", + "src": "4839:185:24" + } + ], + "id": 7539, + "name": "VariableDeclarationStatement", + "src": "4805:219:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct UpgradeScheme.UpgradeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct UpgradeScheme.UpgradeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7322, + "type": "mapping(address => mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 7540, + "name": "Identifier", + "src": "5035:22:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7475, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7541, + "name": "Identifier", + "src": "5058:7:24" + } + ], + "id": 7543, + "name": "IndexAccess", + "src": "5035:31:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7505, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7542, + "name": "Identifier", + "src": "5067:10:24" + } + ], + "id": 7544, + "name": "IndexAccess", + "src": "5035:43:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7531, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7545, + "name": "Identifier", + "src": "5081:8:24" + } + ], + "id": 7546, + "name": "Assignment", + "src": "5035:54:24" + } + ], + "id": 7547, + "name": "ExpressionStatement", + "src": "5035:54:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7293, + "type": "function (address,bytes32,address,address,bytes32,contract StandardToken,uint256)", + "value": "LogChangeUpgradeSchemeProposal" + }, + "id": 7548, + "name": "Identifier", + "src": "5102:30:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7475, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7549, + "name": "Identifier", + "src": "5147:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7505, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7550, + "name": "Identifier", + "src": "5169:10:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 7326, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7492, + "type": "struct UpgradeScheme.Parameters memory", + "value": "params" + }, + "id": 7551, + "name": "Identifier", + "src": "5194:6:24" + } + ], + "id": 7552, + "name": "MemberAccess", + "src": "5194:14:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7477, + "type": "address", + "value": "_scheme" + }, + "id": 7553, + "name": "Identifier", + "src": "5223:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7479, + "type": "bytes32", + "value": "_params" + }, + "id": 7554, + "name": "Identifier", + "src": "5245:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7481, + "type": "contract StandardToken", + "value": "_tokenFee" + }, + "id": 7555, + "name": "Identifier", + "src": "5267:9:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7483, + "type": "uint256", + "value": "_fee" + }, + "id": 7556, + "name": "Identifier", + "src": "5291:4:24" + } + ], + "id": 7557, + "name": "FunctionCall", + "src": "5102:204:24" + } + ], + "id": 7558, + "name": "ExpressionStatement", + "src": "5102:204:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "ownerVote", + "referencedDeclaration": 2597, + "type": "function (bytes32,uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7500, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 7559, + "name": "Identifier", + "src": "5317:7:24" + } + ], + "id": 7561, + "name": "MemberAccess", + "src": "5317:17:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7505, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7562, + "name": "Identifier", + "src": "5335:10:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 7563, + "name": "Literal", + "src": "5347:1:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 7564, + "name": "Identifier", + "src": "5350:3:24" + } + ], + "id": 7565, + "name": "MemberAccess", + "src": "5350:10:24" + } + ], + "id": 7566, + "name": "FunctionCall", + "src": "5317:44:24" + } + ], + "id": 7567, + "name": "ExpressionStatement", + "src": "5317:44:24" + }, + { + "attributes": { + "functionReturnParameters": 7490 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7505, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7568, + "name": "Identifier", + "src": "5435:10:24" + } + ], + "id": 7569, + "name": "Return", + "src": "5428:17:24" + } + ], + "id": 7570, + "name": "Block", + "src": "4437:1016:24" + } + ], + "id": 7571, + "name": "FunctionDefinition", + "src": "4169:1284:24" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "execute", + "payable": false, + "scope": 7712, + "stateMutability": "nonpayable", + "superFunction": 5154, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 7711, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7572, + "name": "ElementaryTypeName", + "src": "5793:7:24" + } + ], + "id": 7573, + "name": "VariableDeclaration", + "src": "5793:19:24" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 7711, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7574, + "name": "ElementaryTypeName", + "src": "5814:7:24" + } + ], + "id": 7575, + "name": "VariableDeclaration", + "src": "5814:15:24" + }, + { + "attributes": { + "constant": false, + "name": "_param", + "scope": 7711, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 7576, + "name": "ElementaryTypeName", + "src": "5831:3:24" + } + ], + "id": 7577, + "name": "VariableDeclaration", + "src": "5831:10:24" + } + ], + "id": 7578, + "name": "ParameterList", + "src": "5792:50:24" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7711, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 7579, + "name": "ElementaryTypeName", + "src": "5858:4:24" + } + ], + "id": 7580, + "name": "VariableDeclaration", + "src": "5858:4:24" + } + ], + "id": 7581, + "name": "ParameterList", + "src": "5857:6:24" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 7582, + "name": "Identifier", + "src": "5934:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 7326, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct UpgradeScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7331, + "type": "mapping(bytes32 => struct UpgradeScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 7583, + "name": "Identifier", + "src": "5942:10:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 7584, + "name": "Identifier", + "src": "5953:27:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 7585, + "name": "Identifier", + "src": "5981:6:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7575, + "type": "address", + "value": "_avatar" + }, + "id": 7586, + "name": "Identifier", + "src": "5988:7:24" + } + ], + "id": 7587, + "name": "FunctionCall", + "src": "5981:15:24" + } + ], + "id": 7588, + "name": "FunctionCall", + "src": "5953:44:24" + } + ], + "id": 7589, + "name": "IndexAccess", + "src": "5942:56:24" + } + ], + "id": 7590, + "name": "MemberAccess", + "src": "5942:64:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 7591, + "name": "Identifier", + "src": "6010:3:24" + } + ], + "id": 7592, + "name": "MemberAccess", + "src": "6010:10:24" + } + ], + "id": 7593, + "name": "BinaryOperation", + "src": "5942:78:24" + } + ], + "id": 7594, + "name": "FunctionCall", + "src": "5934:87:24" + } + ], + "id": 7595, + "name": "ExpressionStatement", + "src": "5934:87:24" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7577, + "type": "int256", + "value": "_param" + }, + "id": 7596, + "name": "Identifier", + "src": "6078:6:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 7597, + "name": "Literal", + "src": "6088:1:24" + } + ], + "id": 7598, + "name": "BinaryOperation", + "src": "6078:11:24" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 7600 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 7711, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 7599, + "name": "UserDefinedTypeName", + "src": "6158:10:24" + } + ], + "id": 7600, + "name": "VariableDeclaration", + "src": "6158:21:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 7601, + "name": "Identifier", + "src": "6182:10:24" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 7602, + "name": "Identifier", + "src": "6193:6:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7575, + "type": "address", + "value": "_avatar" + }, + "id": 7603, + "name": "Identifier", + "src": "6200:7:24" + } + ], + "id": 7604, + "name": "FunctionCall", + "src": "6193:15:24" + } + ], + "id": 7605, + "name": "MemberAccess", + "src": "6193:21:24" + } + ], + "id": 7606, + "name": "FunctionCall", + "src": "6193:23:24" + } + ], + "id": 7607, + "name": "FunctionCall", + "src": "6182:35:24" + } + ], + "id": 7608, + "name": "VariableDeclarationStatement", + "src": "6158:59:24" + }, + { + "attributes": { + "assignments": [ + 7610 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 7711, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UpgradeProposal", + "referencedDeclaration": 7316, + "type": "struct UpgradeScheme.UpgradeProposal storage pointer" + }, + "id": 7609, + "name": "UserDefinedTypeName", + "src": "6232:15:24" + } + ], + "id": 7610, + "name": "VariableDeclaration", + "src": "6232:31:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct UpgradeScheme.UpgradeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7322, + "type": "mapping(address => mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 7611, + "name": "Identifier", + "src": "6266:22:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7575, + "type": "address", + "value": "_avatar" + }, + "id": 7612, + "name": "Identifier", + "src": "6289:7:24" + } + ], + "id": 7613, + "name": "IndexAccess", + "src": "6266:31:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7573, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 7614, + "name": "Identifier", + "src": "6298:11:24" + } + ], + "id": 7615, + "name": "IndexAccess", + "src": "6266:44:24" + } + ], + "id": 7616, + "name": "VariableDeclarationStatement", + "src": "6232:78:24" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposalType", + "referencedDeclaration": 7311, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7610, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7617, + "name": "Identifier", + "src": "6365:8:24" + } + ], + "id": 7618, + "name": "MemberAccess", + "src": "6365:21:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 7619, + "name": "Literal", + "src": "6390:1:24" + } + ], + "id": 7620, + "name": "BinaryOperation", + "src": "6365:26:24" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "upgradeController", + "referencedDeclaration": 3969, + "type": "function (address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7600, + "type": "contract Controller", + "value": "controller" + }, + "id": 7621, + "name": "Identifier", + "src": "6417:10:24" + } + ], + "id": 7622, + "name": "MemberAccess", + "src": "6417:28:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "upgradeContract", + "referencedDeclaration": 7307, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7610, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7623, + "name": "Identifier", + "src": "6446:8:24" + } + ], + "id": 7624, + "name": "MemberAccess", + "src": "6446:24:24" + } + ], + "id": 7625, + "name": "FunctionCall", + "src": "6417:54:24" + } + ], + "id": 7626, + "name": "UnaryOperation", + "src": "6416:55:24" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 7627, + "name": "Identifier", + "src": "6496:6:24" + } + ], + "id": 7628, + "name": "FunctionCall", + "src": "6496:8:24" + } + ], + "id": 7629, + "name": "ExpressionStatement", + "src": "6496:8:24" + } + ], + "id": 7630, + "name": "Block", + "src": "6473:53:24" + } + ], + "id": 7631, + "name": "IfStatement", + "src": "6412:114:24" + } + ], + "id": 7632, + "name": "Block", + "src": "6393:152:24" + } + ], + "id": 7633, + "name": "IfStatement", + "src": "6361:184:24" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "proposalType", + "referencedDeclaration": 7311, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7610, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7634, + "name": "Identifier", + "src": "6602:8:24" + } + ], + "id": 7635, + "name": "MemberAccess", + "src": "6602:21:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 7636, + "name": "Literal", + "src": "6627:1:24" + } + ], + "id": 7637, + "name": "BinaryOperation", + "src": "6602:26:24" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 7639 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "permissions", + "scope": 7711, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes4", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes4", + "type": "bytes4" + }, + "id": 7638, + "name": "ElementaryTypeName", + "src": "6649:6:24" + } + ], + "id": 7639, + "name": "VariableDeclaration", + "src": "6649:18:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes4", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_UpgradeScheme_$7712", + "typeString": "contract UpgradeScheme" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "getSchemePermissions", + "referencedDeclaration": 3742, + "type": "function (address) view external returns (bytes4)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7600, + "type": "contract Controller", + "value": "controller" + }, + "id": 7640, + "name": "Identifier", + "src": "6670:10:24" + } + ], + "id": 7641, + "name": "MemberAccess", + "src": "6670:31:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9819, + "type": "contract UpgradeScheme", + "value": "this" + }, + "id": 7642, + "name": "Identifier", + "src": "6702:4:24" + } + ], + "id": 7643, + "name": "FunctionCall", + "src": "6670:37:24" + } + ], + "id": 7644, + "name": "VariableDeclarationStatement", + "src": "6649:58:24" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "fee", + "referencedDeclaration": 7315, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7610, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7645, + "name": "Identifier", + "src": "6730:8:24" + } + ], + "id": 7646, + "name": "MemberAccess", + "src": "6730:12:24" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 7647, + "name": "Literal", + "src": "6746:1:24" + } + ], + "id": 7648, + "name": "BinaryOperation", + "src": "6730:17:24" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "externalTokenIncreaseApproval", + "referencedDeclaration": 4124, + "type": "function (contract StandardToken,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7600, + "type": "contract Controller", + "value": "controller" + }, + "id": 7649, + "name": "Identifier", + "src": "6777:10:24" + } + ], + "id": 7650, + "name": "MemberAccess", + "src": "6777:40:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "tokenFee", + "referencedDeclaration": 7313, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7610, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7651, + "name": "Identifier", + "src": "6818:8:24" + } + ], + "id": 7652, + "name": "MemberAccess", + "src": "6818:17:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "upgradeContract", + "referencedDeclaration": 7307, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7610, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7653, + "name": "Identifier", + "src": "6837:8:24" + } + ], + "id": 7654, + "name": "MemberAccess", + "src": "6837:24:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "fee", + "referencedDeclaration": 7315, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7610, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7655, + "name": "Identifier", + "src": "6863:8:24" + } + ], + "id": 7656, + "name": "MemberAccess", + "src": "6863:12:24" + } + ], + "id": 7657, + "name": "FunctionCall", + "src": "6777:99:24" + } + ], + "id": 7658, + "name": "UnaryOperation", + "src": "6776:100:24" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 7659, + "name": "Identifier", + "src": "6905:6:24" + } + ], + "id": 7660, + "name": "FunctionCall", + "src": "6905:8:24" + } + ], + "id": 7661, + "name": "ExpressionStatement", + "src": "6905:8:24" + } + ], + "id": 7662, + "name": "Block", + "src": "6878:61:24" + } + ], + "id": 7663, + "name": "IfStatement", + "src": "6772:167:24" + } + ], + "id": 7664, + "name": "Block", + "src": "6749:213:24" + } + ], + "id": 7665, + "name": "IfStatement", + "src": "6726:236:24" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "registerScheme", + "referencedDeclaration": 3597, + "type": "function (address,bytes32,bytes4) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7600, + "type": "contract Controller", + "value": "controller" + }, + "id": 7666, + "name": "Identifier", + "src": "6985:10:24" + } + ], + "id": 7667, + "name": "MemberAccess", + "src": "6985:25:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "upgradeContract", + "referencedDeclaration": 7307, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7610, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7668, + "name": "Identifier", + "src": "7011:8:24" + } + ], + "id": 7669, + "name": "MemberAccess", + "src": "7011:24:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "params", + "referencedDeclaration": 7309, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7610, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7670, + "name": "Identifier", + "src": "7037:8:24" + } + ], + "id": 7671, + "name": "MemberAccess", + "src": "7037:15:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7639, + "type": "bytes4", + "value": "permissions" + }, + "id": 7672, + "name": "Identifier", + "src": "7054:11:24" + } + ], + "id": 7673, + "name": "FunctionCall", + "src": "6985:81:24" + } + ], + "id": 7674, + "name": "UnaryOperation", + "src": "6984:82:24" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 7675, + "name": "Identifier", + "src": "7091:6:24" + } + ], + "id": 7676, + "name": "FunctionCall", + "src": "7091:8:24" + } + ], + "id": 7677, + "name": "ExpressionStatement", + "src": "7091:8:24" + } + ], + "id": 7678, + "name": "Block", + "src": "7068:53:24" + } + ], + "id": 7679, + "name": "IfStatement", + "src": "6980:141:24" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "upgradeContract", + "referencedDeclaration": 7307, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7610, + "type": "struct UpgradeScheme.UpgradeProposal memory", + "value": "proposal" + }, + "id": 7680, + "name": "Identifier", + "src": "7143:8:24" + } + ], + "id": 7681, + "name": "MemberAccess", + "src": "7143:24:24" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_UpgradeScheme_$7712", + "typeString": "contract UpgradeScheme" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 7682, + "name": "ElementaryTypeNameExpression", + "src": "7171:7:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9819, + "type": "contract UpgradeScheme", + "value": "this" + }, + "id": 7683, + "name": "Identifier", + "src": "7179:4:24" + } + ], + "id": 7684, + "name": "FunctionCall", + "src": "7171:13:24" + } + ], + "id": 7685, + "name": "BinaryOperation", + "src": "7143:41:24" + }, + { + "children": [ + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "unregisterSelf", + "referencedDeclaration": 3694, + "type": "function () external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7600, + "type": "contract Controller", + "value": "controller" + }, + "id": 7686, + "name": "Identifier", + "src": "7215:10:24" + } + ], + "id": 7687, + "name": "MemberAccess", + "src": "7215:25:24" + } + ], + "id": 7688, + "name": "FunctionCall", + "src": "7215:27:24" + } + ], + "id": 7689, + "name": "UnaryOperation", + "src": "7214:28:24" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9740, + "type": "function () pure", + "value": "revert" + }, + "id": 7690, + "name": "Identifier", + "src": "7271:6:24" + } + ], + "id": 7691, + "name": "FunctionCall", + "src": "7271:8:24" + } + ], + "id": 7692, + "name": "ExpressionStatement", + "src": "7271:8:24" + } + ], + "id": 7693, + "name": "Block", + "src": "7244:61:24" + } + ], + "id": 7694, + "name": "IfStatement", + "src": "7210:95:24" + } + ], + "id": 7695, + "name": "Block", + "src": "7187:141:24" + } + ], + "id": 7696, + "name": "IfStatement", + "src": "7139:189:24" + } + ], + "id": 7697, + "name": "Block", + "src": "6630:719:24" + } + ], + "id": 7698, + "name": "IfStatement", + "src": "6598:751:24" + } + ], + "id": 7699, + "name": "Block", + "src": "6091:1277:24" + } + ], + "id": 7700, + "name": "IfStatement", + "src": "6074:1294:24" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct UpgradeScheme.UpgradeProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7322, + "type": "mapping(address => mapping(bytes32 => struct UpgradeScheme.UpgradeProposal storage ref))", + "value": "organizationsProposals" + }, + "id": 7701, + "name": "Identifier", + "src": "7385:22:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7575, + "type": "address", + "value": "_avatar" + }, + "id": 7702, + "name": "Identifier", + "src": "7408:7:24" + } + ], + "id": 7703, + "name": "IndexAccess", + "src": "7385:31:24" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7573, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 7704, + "name": "Identifier", + "src": "7417:11:24" + } + ], + "id": 7705, + "name": "IndexAccess", + "src": "7385:44:24" + } + ], + "id": 7706, + "name": "UnaryOperation", + "src": "7378:51:24" + } + ], + "id": 7707, + "name": "ExpressionStatement", + "src": "7378:51:24" + }, + { + "attributes": { + "functionReturnParameters": 7581 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 7708, + "name": "Literal", + "src": "7447:4:24" + } + ], + "id": 7709, + "name": "Return", + "src": "7440:11:24" + } + ], + "id": 7710, + "name": "Block", + "src": "5864:1595:24" + } + ], + "id": 7711, + "name": "FunctionDefinition", + "src": "5776:1683:24" + } + ], + "id": 7712, + "name": "ContractDefinition", + "src": "281:7181:24" + } + ], + "id": 7713, + "name": "SourceUnit", + "src": "0:7464:24" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": { + "42": { + "events": { + "0xa96bac6ecd2db240cb777e078d2fceafc3cb9c2aceefe34b827f802d4a1a7980": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_newController", + "type": "address" + } + ], + "name": "LogNewUpgradeProposal", + "type": "event" + }, + "0x2d846aeb8264bef18d7393145472cfc99afb135a60ea2c6a6dc368b03e548349": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "newUpgradeScheme", + "type": "address" + }, + { + "indexed": false, + "name": "_params", + "type": "bytes32" + }, + { + "indexed": false, + "name": "tokenFee", + "type": "address" + }, + { + "indexed": false, + "name": "fee", + "type": "uint256" + } + ], + "name": "LogChangeUpgradeSchemeProposal", + "type": "event" + }, + "0x1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalExecuted", + "type": "event" + }, + "0xb5a530776d05e9cd7b304c6670fc54c08de4635c6c958237204d61215ca1ce34": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalDeleted", + "type": "event" + }, + "0x2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e5": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + "0x3e49374a7db898f4d722a5bb59326d1c41e883a698b84df91f09ebe018070732": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0x74bd3fd0087201eccfe4a6ca2a94a24068a1ba9a" + }, + "1512051714758": { + "events": { + "0xa96bac6ecd2db240cb777e078d2fceafc3cb9c2aceefe34b827f802d4a1a7980": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_newController", + "type": "address" + } + ], + "name": "LogNewUpgradeProposal", + "type": "event" + }, + "0x2d846aeb8264bef18d7393145472cfc99afb135a60ea2c6a6dc368b03e548349": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "newUpgradeScheme", + "type": "address" + }, + { + "indexed": false, + "name": "_params", + "type": "bytes32" + }, + { + "indexed": false, + "name": "tokenFee", + "type": "address" + }, + { + "indexed": false, + "name": "fee", + "type": "uint256" + } + ], + "name": "LogChangeUpgradeSchemeProposal", + "type": "event" + }, + "0x1f9b6fe94f8389fd9936094c2246b3cb2b4392e59e72e915e70e6a08a47a1fb9": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalExecuted", + "type": "event" + }, + "0xb5a530776d05e9cd7b304c6670fc54c08de4635c6c958237204d61215ca1ce34": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogProposalDeleted", + "type": "event" + }, + "0x2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e5": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + "0x3e49374a7db898f4d722a5bb59326d1c41e883a698b84df91f09ebe018070732": { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0": { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + }, + "links": {}, + "address": "0xea86804fc9da37b6681047bc3db8d0cba6948f30" + } + }, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:31:04.938Z" +} \ No newline at end of file diff --git a/contracts/VestingScheme.json b/contracts/VestingScheme.json new file mode 100644 index 000000000..b78f93829 --- /dev/null +++ b/contracts/VestingScheme.json @@ -0,0 +1,13214 @@ +{ + "contractName": "VestingScheme", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "name": "voteParams", + "type": "bytes32" + }, + { + "name": "intVote", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "bytes32" + } + ], + "name": "organizationsData", + "outputs": [ + { + "name": "token", + "type": "address" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "returnOnCancelAddress", + "type": "address" + }, + { + "name": "startingBlock", + "type": "uint256" + }, + { + "name": "amountPerPeriod", + "type": "uint256" + }, + { + "name": "periodLength", + "type": "uint256" + }, + { + "name": "numOfAgreedPeriods", + "type": "uint256" + }, + { + "name": "cliffInPeriods", + "type": "uint256" + }, + { + "name": "signaturesReqToCancel", + "type": "uint256" + }, + { + "name": "collectedPeriods", + "type": "uint256" + }, + { + "name": "signaturesReceivedCounter", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voteParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_param", + "type": "int256" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizations", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_returnOnCancelAddress", + "type": "address" + }, + { + "name": "_startingBlock", + "type": "uint256" + }, + { + "name": "_amountPerPeriod", + "type": "uint256" + }, + { + "name": "_periodLength", + "type": "uint256" + }, + { + "name": "_numOfAgreedPeriods", + "type": "uint256" + }, + { + "name": "_cliffInPeriods", + "type": "uint256" + }, + { + "name": "_signaturesReqToCancel", + "type": "uint256" + }, + { + "name": "_signersArray", + "type": "address[]" + }, + { + "name": "_avatar", + "type": "address" + } + ], + "name": "proposeVestingAgreement", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_voteParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_agreementId", + "type": "uint256" + } + ], + "name": "revokeSignToCancelAgreement", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_agreementId", + "type": "uint256" + } + ], + "name": "signToCancelAgreement", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "uint256" + } + ], + "name": "agreements", + "outputs": [ + { + "name": "token", + "type": "address" + }, + { + "name": "beneficiary", + "type": "address" + }, + { + "name": "returnOnCancelAddress", + "type": "address" + }, + { + "name": "startingBlock", + "type": "uint256" + }, + { + "name": "amountPerPeriod", + "type": "uint256" + }, + { + "name": "periodLength", + "type": "uint256" + }, + { + "name": "numOfAgreedPeriods", + "type": "uint256" + }, + { + "name": "cliffInPeriods", + "type": "uint256" + }, + { + "name": "signaturesReqToCancel", + "type": "uint256" + }, + { + "name": "collectedPeriods", + "type": "uint256" + }, + { + "name": "signaturesReceivedCounter", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_agreementId", + "type": "uint256" + } + ], + "name": "collect", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "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" + }, + { + "constant": false, + "inputs": [ + { + "name": "_token", + "type": "address" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_returnOnCancelAddress", + "type": "address" + }, + { + "name": "_startingBlock", + "type": "uint256" + }, + { + "name": "_amountPerPeriod", + "type": "uint256" + }, + { + "name": "_periodLength", + "type": "uint256" + }, + { + "name": "_numOfAgreedPeriods", + "type": "uint256" + }, + { + "name": "_cliffInPeriods", + "type": "uint256" + }, + { + "name": "_signaturesReqToCancel", + "type": "uint256" + }, + { + "name": "_signersArray", + "type": "address[]" + } + ], + "name": "createVestedAgreement", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "hashedParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + } + ], + "name": "LogRegisterOrg", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": false, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "LogAgreementProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": false, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_result", + "type": "int256" + } + ], + "name": "LogExecutaion", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_agreementId", + "type": "uint256" + } + ], + "name": "NewVestedAgreement", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_agreementId", + "type": "uint256" + }, + { + "indexed": true, + "name": "_signer", + "type": "address" + } + ], + "name": "SignToCancelAgreement", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_agreementId", + "type": "uint256" + }, + { + "indexed": true, + "name": "_signer", + "type": "address" + } + ], + "name": "RevokeSignToCancelAgreement", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_agreementId", + "type": "uint256" + } + ], + "name": "LogAgreementCancel", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_agreementId", + "type": "uint256" + } + ], + "name": "LogCollect", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b604051606080611edb83398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617815590925061006b915084908490849064010000000061007381026109dc1704565b5050506100c6565b60005433600160a060020a0390811691161461008e57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b611e06806100d56000396000f3006060604052600436106101035763ffffffff60e060020a60003504166302506804811461010857806307377bd61461013f5780632453732a146101c9578063310ce4e2146101fd57806338af3eed146102365780634345a610146102655780635a1f74061461029357806367b60390146102b257806368e14dac1461030457806389d75221146103265780638b087f3f1461033c5780638da5cb5b1461035257806390be003c14610365578063bd14de9614610384578063c3c5a5471461039a578063ce3f865f146103b9578063ddca3f43146103cf578063e1758bd8146103e2578063f2fde38b146103f5578063f76f3fb114610414578063f98e87ba14610466575b600080fd5b341561011357600080fd5b61011e600435610479565b604051918252600160a060020a031660208201526040908101905180910390f35b341561014a57600080fd5b610161600160a060020a036004351660243561049b565b604051600160a060020a039b8c168152998b1660208b0152979099166040808a01919091526060890196909652608088019490945260a087019290925260c086015260e085015261010084015261012083019390935261014082015261016001905180910390f35b34156101d457600080fd5b6101eb600435600160a060020a036024351661050c565b60405190815260200160405180910390f35b341561020857600080fd5b610222600435600160a060020a0360243516604435610546565b604051901515815260200160405180910390f35b341561024157600080fd5b6102496109cd565b604051600160a060020a03909116815260200160405180910390f35b341561027057600080fd5b610291600160a060020a0360043581169060243590604435166064356109dc565b005b341561029e57600080fd5b610222600160a060020a0360043516610a2f565b34156102bd57600080fd5b6101eb600160a060020a03600480358216916024803582169260443592606435926084359260a4359260c4359260e435926101043591820192910135906101243516610a44565b341561030f57600080fd5b6101eb600435600160a060020a0360243516610ff0565b341561033157600080fd5b610291600435611037565b341561034757600080fd5b610291600435611108565b341561035d57600080fd5b6102496111f6565b341561037057600080fd5b610291600160a060020a0360043516611205565b341561038f57600080fd5b61016160043561132e565b34156103a557600080fd5b610222600160a060020a0360043516611396565b34156103c457600080fd5b6102916004356113b4565b34156103da57600080fd5b6101eb611600565b34156103ed57600080fd5b610249611606565b341561040057600080fd5b610291600160a060020a0360043516611615565b341561041f57600080fd5b6101eb60048035600160a060020a0390811691602480358316926044351691606435916084359160a4359160c4359160e435916101043591610124359182019101356116a3565b341561047157600080fd5b6101eb611974565b60076020526000908152604090208054600190910154600160a060020a031682565b6006602081815260009384526040808520909152918352912080546001820154600283015460038401546004850154600586015496860154600787015460088801546009890154600a90990154600160a060020a039889169a9789169998909616979496939593949293919290918b565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b6000610550611d4d565b60008033600160a060020a03166007600061056a8961197a565b8152602081019190915260400160002060010154600160a060020a03161461059157600080fd5b85600160a060020a03167ff121f53b91542562889d6f7b9f02d6bca6f7141c143024d9dcb571024abb6f22888760405191825260208201526040908101905180910390a2600160a060020a03861660009081526006602090815260408083208a84529091529081902090610160905190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016001820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016002820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a8201548152505092506006600087600160a060020a0316600160a060020a0316815260200190815260200160002060008860001916600019168152602001908152602001600020600080820160006101000a815490600160a060020a0302191690556001820160006101000a815490600160a060020a0302191690556002820160006101000a815490600160a060020a0302191690556003820160009055600482016000905560058201600090556006820160009055600782016000905560088201600090556009820160009055600a820160009055505084600114156109c05785600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561080457600080fd5b6102c65a03f1151561081557600080fd5b50505060405180519050915061083a8360c0015184608001519063ffffffff611a5716565b905081600160a060020a03166310c5b328823060006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b151561089a57600080fd5b6102c65a03f115156108ab57600080fd5b505050604051805150506009546000908152600860205260409020839081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a03929092169190911790556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151816007015561010082015181600801556101208201518160090155610140820151600a909101555060098054600181019091557f7f4395349c6d693bbcef2c3c3133c966a84bf7d8f720d00fc21c9290a200acf760405160405180910390a25b5060019695505050505050565b600354600160a060020a031681565b60005433600160a060020a039081169116146109f757600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b6000610a4e611dc3565b600160a060020a0383166000908152600560205260408120548190859060ff161515610a7957600080fd5b60076000610a868861197a565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a03166020820190815290945051600160a060020a03166388737b5e60028651893060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610b3057600080fd5b6102c65a03f11515610b4157600080fd5b505050604051805193505086891015610b5657fe5b60008c11610b6057fe5b600091505b86821015610be257600160a060020a03861660009081526006602090815260408083208684529091528120600191600b909101908a8a86818110610ba557fe5b60209081029290920135600160a060020a0316835250810191909152604001600020805460ff191691151591909117905560019190910190610b65565b85600160a060020a031663e1758bd86000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c2857600080fd5b6102c65a03f11515610c3957600080fd5b505050604051805190506006600088600160a060020a0316600160a060020a031681526020019081526020016000206000856000191660001916815260200190815260200160002060000160006101000a815481600160a060020a030219169083600160a060020a031602179055508f6006600088600160a060020a0316600160a060020a031681526020019081526020016000206000856000191660001916815260200190815260200160002060010160006101000a815481600160a060020a030219169083600160a060020a031602179055508e6006600088600160a060020a0316600160a060020a031681526020019081526020016000206000856000191660001916815260200190815260200160002060020160006101000a815481600160a060020a030219169083600160a060020a031602179055508d6006600088600160a060020a0316600160a060020a0316815260200190815260200160002060008560001916600019168152602001908152602001600020600301819055508c6006600088600160a060020a0316600160a060020a0316815260200190815260200160002060008560001916600019168152602001908152602001600020600401819055508b6006600088600160a060020a0316600160a060020a0316815260200190815260200160002060008560001916600019168152602001908152602001600020600501819055508a6006600088600160a060020a0316600160a060020a031681526020019081526020016000206000856000191660001916815260200190815260200160002060060181905550896006600088600160a060020a0316600160a060020a031681526020019081526020016000206000856000191660001916815260200190815260200160002060070181905550886006600088600160a060020a0316600160a060020a0316815260200190815260200160002060008560001916600019168152602001908152602001600020600801819055508360200151600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610f8457600080fd5b6102c65a03f11515610f9557600080fd5b50505060405180515050600160a060020a0386167f829775c7c14610e4ccd53086fdfc812d824654065dc0d529c88ad5a1d9c15e318460405190815260200160405180910390a250909e9d5050505050505050505050505050565b600080610ffd848461050c565b60008181526007602052604090208581556001018054600160a060020a031916600160a060020a03861617905591508190505b5092915050565b6000818152600860209081526040808320600160a060020a0333168452600b01909152812054829060ff16151561106d57600080fd5b6000838152600860209081526040808320600160a060020a0333168452600c81019092529091205490925060ff1615156110a657600080fd5b600160a060020a0333166000818152600c8401602052604090819020805460ff19169055600a8401805460001901905584907f1df7a752240c027cfb74557fd4dac3f5e69b4da33fd2bf627af62bec9e8293c0905160405180910390a3505050565b6000818152600860209081526040808320600160a060020a0333168452600b01909152812054829060ff16151561113e57600080fd5b6000838152600860209081526040808320600160a060020a0333168452600c81019092529091205490925060ff161561117657600080fd5b600160a060020a0333166000818152600c8401602052604090819020805460ff19166001908117909155600a85018054909101905584907f034fb4ee0593caf676b3d6d46cc590311e4119cdb1349abb1502647c4076fce2905160405180910390a3816008015482600a015414156111f1576111f183611a89565b505050565b600054600160a060020a031681565b60006002541180156112305750600160a060020a03811660009081526005602052604090205460ff16155b156112c957600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156112ad57600080fd5b6102c65a03f115156112be57600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600860208190526000918252604090912080546001820154600283015460038401546004850154600586015460068701546007880154988801546009890154600a90990154600160a060020a039889169a97891699969098169794969395929491939290918b565b600160a060020a031660009081526005602052604090205460ff1690565b6113bc611d4d565b60008281526008602052604081206001015481908190859033600160a060020a039081169116146113ec57600080fd5b6000868152600860205260409081902090610160905190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460a08201908152600683015460c0830152600783015460e083015260088301546101008301526009830154610120830152600a9092015461014082015295506114ad90516114a18760600151439063ffffffff611d1516565b9063ffffffff611d2716565b93508460e001518410156114bd57fe5b8460c0015184106114e9576114e28561012001518660c001519063ffffffff611d1516565b9250611502565b6114ff856101200151859063ffffffff611d1516565b92505b600086815260086020526040902060090154611524908463ffffffff611d3e16565b60008781526008602052604090206009015561154b6080860151849063ffffffff611a5716565b91508451600160a060020a031663a9059cbb86602001518460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156115af57600080fd5b6102c65a03f115156115c057600080fd5b5050506040518051905050857f4ceba015d961d93f1d6825703b730a8ba05619c005dfd8073aee773dc6725fbb60405160405180910390a2505050505050565b60025481565b600154600160a060020a031681565b60005433600160a060020a0390811691161461163057600080fd5b600160a060020a038116151561164557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60008080838610156116b157fe5b600089116116bb57fe5b6116cb8a8963ffffffff611a5716565b91508d600160a060020a03166323b872dd33308560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561173757600080fd5b6102c65a03f1151561174857600080fd5b50505060405180519050508d60086000600954815260200190815260200160002060000160006101000a815481600160a060020a030219169083600160a060020a031602179055508c60086000600954815260200190815260200160002060010160006101000a815481600160a060020a030219169083600160a060020a031602179055508b60086000600954815260200190815260200160002060020160006101000a815481600160a060020a030219169083600160a060020a031602179055508a6008600060095481526020019081526020016000206003018190555089600860006009548152602001908152602001600020600401819055508860086000600954815260200190815260200160002060050181905550876008600060095481526020019081526020016000206006018190555086600860006009548152602001908152602001600020600701819055508560086000600954815260200190815260200160002060080181905550600090505b83811015611924576009546000908152600860205260408120600191600b909101908787858181106118eb57fe5b60209081029290920135600160a060020a0316835250810191909152604001600020805460ff19169115159190911790556001016118bd565b60098054600181019091557f7f4395349c6d693bbcef2c3c3133c966a84bf7d8f720d00fc21c9290a200acf760405160405180910390a25050600954600019019c9b505050505050505050505050565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156119c357600080fd5b6102c65a03f115156119d457600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611a3657600080fd5b6102c65a03f11515611a4757600080fd5b5050506040518051949350505050565b600080831515611a6a5760009150611030565b50828202828482811515611a7a57fe5b0414611a8257fe5b9392505050565b611a91611d4d565b6000828152600860205260408082208291610160905190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016001820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016002820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a82015481525050925060086000858152602001908152602001600020600080820160006101000a815490600160a060020a0302191690556001820160006101000a815490600160a060020a0302191690556002820160006101000a815490600160a060020a0302191690556003820160009055600482016000905560058201600090556006820160009055600782016000905560088201600090556009820160009055600a8201600090555050611c4b8361012001518460c001519063ffffffff611d1516565b9150611c628360800151839063ffffffff611a5716565b90508251600160a060020a031663a9059cbb84604001518360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611cc657600080fd5b6102c65a03f11515611cd757600080fd5b5050506040518051905050837f4016499ca917ca97a24e45e837c1aef655c0f84eef18c36493cf3191c961c83160405160405180910390a250505050565b600082821115611d2157fe5b50900390565b6000808284811515611d3557fe5b04949350505050565b600082820183811015611a8257fe5b610160604051908101604052806000600160a060020a031681526020016000600160a060020a031681526020016000600160a060020a0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805190810160405260008082526020820152905600a165627a7a72305820ba7266d18045d0a93a62e2a6370b426b986d310407d2afc4f601b06b57fea41d0029", + "deployedBytecode": "0x6060604052600436106101035763ffffffff60e060020a60003504166302506804811461010857806307377bd61461013f5780632453732a146101c9578063310ce4e2146101fd57806338af3eed146102365780634345a610146102655780635a1f74061461029357806367b60390146102b257806368e14dac1461030457806389d75221146103265780638b087f3f1461033c5780638da5cb5b1461035257806390be003c14610365578063bd14de9614610384578063c3c5a5471461039a578063ce3f865f146103b9578063ddca3f43146103cf578063e1758bd8146103e2578063f2fde38b146103f5578063f76f3fb114610414578063f98e87ba14610466575b600080fd5b341561011357600080fd5b61011e600435610479565b604051918252600160a060020a031660208201526040908101905180910390f35b341561014a57600080fd5b610161600160a060020a036004351660243561049b565b604051600160a060020a039b8c168152998b1660208b0152979099166040808a01919091526060890196909652608088019490945260a087019290925260c086015260e085015261010084015261012083019390935261014082015261016001905180910390f35b34156101d457600080fd5b6101eb600435600160a060020a036024351661050c565b60405190815260200160405180910390f35b341561020857600080fd5b610222600435600160a060020a0360243516604435610546565b604051901515815260200160405180910390f35b341561024157600080fd5b6102496109cd565b604051600160a060020a03909116815260200160405180910390f35b341561027057600080fd5b610291600160a060020a0360043581169060243590604435166064356109dc565b005b341561029e57600080fd5b610222600160a060020a0360043516610a2f565b34156102bd57600080fd5b6101eb600160a060020a03600480358216916024803582169260443592606435926084359260a4359260c4359260e435926101043591820192910135906101243516610a44565b341561030f57600080fd5b6101eb600435600160a060020a0360243516610ff0565b341561033157600080fd5b610291600435611037565b341561034757600080fd5b610291600435611108565b341561035d57600080fd5b6102496111f6565b341561037057600080fd5b610291600160a060020a0360043516611205565b341561038f57600080fd5b61016160043561132e565b34156103a557600080fd5b610222600160a060020a0360043516611396565b34156103c457600080fd5b6102916004356113b4565b34156103da57600080fd5b6101eb611600565b34156103ed57600080fd5b610249611606565b341561040057600080fd5b610291600160a060020a0360043516611615565b341561041f57600080fd5b6101eb60048035600160a060020a0390811691602480358316926044351691606435916084359160a4359160c4359160e435916101043591610124359182019101356116a3565b341561047157600080fd5b6101eb611974565b60076020526000908152604090208054600190910154600160a060020a031682565b6006602081815260009384526040808520909152918352912080546001820154600283015460038401546004850154600586015496860154600787015460088801546009890154600a90990154600160a060020a039889169a9789169998909616979496939593949293919290918b565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b6000610550611d4d565b60008033600160a060020a03166007600061056a8961197a565b8152602081019190915260400160002060010154600160a060020a03161461059157600080fd5b85600160a060020a03167ff121f53b91542562889d6f7b9f02d6bca6f7141c143024d9dcb571024abb6f22888760405191825260208201526040908101905180910390a2600160a060020a03861660009081526006602090815260408083208a84529091529081902090610160905190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016001820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016002820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a8201548152505092506006600087600160a060020a0316600160a060020a0316815260200190815260200160002060008860001916600019168152602001908152602001600020600080820160006101000a815490600160a060020a0302191690556001820160006101000a815490600160a060020a0302191690556002820160006101000a815490600160a060020a0302191690556003820160009055600482016000905560058201600090556006820160009055600782016000905560088201600090556009820160009055600a820160009055505084600114156109c05785600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561080457600080fd5b6102c65a03f1151561081557600080fd5b50505060405180519050915061083a8360c0015184608001519063ffffffff611a5716565b905081600160a060020a03166310c5b328823060006040516020015260405160e060020a63ffffffff85160281526004810192909252600160a060020a03166024820152604401602060405180830381600087803b151561089a57600080fd5b6102c65a03f115156108ab57600080fd5b505050604051805150506009546000908152600860205260409020839081518154600160a060020a031916600160a060020a03919091161781556020820151600182018054600160a060020a031916600160a060020a03929092169190911790556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e0820151816007015561010082015181600801556101208201518160090155610140820151600a909101555060098054600181019091557f7f4395349c6d693bbcef2c3c3133c966a84bf7d8f720d00fc21c9290a200acf760405160405180910390a25b5060019695505050505050565b600354600160a060020a031681565b60005433600160a060020a039081169116146109f757600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60056020526000908152604090205460ff1681565b6000610a4e611dc3565b600160a060020a0383166000908152600560205260408120548190859060ff161515610a7957600080fd5b60076000610a868861197a565b81526020810191909152604090810160002090805190810160405281548152600190910154600160a060020a03166020820190815290945051600160a060020a03166388737b5e60028651893060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b1515610b3057600080fd5b6102c65a03f11515610b4157600080fd5b505050604051805193505086891015610b5657fe5b60008c11610b6057fe5b600091505b86821015610be257600160a060020a03861660009081526006602090815260408083208684529091528120600191600b909101908a8a86818110610ba557fe5b60209081029290920135600160a060020a0316835250810191909152604001600020805460ff191691151591909117905560019190910190610b65565b85600160a060020a031663e1758bd86000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610c2857600080fd5b6102c65a03f11515610c3957600080fd5b505050604051805190506006600088600160a060020a0316600160a060020a031681526020019081526020016000206000856000191660001916815260200190815260200160002060000160006101000a815481600160a060020a030219169083600160a060020a031602179055508f6006600088600160a060020a0316600160a060020a031681526020019081526020016000206000856000191660001916815260200190815260200160002060010160006101000a815481600160a060020a030219169083600160a060020a031602179055508e6006600088600160a060020a0316600160a060020a031681526020019081526020016000206000856000191660001916815260200190815260200160002060020160006101000a815481600160a060020a030219169083600160a060020a031602179055508d6006600088600160a060020a0316600160a060020a0316815260200190815260200160002060008560001916600019168152602001908152602001600020600301819055508c6006600088600160a060020a0316600160a060020a0316815260200190815260200160002060008560001916600019168152602001908152602001600020600401819055508b6006600088600160a060020a0316600160a060020a0316815260200190815260200160002060008560001916600019168152602001908152602001600020600501819055508a6006600088600160a060020a0316600160a060020a031681526020019081526020016000206000856000191660001916815260200190815260200160002060060181905550896006600088600160a060020a0316600160a060020a031681526020019081526020016000206000856000191660001916815260200190815260200160002060070181905550886006600088600160a060020a0316600160a060020a0316815260200190815260200160002060008560001916600019168152602001908152602001600020600801819055508360200151600160a060020a031663339e23d18460013360006040516020015260405160e060020a63ffffffff861602815260048101939093526024830191909152600160a060020a03166044820152606401602060405180830381600087803b1515610f8457600080fd5b6102c65a03f11515610f9557600080fd5b50505060405180515050600160a060020a0386167f829775c7c14610e4ccd53086fdfc812d824654065dc0d529c88ad5a1d9c15e318460405190815260200160405180910390a250909e9d5050505050505050505050505050565b600080610ffd848461050c565b60008181526007602052604090208581556001018054600160a060020a031916600160a060020a03861617905591508190505b5092915050565b6000818152600860209081526040808320600160a060020a0333168452600b01909152812054829060ff16151561106d57600080fd5b6000838152600860209081526040808320600160a060020a0333168452600c81019092529091205490925060ff1615156110a657600080fd5b600160a060020a0333166000818152600c8401602052604090819020805460ff19169055600a8401805460001901905584907f1df7a752240c027cfb74557fd4dac3f5e69b4da33fd2bf627af62bec9e8293c0905160405180910390a3505050565b6000818152600860209081526040808320600160a060020a0333168452600b01909152812054829060ff16151561113e57600080fd5b6000838152600860209081526040808320600160a060020a0333168452600c81019092529091205490925060ff161561117657600080fd5b600160a060020a0333166000818152600c8401602052604090819020805460ff19166001908117909155600a85018054909101905584907f034fb4ee0593caf676b3d6d46cc590311e4119cdb1349abb1502647c4076fce2905160405180910390a3816008015482600a015414156111f1576111f183611a89565b505050565b600054600160a060020a031681565b60006002541180156112305750600160a060020a03811660009081526005602052604090205460ff16155b156112c957600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b15156112ad57600080fd5b6102c65a03f115156112be57600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600860208190526000918252604090912080546001820154600283015460038401546004850154600586015460068701546007880154988801546009890154600a90990154600160a060020a039889169a97891699969098169794969395929491939290918b565b600160a060020a031660009081526005602052604090205460ff1690565b6113bc611d4d565b60008281526008602052604081206001015481908190859033600160a060020a039081169116146113ec57600080fd5b6000868152600860205260409081902090610160905190810160409081528254600160a060020a039081168352600184015481166020840152600284015416908201526003820154606082015260048201546080820152600582015460a08201908152600683015460c0830152600783015460e083015260088301546101008301526009830154610120830152600a9092015461014082015295506114ad90516114a18760600151439063ffffffff611d1516565b9063ffffffff611d2716565b93508460e001518410156114bd57fe5b8460c0015184106114e9576114e28561012001518660c001519063ffffffff611d1516565b9250611502565b6114ff856101200151859063ffffffff611d1516565b92505b600086815260086020526040902060090154611524908463ffffffff611d3e16565b60008781526008602052604090206009015561154b6080860151849063ffffffff611a5716565b91508451600160a060020a031663a9059cbb86602001518460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156115af57600080fd5b6102c65a03f115156115c057600080fd5b5050506040518051905050857f4ceba015d961d93f1d6825703b730a8ba05619c005dfd8073aee773dc6725fbb60405160405180910390a2505050505050565b60025481565b600154600160a060020a031681565b60005433600160a060020a0390811691161461163057600080fd5b600160a060020a038116151561164557600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008054600160a060020a031916600160a060020a0392909216919091179055565b60008080838610156116b157fe5b600089116116bb57fe5b6116cb8a8963ffffffff611a5716565b91508d600160a060020a03166323b872dd33308560006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b151561173757600080fd5b6102c65a03f1151561174857600080fd5b50505060405180519050508d60086000600954815260200190815260200160002060000160006101000a815481600160a060020a030219169083600160a060020a031602179055508c60086000600954815260200190815260200160002060010160006101000a815481600160a060020a030219169083600160a060020a031602179055508b60086000600954815260200190815260200160002060020160006101000a815481600160a060020a030219169083600160a060020a031602179055508a6008600060095481526020019081526020016000206003018190555089600860006009548152602001908152602001600020600401819055508860086000600954815260200190815260200160002060050181905550876008600060095481526020019081526020016000206006018190555086600860006009548152602001908152602001600020600701819055508560086000600954815260200190815260200160002060080181905550600090505b83811015611924576009546000908152600860205260408120600191600b909101908787858181106118eb57fe5b60209081029290920135600160a060020a0316835250810191909152604001600020805460ff19169115159190911790556001016118bd565b60098054600181019091557f7f4395349c6d693bbcef2c3c3133c966a84bf7d8f720d00fc21c9290a200acf760405160405180910390a25050600954600019019c9b505050505050505050505050565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156119c357600080fd5b6102c65a03f115156119d457600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515611a3657600080fd5b6102c65a03f11515611a4757600080fd5b5050506040518051949350505050565b600080831515611a6a5760009150611030565b50828202828482811515611a7a57fe5b0414611a8257fe5b9392505050565b611a91611d4d565b6000828152600860205260408082208291610160905190810160405290816000820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016001820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020016002820160009054906101000a9004600160a060020a0316600160a060020a0316600160a060020a0316815260200160038201548152602001600482015481526020016005820154815260200160068201548152602001600782015481526020016008820154815260200160098201548152602001600a82015481525050925060086000858152602001908152602001600020600080820160006101000a815490600160a060020a0302191690556001820160006101000a815490600160a060020a0302191690556002820160006101000a815490600160a060020a0302191690556003820160009055600482016000905560058201600090556006820160009055600782016000905560088201600090556009820160009055600a8201600090555050611c4b8361012001518460c001519063ffffffff611d1516565b9150611c628360800151839063ffffffff611a5716565b90508251600160a060020a031663a9059cbb84604001518360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515611cc657600080fd5b6102c65a03f11515611cd757600080fd5b5050506040518051905050837f4016499ca917ca97a24e45e837c1aef655c0f84eef18c36493cf3191c961c83160405160405180910390a250505050565b600082821115611d2157fe5b50900390565b6000808284811515611d3557fe5b04949350505050565b600082820183811015611a8257fe5b610160604051908101604052806000600160a060020a031681526020016000600160a060020a031681526020016000600160a060020a0316815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805190810160405260008082526020820152905600a165627a7a72305820ba7266d18045d0a93a62e2a6370b426b986d310407d2afc4f601b06b57fea41d0029", + "sourceMap": "230:13622:25:-;;;2619:172;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;2619:172:25;;-1:-1:-1;2721:62:25;;-1:-1:-1;2738:12:25;;2752:4;;2619:172;;2721:16;;;;;;:62;:::i;:::-;2619:172;;;230:13622;;1314:347:22;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;230:13622:25:-;;;;;;;", + "deployedSourceMap": "230:13622:25:-;;;;;;;;;-1:-1:-1;;;230:13622:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1808:46;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1808:46:25;;;;;;;;;;;;;;;;1625:70;;;;;;;;;;-1:-1:-1;;;;;1625:70:25;;;;;;;;;;-1:-1:-1;;;;;1625:70:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3609:195;;;;;;;;;;;;-1:-1:-1;;;;;3609:195:25;;;;;;;;;;;;;;;;;;;;6999:1095;;;;;;;;;;;;-1:-1:-1;;;;;6999:1095:25;;;;;;;;;;;;;;;;;;;;;;;;407:26:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;407:26:22;;;;;;;;;;;;;;1314:347;;;;;;;;;;-1:-1:-1;;;;;1314:347:22;;;;;;;;;;;;;;;;;591:43;;;;;;;;;;-1:-1:-1;;;;;591:43:22;;;;;4611:1999:25;;;;;;;;;;-1:-1:-1;;;;;4611:1999:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3041:343;;;;;;;;;;;;-1:-1:-1;;;;;3041:343:25;;;;;11577:462;;;;;;;;;;;;;;10809:631;;;;;;;;;;;;;;238:20:29;;;;;;;;;;;;866:315:22;;;;;;;;;;-1:-1:-1;;;;;866:315:22;;;;;1905:42:25;;;;;;;;;;;;;;1189:117:22;;;;;;;;;;-1:-1:-1;;;;;1189:117:22;;;;;12166:1063:25;;;;;;;;;;;;;;385:15:22;;;;;;;;;;;;346:32;;;;;;;;;;;;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;8892:1788:25;;;;;;;;;;;;;-1:-1:-1;;;;;8892:1788:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;440:31:22;;;;;;;;;;;;1808:46:25;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1808:46:25;;:::o;1625:70::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1625:70:25;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3609:195::-;3729:7;3773:11;3786:8;3763:32;;;;;-1:-1:-1;;;;;3763:32:25;;;;;;;;;;;;;;;;3754:42;;3609:195;;;;:::o;6999:1095::-;7081:4;7340:34;;:::i;:::-;7642:21;7716:17;7233:10;-1:-1:-1;;;;;7165:78:25;:10;:56;7176:44;7211:7;7176:27;:44::i;:::-;7165:56;;;;;;;;;;;;;:64;;;-1:-1:-1;;;;;7165:64:25;:78;7157:87;;;;;;7298:7;-1:-1:-1;;;;;7284:43:25;;7307:11;7320:6;7284:43;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7377:26:25;;;;;;:17;:26;;;;;;;;:39;;;;;;;;;;;7340:76;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7340:76:25;-1:-1:-1;;;;;7340:76:25;-1:-1:-1;;;;;7340:76:25;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7340:76:25;-1:-1:-1;;;;;7340:76:25;-1:-1:-1;;;;;7340:76:25;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7340:76:25;-1:-1:-1;;;;;7340:76:25;-1:-1:-1;;;;;7340:76:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7434:17;:26;7452:7;-1:-1:-1;;;;;7434:26:25;-1:-1:-1;;;;;7434:26:25;;;;;;;;;;;;:39;7461:11;7434:39;;;;;;;;;;;;;;;;;;7427:46;;;;;;;;;-1:-1:-1;;;;;7427:46:25;;;;;;;;;;;;;;-1:-1:-1;;;;;7427:46:25;;;;;;;;;;;;;;-1:-1:-1;;;;;7427:46:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7532:6;7542:1;7532:11;7528:537;;;7684:7;-1:-1:-1;;;;;7677:21:25;;:23;;;;;;;;;;;-1:-1:-1;;;7677:23:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7642:59;;7736:75;7774:17;:36;;;7736:17;:33;;;:37;:75;:37;:75;:::i;:::-;7716:95;;7826:10;-1:-1:-1;;;;;7826:21:25;;7848:12;7862:4;7826:41;;;;;;;;-1:-1:-1;;;7826:41:25;;;;;;;;;;;;;-1:-1:-1;;;;;7826:41:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7893:17:25;;7882:29;;;;:10;:29;;;;;7914:17;;;7882:49;;;-1:-1:-1;;;;;;7882:49:25;-1:-1:-1;;;;;7882:49:25;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7882:49:25;-1:-1:-1;;;;;7882:49:25;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7882:49:25;-1:-1:-1;;;;;7882:49:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7946:17:25;:19;;;;;;;;8015:39;;;;;;;;;;7528:537;-1:-1:-1;8082:4:25;;6999:1095;-1:-1:-1;;;;;;6999:1095:25:o;407:26:22:-;;;-1:-1:-1;;;;;407:26:22;;:::o;1314:347::-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;591:43::-;;;;;;;;;;;;;;;:::o;4611:1999:25:-;5045:7;5095:24;;:::i;:::-;-1:-1:-1;;;;;816:21:22;;5181:18:25;816:21:22;;;:13;:21;;;;;;5181:18:25;;5023:7;;816:21:22;;808:30;;;;;;;;5122:10:25;:48;5133:36;5161:7;5133:27;:36::i;:::-;5122:48;;;;;;;;;;;;;;;;;5095:75;;;;;;;;;;;;;;;-1:-1:-1;;;;;5095:75:25;;;;;;;;;-1:-1:-1;5202:14:25;-1:-1:-1;;;;;5202:22:25;;5225:1;5228:6;:17;5247:7;5276:4;5202:80;;;;;;;;-1:-1:-1;;;5202:80:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5202:80:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5300:46:25;;;;5293:54;;;;5381:1;5365:17;;5358:25;;;;5449:1;5438:12;;5433:152;5452:24;;;5433:152;;;-1:-1:-1;;;;;5500:26:25;;;;;;:17;:26;;;;;;;;:38;;;;;;;;5569:4;;5500:46;;;;;5547:13;;5561:3;5547:18;;;;;;;;;;;;;;;;-1:-1:-1;;;;;5547:18:25;5500:66;;-1:-1:-1;5500:66:25;;;;;;;;-1:-1:-1;5500:66:25;:73;;-1:-1:-1;;5500:73:25;;;;;;;;;;-1:-1:-1;5478:5:25;;;;;5433:152;;;5679:7;-1:-1:-1;;;;;5672:27:25;;:29;;;;;;;;;;;-1:-1:-1;;;5672:29:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5625:17;:26;5643:7;-1:-1:-1;;;;;5625:26:25;-1:-1:-1;;;;;5625:26:25;;;;;;;;;;;;:38;5652:10;5625:38;;;;;;;;;;;;;;;;;:44;;;:76;;;;;-1:-1:-1;;;;;5625:76:25;;;;;-1:-1:-1;;;;;5625:76:25;;;;;;5765:12;5712:17;:26;5730:7;-1:-1:-1;;;;;5712:26:25;-1:-1:-1;;;;;5712:26:25;;;;;;;;;;;;:38;5739:10;5712:38;;;;;;;;;;;;;;;;;:50;;;:65;;;;;-1:-1:-1;;;;;5712:65:25;;;;;-1:-1:-1;;;;;5712:65:25;;;;;;5851:22;5788:17;:26;5806:7;-1:-1:-1;;;;;5788:26:25;-1:-1:-1;;;;;5788:26:25;;;;;;;;;;;;:38;5815:10;5788:38;;;;;;;;;;;;;;;;;:60;;;:85;;;;;-1:-1:-1;;;;;5788:85:25;;;;;-1:-1:-1;;;;;5788:85:25;;;;;;5939:14;5884:17;:26;5902:7;-1:-1:-1;;;;;5884:26:25;-1:-1:-1;;;;;5884:26:25;;;;;;;;;;;;:38;5911:10;5884:38;;;;;;;;;;;;;;;;;:52;;:69;;;;6021:16;5964:17;:26;5982:7;-1:-1:-1;;;;;5964:26:25;-1:-1:-1;;;;;5964:26:25;;;;;;;;;;;;:38;5991:10;5964:38;;;;;;;;;;;;;;;;;:54;;:73;;;;6102:13;6048:17;:26;6066:7;-1:-1:-1;;;;;6048:26:25;-1:-1:-1;;;;;6048:26:25;;;;;;;;;;;;:38;6075:10;6048:38;;;;;;;;;;;;;;;;;:51;;:67;;;;6186:19;6126:17;:26;6144:7;-1:-1:-1;;;;;6126:26:25;-1:-1:-1;;;;;6126:26:25;;;;;;;;;;;;:38;6153:10;6126:38;;;;;;;;;;;;;;;;;:57;;:79;;;;6272:15;6216:17;:26;6234:7;-1:-1:-1;;;;;6216:26:25;-1:-1:-1;;;;;6216:26:25;;;;;;;;;;;;:38;6243:10;6216:38;;;;;;;;;;;;;;;;;:53;;:71;;;;6361:22;6298:17;:26;6316:7;-1:-1:-1;;;;;6298:26:25;-1:-1:-1;;;;;6298:26:25;;;;;;;;;;;;:38;6325:10;6298:38;;;;;;;;;;;;;;;;;:60;;:85;;;;6396:6;:14;;;-1:-1:-1;;;;;6396:24:25;;6421:10;6433:1;6436:10;6396:51;;;;;;;;-1:-1:-1;;;6396:51:25;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6396:51:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;6533:41:25;;;6563:10;6533:41;;;;;;;;;;;;;;-1:-1:-1;6592:10:25;;4611:1999;-1:-1:-1;;;;;;;;;;;;;;4611:1999:25:o;3041:343::-;3152:7;3177:18;3198:40;3216:11;3229:8;3198:17;:40::i;:::-;3249:22;;;;:10;:22;;;;;:47;;;3307:30;;:41;;-1:-1:-1;;;;;;3307:41:25;-1:-1:-1;;;;;3307:41:25;;;;;3249:22;-1:-1:-1;3249:22:25;;-1:-1:-1;3041:343:25;;;;;;:::o;11577:462::-;11676:27;2097:24;;;:10;:24;;;;;;;;-1:-1:-1;;;;;2130:10:25;2097:44;;;:32;;:44;;;;;;11651:12;;2097:44;;2089:53;;;;;;;;11706:24;;;;:10;:24;;;;;;;;-1:-1:-1;;;;;11815:10:25;11786:40;;;:28;;;:40;;;;;;;11706:24;;-1:-1:-1;11786:40:25;;11778:49;;;;;;;;-1:-1:-1;;;;;11899:10:25;11870:40;11913:5;11870:40;;;:28;;;:40;;;;;;;:48;;-1:-1:-1;;11870:48:25;;;11929:35;;;:37;;-1:-1:-1;;11929:37:25;;;12007:12;;11979:52;;;;;;;;;;11577:462;;;:::o;10809:631::-;10902:27;2097:24;;;:10;:24;;;;;;;;-1:-1:-1;;;;;2130:10:25;2097:44;;;:32;;:44;;;;;;10877:12;;2097:44;;2089:53;;;;;;;;10932:24;;;;:10;:24;;;;;;;;-1:-1:-1;;;;;11050:10:25;11021:40;;;:28;;;:40;;;;;;;10932:24;;-1:-1:-1;11021:40:25;;11019:42;11011:51;;;;;;-1:-1:-1;;;;;11122:10:25;11093:40;;;;;:28;;;:40;;;;;;;:47;;-1:-1:-1;;11093:47:25;11136:4;11093:47;;;;;;11151:35;;;:37;;;;;;;11223:12;;11201:46;;;;;;;;;;11344:9;:31;;;11305:9;:35;;;:70;11301:132;;;11392:29;11408:12;11392:15;:29::i;:::-;10809:631;;;:::o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;866:315:22:-;980:1;974:3;;:7;973:39;;;;-1:-1:-1;;;;;;989:22:22;;;;;;:13;:22;;;;;;;;987:24;973:39;969:123;;;1029:11;;1063;;1076:3;;-1:-1:-1;;;;;1029:11:22;;;;:24;;1054:7;;1063:11;;;1029;:51;;;;;;;-1:-1:-1;;;1029:51:22;;;;;;-1:-1:-1;;;;;1029:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;969:123:22;-1:-1:-1;;;;;1102:22:22;;;;;;:13;:22;;;;;;;:29;;-1:-1:-1;;1102:29:22;1127:4;1102:29;;;1142:31;;1116:7;;1142:31;-1:-1:-1;;;;;1142:31:22;;;;;;;;;;;;;;866:315;:::o;1905:42:25:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1905:42:25;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1189:117:22:-;-1:-1:-1;;;;;1276:22:22;1252:4;1276:22;;;:13;:22;;;;;;;;;1189:117::o;12166:1063:25:-;12250:26;;:::i;:::-;12314:29;2289:24;;;:10;:24;;;;;:36;;;12314:29;;;;2289:24;;2329:10;-1:-1:-1;;;;;2289:50:25;;;:36;;:50;2281:59;;;;;;12279:24;;;;:10;:24;;;;;;;;12250:53;;;;;;;;;;;;-1:-1:-1;;;;;12250:53:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12346:71:25;;12394:22;12347:41;12364:9;:23;;;12347:12;;:41;:16;:41;:::i;:::-;12346:47;:71;:47;:71;:::i;:::-;12314:103;;12463:9;:24;;;12435:52;;;12428:60;;;;12597:9;:28;;;12569:56;;12565:268;;12657:60;12690:9;:26;;;12657:9;:28;;;:32;:60;:32;:60;:::i;:::-;12642:75;;12565:268;;;12765:56;12794:9;:26;;;12765:24;;:56;:28;:56;:::i;:::-;12750:71;;12565:268;12920:24;;;;:10;:24;;;;;:41;;;:59;;12966:12;12920:59;:45;:59;:::i;:::-;12876:24;;;;:10;:24;;;;;:41;;:103;13038:43;13055:25;;;;13038:12;;:43;:16;:43;:::i;:::-;13014:67;-1:-1:-1;13092:9:25;:15;-1:-1:-1;;;;;13092:24:25;;13117:9;:21;;;13140:16;13092:65;;;;;;;;-1:-1:-1;;;13092:65:25;;;;;;-1:-1:-1;;;;;13092:65:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13208:12;13197:24;;;;;;;;;;12166:1063;;;;;;:::o;385:15:22:-;;;;:::o;346:32::-;;;-1:-1:-1;;;;;346:32:22;;:::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;;;;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;8892:1788:25:-;9297:4;;;9326:46;;;;9319:54;;;;9407:1;9391:17;;9384:25;;;;9466:41;:16;9487:19;9466:41;:20;:41;:::i;:::-;9447:60;;9518:6;-1:-1:-1;;;;;9518:19:25;;9538:10;9550:4;9556:11;9518:50;;;;;;;;-1:-1:-1;;;9518:50:25;;;;;;-1:-1:-1;;;;;9518:50:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9649:6;9611:10;:29;9622:17;;9611:29;;;;;;;;;;;:35;;;:44;;;;;-1:-1:-1;;;;;9611:44:25;;;;;-1:-1:-1;;;;;9611:44:25;;;;;;9710:12;9666:10;:29;9677:17;;9666:29;;;;;;;;;;;:41;;;:56;;;;;-1:-1:-1;;;;;9666:56:25;;;;;-1:-1:-1;;;;;9666:56:25;;;;;;9787:22;9733:10;:29;9744:17;;9733:29;;;;;;;;;;;:51;;;:76;;;;;-1:-1:-1;;;;;9733:76:25;;;;;-1:-1:-1;;;;;9733:76:25;;;;;;9866:14;9820:10;:29;9831:17;;9820:29;;;;;;;;;;;:43;;:60;;;;9939:16;9891:10;:29;9902:17;;9891:29;;;;;;;;;;;:45;;:64;;;;10011:13;9966:10;:29;9977:17;;9966:29;;;;;;;;;;;:42;;:58;;;;10086:19;10035:10;:29;10046:17;;10035:29;;;;;;;;;;;:48;;:70;;;;10163:15;10116:10;:29;10127:17;;10116:29;;;;;;;;;;;:44;;:62;;;;10243:22;10189:10;:29;10200:17;;10189:29;;;;;;;;;;;:51;;:76;;;;10333:1;10322:12;;10317:143;10336:24;;;10317:143;;;10395:17;;10384:29;;;;:10;:29;;;;;10444:4;;10384:37;;;;;10422:13;;10436:3;10422:18;;;;;;;;;;;;;;;;-1:-1:-1;;;;;10422:18:25;10384:57;;-1:-1:-1;10384:57:25;;;;;;;;-1:-1:-1;10384:57:25;:64;;-1:-1:-1;;10384:64:25;;;;;;;;;;-1:-1:-1;10362:5:25;10317:143;;;10518:17;:19;;;;;;;;10595:39;;;;;;;;;;-1:-1:-1;;10652:17:25;;-1:-1:-1;;10652:19:25;;8892:1788;-1:-1:-1;;;;;;;;;;;;8892:1788:25:o;440:31:22:-;;;;:::o;1761:212::-;1840:7;1860:21;1895:7;-1:-1:-1;;;;;1895:13:22;;:15;;;;;;;;;;;-1:-1:-1;;;1895:15:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1929:30:22;;;1960:4;1929:36;;;;;;;;-1:-1:-1;;;1929:36:22;;;;;;-1:-1:-1;;;;;1929:36:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1761:212;-1:-1:-1;;;;1761:212:22:o;138:173:28:-;196:7;;215:6;;211:35;;;238:1;231:8;;;;211:35;-1:-1:-1;263:5:28;;;267:1;263;:5;281;;;;;;;;:10;274:18;;;;305:1;138:173;-1:-1:-1;;;138:173:28:o;13360:489:25:-;13424:26;;:::i;:::-;13531:16;13453:24;;;:10;:24;;;;;;13531:16;;13424:53;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13424:53:25;-1:-1:-1;;;;;13424:53:25;-1:-1:-1;;;;;13424:53:25;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13424:53:25;-1:-1:-1;;;;;13424:53:25;-1:-1:-1;;;;;13424:53:25;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13424:53:25;-1:-1:-1;;;;;13424:53:25;-1:-1:-1;;;;;13424:53:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13496:10;:24;13507:12;13496:24;;;;;;;;;;;;13488:32;;;;;;;;;-1:-1:-1;;;;;13488:32:25;;;;;;;;;;;;;;-1:-1:-1;;;;;13488:32:25;;;;;;;;;;;;;;-1:-1:-1;;;;;13488:32:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13550:60;13583:9;:26;;;13550:9;:28;;;:32;:60;:32;:60;:::i;:::-;13531:79;;13639:42;13655:9;:25;;;13639:11;;:42;:15;:42;:::i;:::-;13621:60;-1:-1:-1;13692:9:25;:15;-1:-1:-1;;;;;13692:24:25;;13717:9;:31;;;13750:10;13692:69;;;;;;;;-1:-1:-1;;;13692:69:25;;;;;;-1:-1:-1;;;;;13692:69:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13828:12;13809:32;;;;;;;;;;13360:489;;;;:::o;584:110:28:-;642:7;664:6;;;;657:14;;;;-1:-1:-1;684:5:28;;;584:110::o;315:265::-;373:7;462:9;478:1;474;:5;;;;;;;;;315:265;-1:-1:-1;;;;315:265:28:o;698:129::-;756:7;783:5;;;801:6;;;;794:14;;;230:13622:25;;;;;;;;;;;-1:-1:-1;;;;;230:13622:25;;;;;;-1:-1:-1;;;;;230:13622:25;;;;;;-1:-1:-1;;;;;230:13622:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../VotingMachines/IntVoteInterface.sol\";\r\nimport \"./UniversalScheme.sol\";\r\n\r\n\r\n/**\r\n * @title A schme for vesting.\r\n * @dev Can be used without organization just as a vesting component.\r\n */\r\n\r\ncontract VestingScheme is UniversalScheme, ExecutableInterface {\r\n using SafeMath for uint;\r\n\r\n event LogRegisterOrg(address indexed _avatar);\r\n event LogAgreementProposal(address indexed _avatar, bytes32 _proposalId);\r\n event LogExecutaion(address indexed _avatar, bytes32 _proposalId, int _result);\r\n event NewVestedAgreement(uint indexed _agreementId);\r\n event SignToCancelAgreement(uint indexed _agreementId, address indexed _signer);\r\n event RevokeSignToCancelAgreement(uint indexed _agreementId, address indexed _signer);\r\n event LogAgreementCancel(uint indexed _agreementId);\r\n event LogCollect(uint indexed _agreementId);\r\n\r\n\r\n // The data for each vesterd agreement:\r\n struct Agreement {\r\n StandardToken token;\r\n address beneficiary;\r\n address returnOnCancelAddress;\r\n uint startingBlock;\r\n uint amountPerPeriod;\r\n uint periodLength;\r\n uint numOfAgreedPeriods;\r\n uint cliffInPeriods;\r\n uint signaturesReqToCancel;\r\n uint collectedPeriods;\r\n uint signaturesReceivedCounter;\r\n mapping(address=>bool) signers;\r\n mapping(address=>bool) signaturesReceived;\r\n }\r\n\r\n\r\n struct Parameters {\r\n bytes32 voteParams;\r\n IntVoteInterface intVote;\r\n }\r\n\r\n // A mapping from thr organization (Avatar) address to the saved data of the organization:\r\n mapping(address=>mapping(bytes32=>Agreement)) public organizationsData;\r\n\r\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\r\n mapping(bytes32=>Parameters) public parameters;\r\n\r\n // A mapping from index to Agreement\r\n mapping(uint=>Agreement) public agreements;\r\n\r\n uint agreementsCounter;\r\n\r\n // Modifier, only the signers on an agreement:\r\n modifier onlySigner(uint _agreementId) {\r\n require(agreements[_agreementId].signers[msg.sender]);\r\n _;\r\n }\r\n\r\n // Modifier, only the beneficiary on an agreement:\r\n modifier onlyBeneficiary(uint _agreementId) {\r\n require(agreements[_agreementId].beneficiary == msg.sender);\r\n _;\r\n }\r\n\r\n /**\r\n * @dev Constructor, Updating the initial prarmeters\r\n * @param _nativeToken The native token of the ICO\r\n * @param _fee The fee for intiating the ICO\r\n * @param _beneficiary The address that will receive the ethers\r\n */\r\n function VestingScheme(StandardToken _nativeToken, uint _fee, address _beneficiary) public {\r\n updateParameters(_nativeToken, _fee, _beneficiary, bytes32(0));\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters, save them if necessary, and return the hash value\r\n * @param _voteParams - voting parameters\r\n * @param _intVote - voting machine contract.\r\n * @return bytes32 -the parameters hash\r\n */\r\n function setParameters(\r\n bytes32 _voteParams,\r\n IntVoteInterface _intVote\r\n ) public returns(bytes32)\r\n {\r\n bytes32 paramsHash = getParametersHash(_voteParams, _intVote);\r\n parameters[paramsHash].voteParams = _voteParams;\r\n parameters[paramsHash].intVote = _intVote;\r\n return paramsHash;\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters,and return the hash value\r\n * @param _voteParams - voting parameters\r\n * @param _intVote - voting machine contract.\r\n * @return bytes32 -the parameters hash\r\n */\r\n function getParametersHash(\r\n bytes32 _voteParams,\r\n IntVoteInterface _intVote\r\n ) public pure returns(bytes32)\r\n {\r\n return (keccak256(_voteParams, _intVote));\r\n }\r\n\r\n /**\r\n * @dev Proposing a vesting agreement in an organization.\r\n * @param _beneficiary the beneficiary of the agreement.\r\n * @param _returnOnCancelAddress where to send the tokens in case of stoping.\r\n * @param _startingBlock the block from which the agreement starts.\r\n * @param _amountPerPeriod amount of tokens per period.\r\n * @param _periodLength period length in blocks.\r\n * @param _numOfAgreedPeriods how many periods agreed on.\r\n * @param _cliffInPeriods the length of the cliff in periods.\r\n * @param _signaturesReqToCancel number of signatures required to cancel agreement.\r\n * @param _signersArray avatar array of adresses that can sign to cancel agreement.\r\n * @param _avatar avatar of the organization.\r\n * @return bytes32 the proposalId\r\n */\r\n function proposeVestingAgreement(\r\n address _beneficiary,\r\n address _returnOnCancelAddress,\r\n uint _startingBlock,\r\n uint _amountPerPeriod,\r\n uint _periodLength,\r\n uint _numOfAgreedPeriods,\r\n uint _cliffInPeriods,\r\n uint _signaturesReqToCancel,\r\n address[] _signersArray,\r\n Avatar _avatar\r\n )\r\n external\r\n onlyRegisteredOrganization(_avatar)\r\n returns(bytes32)\r\n {\r\n // Open voting:\r\n Parameters memory params = parameters[getParametersFromController(_avatar)];\r\n bytes32 proposalId = params.intVote.propose(2, params.voteParams, _avatar, ExecutableInterface(this));\r\n assert(_signaturesReqToCancel >= _signersArray.length);\r\n assert(_periodLength > 0);\r\n // Write the signers mapping:\r\n for (uint cnt = 0; cnt<_signersArray.length; cnt++) {\r\n organizationsData[_avatar][proposalId].signers[_signersArray[cnt]] = true;\r\n }\r\n // Write parameters:\r\n organizationsData[_avatar][proposalId].token = Avatar(_avatar).nativeToken();\r\n organizationsData[_avatar][proposalId].beneficiary = _beneficiary;\r\n organizationsData[_avatar][proposalId].returnOnCancelAddress = _returnOnCancelAddress;\r\n organizationsData[_avatar][proposalId].startingBlock = _startingBlock;\r\n organizationsData[_avatar][proposalId].amountPerPeriod = _amountPerPeriod;\r\n organizationsData[_avatar][proposalId].periodLength = _periodLength;\r\n organizationsData[_avatar][proposalId].numOfAgreedPeriods = _numOfAgreedPeriods;\r\n organizationsData[_avatar][proposalId].cliffInPeriods = _cliffInPeriods;\r\n organizationsData[_avatar][proposalId].signaturesReqToCancel = _signaturesReqToCancel;\r\n\r\n params.intVote.ownerVote(proposalId, 1, msg.sender); // Automatically votes `yes` in the name of the opener.\r\n\r\n // Log:\r\n LogAgreementProposal(_avatar, proposalId);\r\n return proposalId;\r\n }\r\n\r\n /**\r\n * @dev execution of proposals, can only be called by the voting machine in which the vote is held.\r\n * @param _proposalId the ID of the voting in the voting machine\r\n * @param _avatar address of the controller\r\n * @param _param a parameter of the voting result, 0 is no and 1 is yes.\r\n * @return bool which represents a successful of the function\r\n */\r\n function execute(bytes32 _proposalId, address _avatar, int _param) public returns(bool) {\r\n // Check the caller is indeed the voting machine:\r\n require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\r\n\r\n // Log execition:\r\n LogExecutaion(_avatar, _proposalId, _param);\r\n\r\n Agreement memory proposedAgreement = organizationsData[_avatar][_proposalId];\r\n delete organizationsData[_avatar][_proposalId];\r\n\r\n // Check if vote was successful:\r\n if (_param == 1) {\r\n // Define controller and mint tokens, check minting actually took place:\r\n Controller controller = Controller(Avatar(_avatar).owner());\r\n uint tokensToMint = proposedAgreement.amountPerPeriod.mul(proposedAgreement.numOfAgreedPeriods);\r\n controller.mintTokens(tokensToMint, this);\r\n agreements[agreementsCounter] = proposedAgreement;\r\n agreementsCounter++;\r\n // Log the new agreement:\r\n NewVestedAgreement(agreementsCounter-1);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * @dev Creating a vesting agreement.\r\n * @param _token the relevant token in the agreement.\r\n * @param _beneficiary the beneficiary of the agreement.\r\n * @param _returnOnCancelAddress where to send the tokens in case of stoping.\r\n * @param _startingBlock the block from which the agreement starts.\r\n * @param _amountPerPeriod amount of tokens per period.\r\n * @param _periodLength period length in blocks.\r\n * @param _numOfAgreedPeriods how many periods agreed on.\r\n * @param _cliffInPeriods the length of the cliff in periods.\r\n * @param _signaturesReqToCancel number of signatures required to cancel agreement.\r\n * @param _signersArray avatar array of adresses that can sign to cancel agreement.\r\n * @return uint the agreement index.\r\n */\r\n function createVestedAgreement(\r\n StandardToken _token,\r\n address _beneficiary,\r\n address _returnOnCancelAddress,\r\n uint _startingBlock,\r\n uint _amountPerPeriod,\r\n uint _periodLength,\r\n uint _numOfAgreedPeriods,\r\n uint _cliffInPeriods,\r\n uint _signaturesReqToCancel,\r\n address[] _signersArray\r\n )\r\n external\r\n returns(uint)\r\n {\r\n assert(_signaturesReqToCancel >= _signersArray.length);\r\n assert(_periodLength > 0);\r\n // Collect funds:\r\n uint totalAmount = _amountPerPeriod.mul(_numOfAgreedPeriods);\r\n _token.transferFrom(msg.sender, this, totalAmount);\r\n\r\n // Write parameters:\r\n agreements[agreementsCounter].token = _token;\r\n agreements[agreementsCounter].beneficiary = _beneficiary;\r\n agreements[agreementsCounter].returnOnCancelAddress = _returnOnCancelAddress;\r\n agreements[agreementsCounter].startingBlock = _startingBlock;\r\n agreements[agreementsCounter].amountPerPeriod = _amountPerPeriod;\r\n agreements[agreementsCounter].periodLength = _periodLength;\r\n agreements[agreementsCounter].numOfAgreedPeriods = _numOfAgreedPeriods;\r\n agreements[agreementsCounter].cliffInPeriods = _cliffInPeriods;\r\n agreements[agreementsCounter].signaturesReqToCancel = _signaturesReqToCancel;\r\n\r\n // Write the signers mapping:\r\n for (uint cnt = 0; cnt<_signersArray.length; cnt++) {\r\n agreements[agreementsCounter].signers[_signersArray[cnt]] = true;\r\n }\r\n\r\n // Increment the agreements counter:\r\n agreementsCounter++;\r\n\r\n // Log new agreement and return id:\r\n NewVestedAgreement(agreementsCounter-1);\r\n return(agreementsCounter-1);\r\n }\r\n\r\n /**\r\n * @dev Function to sign to cancel an agreement.\r\n * @param _agreementId the relevant agreement.\r\n */\r\n function signToCancelAgreement(uint _agreementId) public onlySigner(_agreementId) {\r\n Agreement storage agreement = agreements[_agreementId];\r\n\r\n // Check attempt to double sign:\r\n require(! agreement.signaturesReceived[msg.sender]);\r\n\r\n // Sign:\r\n agreement.signaturesReceived[msg.sender] = true;\r\n agreement.signaturesReceivedCounter++;\r\n\r\n SignToCancelAgreement(_agreementId,msg.sender);\r\n\r\n // Check if threshhold crossed:\r\n if (agreement.signaturesReceivedCounter == agreement.signaturesReqToCancel) {\r\n cancelAgreement(_agreementId);\r\n }\r\n }\r\n\r\n /**\r\n * @dev Function to revoke vote for canceling agreement.\r\n * @param _agreementId the relevant agreement.\r\n */\r\n function revokeSignToCancelAgreement(uint _agreementId) public onlySigner(_agreementId) {\r\n Agreement storage agreement = agreements[_agreementId];\r\n\r\n // Check signer did sign:\r\n require(agreement.signaturesReceived[msg.sender]);\r\n\r\n // Revoke signature:\r\n agreement.signaturesReceived[msg.sender] = false;\r\n agreement.signaturesReceivedCounter--;\r\n\r\n RevokeSignToCancelAgreement(_agreementId,msg.sender);\r\n }\r\n\r\n /**\r\n * @dev Function for a beneficiary to collect.\r\n * @param _agreementId the relevant agreement.\r\n */\r\n function collect(uint _agreementId) public onlyBeneficiary(_agreementId) {\r\n Agreement memory agreement = agreements[_agreementId];\r\n uint periodsFromStartingBlock = (block.number.sub(agreement.startingBlock)).div(agreement.periodLength);\r\n assert(periodsFromStartingBlock >= agreement.cliffInPeriods);\r\n\r\n // Compute periods to pay:\r\n uint periodsToPay;\r\n if (periodsFromStartingBlock >= agreement.numOfAgreedPeriods) {\r\n periodsToPay = agreement.numOfAgreedPeriods.sub(agreement.collectedPeriods);\r\n } else {\r\n periodsToPay = periodsFromStartingBlock.sub(agreement.collectedPeriods);\r\n }\r\n // Update periods paid:\r\n agreements[_agreementId].collectedPeriods = agreements[_agreementId].collectedPeriods.add(periodsToPay);\r\n\r\n // Transfer:\r\n uint tokensToTransfer = periodsToPay.mul(agreement.amountPerPeriod);\r\n agreement.token.transfer(agreement.beneficiary, tokensToTransfer);\r\n\r\n // Log collecing:\r\n LogCollect(_agreementId);\r\n }\r\n\r\n /**\r\n * @dev Internal function, to cancel an agreement.\r\n * @param _agreementId the relevant agreement.\r\n */\r\n function cancelAgreement(uint _agreementId) internal {\r\n Agreement memory agreement = agreements[_agreementId];\r\n delete agreements[_agreementId];\r\n uint periodsLeft = agreement.numOfAgreedPeriods.sub(agreement.collectedPeriods);\r\n uint tokensLeft = periodsLeft.mul(agreement.amountPerPeriod);\r\n agreement.token.transfer(agreement.returnOnCancelAddress, tokensLeft);\r\n // Log canceling agreement:\r\n LogAgreementCancel(_agreementId);\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\VestingScheme.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/VestingScheme.sol", + "exportedSymbols": { + "VestingScheme": [ + 8608 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 7714, + "name": "PragmaDirective", + "src": "0:24:25" + }, + { + "attributes": { + "SourceUnit": 2659, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/IntVoteInterface.sol", + "file": "../VotingMachines/IntVoteInterface.sol", + "scope": 8609, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7715, + "name": "ImportDirective", + "src": "28:48:25" + }, + { + "attributes": { + "SourceUnit": 7230, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "file": "./UniversalScheme.sol", + "scope": 8609, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 7716, + "name": "ImportDirective", + "src": "78:31:25" + }, + { + "attributes": { + "contractDependencies": [ + 5155, + 7229, + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": "@title A schme for vesting.\r\n@dev Can be used without organization just as a vesting component.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 8608, + 5155, + 7229, + 7259, + 9140 + ], + "name": "VestingScheme", + "scope": 8609 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalScheme", + "referencedDeclaration": 7229, + "type": "contract UniversalScheme" + }, + "id": 7717, + "name": "UserDefinedTypeName", + "src": "256:15:25" + } + ], + "id": 7718, + "name": "InheritanceSpecifier", + "src": "256:15:25" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ExecutableInterface", + "referencedDeclaration": 5155, + "type": "contract ExecutableInterface" + }, + "id": 7719, + "name": "UserDefinedTypeName", + "src": "273:19:25" + } + ], + "id": 7720, + "name": "InheritanceSpecifier", + "src": "273:19:25" + }, + { + "children": [ + { + "attributes": { + "contractScope": null, + "name": "SafeMath", + "referencedDeclaration": 9084, + "type": "library SafeMath" + }, + "id": 7721, + "name": "UserDefinedTypeName", + "src": "306:8:25" + }, + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7722, + "name": "ElementaryTypeName", + "src": "319:4:25" + } + ], + "id": 7723, + "name": "UsingForDirective", + "src": "300:24:25" + }, + { + "attributes": { + "anonymous": false, + "name": "LogRegisterOrg" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 7727, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7724, + "name": "ElementaryTypeName", + "src": "353:7:25" + } + ], + "id": 7725, + "name": "VariableDeclaration", + "src": "353:23:25" + } + ], + "id": 7726, + "name": "ParameterList", + "src": "352:25:25" + } + ], + "id": 7727, + "name": "EventDefinition", + "src": "332:46:25" + }, + { + "attributes": { + "anonymous": false, + "name": "LogAgreementProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 7733, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7728, + "name": "ElementaryTypeName", + "src": "411:7:25" + } + ], + "id": 7729, + "name": "VariableDeclaration", + "src": "411:23:25" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_proposalId", + "scope": 7733, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7730, + "name": "ElementaryTypeName", + "src": "436:7:25" + } + ], + "id": 7731, + "name": "VariableDeclaration", + "src": "436:19:25" + } + ], + "id": 7732, + "name": "ParameterList", + "src": "410:46:25" + } + ], + "id": 7733, + "name": "EventDefinition", + "src": "384:73:25" + }, + { + "attributes": { + "anonymous": false, + "name": "LogExecutaion" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 7741, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7734, + "name": "ElementaryTypeName", + "src": "483:7:25" + } + ], + "id": 7735, + "name": "VariableDeclaration", + "src": "483:23:25" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_proposalId", + "scope": 7741, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7736, + "name": "ElementaryTypeName", + "src": "508:7:25" + } + ], + "id": 7737, + "name": "VariableDeclaration", + "src": "508:19:25" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_result", + "scope": 7741, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 7738, + "name": "ElementaryTypeName", + "src": "529:3:25" + } + ], + "id": 7739, + "name": "VariableDeclaration", + "src": "529:11:25" + } + ], + "id": 7740, + "name": "ParameterList", + "src": "482:59:25" + } + ], + "id": 7741, + "name": "EventDefinition", + "src": "463:79:25" + }, + { + "attributes": { + "anonymous": false, + "name": "NewVestedAgreement" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_agreementId", + "scope": 7745, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7742, + "name": "ElementaryTypeName", + "src": "573:4:25" + } + ], + "id": 7743, + "name": "VariableDeclaration", + "src": "573:25:25" + } + ], + "id": 7744, + "name": "ParameterList", + "src": "572:27:25" + } + ], + "id": 7745, + "name": "EventDefinition", + "src": "548:52:25" + }, + { + "attributes": { + "anonymous": false, + "name": "SignToCancelAgreement" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_agreementId", + "scope": 7751, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7746, + "name": "ElementaryTypeName", + "src": "634:4:25" + } + ], + "id": 7747, + "name": "VariableDeclaration", + "src": "634:25:25" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_signer", + "scope": 7751, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7748, + "name": "ElementaryTypeName", + "src": "661:7:25" + } + ], + "id": 7749, + "name": "VariableDeclaration", + "src": "661:23:25" + } + ], + "id": 7750, + "name": "ParameterList", + "src": "633:52:25" + } + ], + "id": 7751, + "name": "EventDefinition", + "src": "606:80:25" + }, + { + "attributes": { + "anonymous": false, + "name": "RevokeSignToCancelAgreement" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_agreementId", + "scope": 7757, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7752, + "name": "ElementaryTypeName", + "src": "726:4:25" + } + ], + "id": 7753, + "name": "VariableDeclaration", + "src": "726:25:25" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_signer", + "scope": 7757, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7754, + "name": "ElementaryTypeName", + "src": "753:7:25" + } + ], + "id": 7755, + "name": "VariableDeclaration", + "src": "753:23:25" + } + ], + "id": 7756, + "name": "ParameterList", + "src": "725:52:25" + } + ], + "id": 7757, + "name": "EventDefinition", + "src": "692:86:25" + }, + { + "attributes": { + "anonymous": false, + "name": "LogAgreementCancel" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_agreementId", + "scope": 7761, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7758, + "name": "ElementaryTypeName", + "src": "809:4:25" + } + ], + "id": 7759, + "name": "VariableDeclaration", + "src": "809:25:25" + } + ], + "id": 7760, + "name": "ParameterList", + "src": "808:27:25" + } + ], + "id": 7761, + "name": "EventDefinition", + "src": "784:52:25" + }, + { + "attributes": { + "anonymous": false, + "name": "LogCollect" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_agreementId", + "scope": 7765, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7762, + "name": "ElementaryTypeName", + "src": "859:4:25" + } + ], + "id": 7763, + "name": "VariableDeclaration", + "src": "859:25:25" + } + ], + "id": 7764, + "name": "ParameterList", + "src": "858:27:25" + } + ], + "id": 7765, + "name": "EventDefinition", + "src": "842:44:25" + }, + { + "attributes": { + "canonicalName": "VestingScheme.Agreement", + "name": "Agreement", + "scope": 8608, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "token", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 7766, + "name": "UserDefinedTypeName", + "src": "969:13:25" + } + ], + "id": 7767, + "name": "VariableDeclaration", + "src": "969:19:25" + }, + { + "attributes": { + "constant": false, + "name": "beneficiary", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7768, + "name": "ElementaryTypeName", + "src": "999:7:25" + } + ], + "id": 7769, + "name": "VariableDeclaration", + "src": "999:19:25" + }, + { + "attributes": { + "constant": false, + "name": "returnOnCancelAddress", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7770, + "name": "ElementaryTypeName", + "src": "1029:7:25" + } + ], + "id": 7771, + "name": "VariableDeclaration", + "src": "1029:29:25" + }, + { + "attributes": { + "constant": false, + "name": "startingBlock", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7772, + "name": "ElementaryTypeName", + "src": "1069:4:25" + } + ], + "id": 7773, + "name": "VariableDeclaration", + "src": "1069:18:25" + }, + { + "attributes": { + "constant": false, + "name": "amountPerPeriod", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7774, + "name": "ElementaryTypeName", + "src": "1098:4:25" + } + ], + "id": 7775, + "name": "VariableDeclaration", + "src": "1098:20:25" + }, + { + "attributes": { + "constant": false, + "name": "periodLength", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7776, + "name": "ElementaryTypeName", + "src": "1129:4:25" + } + ], + "id": 7777, + "name": "VariableDeclaration", + "src": "1129:17:25" + }, + { + "attributes": { + "constant": false, + "name": "numOfAgreedPeriods", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7778, + "name": "ElementaryTypeName", + "src": "1157:4:25" + } + ], + "id": 7779, + "name": "VariableDeclaration", + "src": "1157:23:25" + }, + { + "attributes": { + "constant": false, + "name": "cliffInPeriods", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7780, + "name": "ElementaryTypeName", + "src": "1191:4:25" + } + ], + "id": 7781, + "name": "VariableDeclaration", + "src": "1191:19:25" + }, + { + "attributes": { + "constant": false, + "name": "signaturesReqToCancel", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7782, + "name": "ElementaryTypeName", + "src": "1221:4:25" + } + ], + "id": 7783, + "name": "VariableDeclaration", + "src": "1221:26:25" + }, + { + "attributes": { + "constant": false, + "name": "collectedPeriods", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7784, + "name": "ElementaryTypeName", + "src": "1258:4:25" + } + ], + "id": 7785, + "name": "VariableDeclaration", + "src": "1258:21:25" + }, + { + "attributes": { + "constant": false, + "name": "signaturesReceivedCounter", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7786, + "name": "ElementaryTypeName", + "src": "1290:4:25" + } + ], + "id": 7787, + "name": "VariableDeclaration", + "src": "1290:30:25" + }, + { + "attributes": { + "constant": false, + "name": "signers", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "mapping(address => bool)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7788, + "name": "ElementaryTypeName", + "src": "1339:7:25" + }, + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 7789, + "name": "ElementaryTypeName", + "src": "1348:4:25" + } + ], + "id": 7790, + "name": "Mapping", + "src": "1331:22:25" + } + ], + "id": 7791, + "name": "VariableDeclaration", + "src": "1331:30:25" + }, + { + "attributes": { + "constant": false, + "name": "signaturesReceived", + "scope": 7796, + "stateVariable": false, + "storageLocation": "default", + "type": "mapping(address => bool)", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7792, + "name": "ElementaryTypeName", + "src": "1380:7:25" + }, + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 7793, + "name": "ElementaryTypeName", + "src": "1389:4:25" + } + ], + "id": 7794, + "name": "Mapping", + "src": "1372:22:25" + } + ], + "id": 7795, + "name": "VariableDeclaration", + "src": "1372:41:25" + } + ], + "id": 7796, + "name": "StructDefinition", + "src": "941:480:25" + }, + { + "attributes": { + "canonicalName": "VestingScheme.Parameters", + "name": "Parameters", + "scope": 8608, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "voteParams", + "scope": 7801, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7797, + "name": "ElementaryTypeName", + "src": "1460:7:25" + } + ], + "id": 7798, + "name": "VariableDeclaration", + "src": "1460:18:25" + }, + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 7801, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 7799, + "name": "UserDefinedTypeName", + "src": "1489:16:25" + } + ], + "id": 7800, + "name": "VariableDeclaration", + "src": "1489:24:25" + } + ], + "id": 7801, + "name": "StructDefinition", + "src": "1431:90:25" + }, + { + "attributes": { + "constant": false, + "name": "organizationsData", + "scope": 8608, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7802, + "name": "ElementaryTypeName", + "src": "1633:7:25" + }, + { + "attributes": { + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7803, + "name": "ElementaryTypeName", + "src": "1650:7:25" + }, + { + "attributes": { + "contractScope": null, + "name": "Agreement", + "referencedDeclaration": 7796, + "type": "struct VestingScheme.Agreement storage pointer" + }, + "id": 7804, + "name": "UserDefinedTypeName", + "src": "1659:9:25" + } + ], + "id": 7805, + "name": "Mapping", + "src": "1642:27:25" + } + ], + "id": 7806, + "name": "Mapping", + "src": "1625:45:25" + } + ], + "id": 7807, + "name": "VariableDeclaration", + "src": "1625:70:25" + }, + { + "attributes": { + "constant": false, + "name": "parameters", + "scope": 8608, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct VestingScheme.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct VestingScheme.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7808, + "name": "ElementaryTypeName", + "src": "1816:7:25" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 7801, + "type": "struct VestingScheme.Parameters storage pointer" + }, + "id": 7809, + "name": "UserDefinedTypeName", + "src": "1825:10:25" + } + ], + "id": 7810, + "name": "Mapping", + "src": "1808:28:25" + } + ], + "id": 7811, + "name": "VariableDeclaration", + "src": "1808:46:25" + }, + { + "attributes": { + "constant": false, + "name": "agreements", + "scope": 8608, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7812, + "name": "ElementaryTypeName", + "src": "1913:4:25" + }, + { + "attributes": { + "contractScope": null, + "name": "Agreement", + "referencedDeclaration": 7796, + "type": "struct VestingScheme.Agreement storage pointer" + }, + "id": 7813, + "name": "UserDefinedTypeName", + "src": "1919:9:25" + } + ], + "id": 7814, + "name": "Mapping", + "src": "1905:24:25" + } + ], + "id": 7815, + "name": "VariableDeclaration", + "src": "1905:42:25" + }, + { + "attributes": { + "constant": false, + "name": "agreementsCounter", + "scope": 8608, + "stateVariable": true, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7816, + "name": "ElementaryTypeName", + "src": "1956:4:25" + } + ], + "id": 7817, + "name": "VariableDeclaration", + "src": "1956:22:25" + }, + { + "attributes": { + "name": "onlySigner", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_agreementId", + "scope": 7833, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7818, + "name": "ElementaryTypeName", + "src": "2059:4:25" + } + ], + "id": 7819, + "name": "VariableDeclaration", + "src": "2059:17:25" + } + ], + "id": 7820, + "name": "ParameterList", + "src": "2058:19:25" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 7821, + "name": "Identifier", + "src": "2089:7:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "signers", + "referencedDeclaration": 7791, + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 7822, + "name": "Identifier", + "src": "2097:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7819, + "type": "uint256", + "value": "_agreementId" + }, + "id": 7823, + "name": "Identifier", + "src": "2108:12:25" + } + ], + "id": 7824, + "name": "IndexAccess", + "src": "2097:24:25" + } + ], + "id": 7825, + "name": "MemberAccess", + "src": "2097:32:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 7826, + "name": "Identifier", + "src": "2130:3:25" + } + ], + "id": 7827, + "name": "MemberAccess", + "src": "2130:10:25" + } + ], + "id": 7828, + "name": "IndexAccess", + "src": "2097:44:25" + } + ], + "id": 7829, + "name": "FunctionCall", + "src": "2089:53:25" + } + ], + "id": 7830, + "name": "ExpressionStatement", + "src": "2089:53:25" + }, + { + "id": 7831, + "name": "PlaceholderStatement", + "src": "2153:1:25" + } + ], + "id": 7832, + "name": "Block", + "src": "2078:84:25" + } + ], + "id": 7833, + "name": "ModifierDefinition", + "src": "2039:123:25" + }, + { + "attributes": { + "name": "onlyBeneficiary", + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_agreementId", + "scope": 7849, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7834, + "name": "ElementaryTypeName", + "src": "2251:4:25" + } + ], + "id": 7835, + "name": "VariableDeclaration", + "src": "2251:17:25" + } + ], + "id": 7836, + "name": "ParameterList", + "src": "2250:19:25" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 7837, + "name": "Identifier", + "src": "2281:7:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 7769, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 7838, + "name": "Identifier", + "src": "2289:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7835, + "type": "uint256", + "value": "_agreementId" + }, + "id": 7839, + "name": "Identifier", + "src": "2300:12:25" + } + ], + "id": 7840, + "name": "IndexAccess", + "src": "2289:24:25" + } + ], + "id": 7841, + "name": "MemberAccess", + "src": "2289:36:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 7842, + "name": "Identifier", + "src": "2329:3:25" + } + ], + "id": 7843, + "name": "MemberAccess", + "src": "2329:10:25" + } + ], + "id": 7844, + "name": "BinaryOperation", + "src": "2289:50:25" + } + ], + "id": 7845, + "name": "FunctionCall", + "src": "2281:59:25" + } + ], + "id": 7846, + "name": "ExpressionStatement", + "src": "2281:59:25" + }, + { + "id": 7847, + "name": "PlaceholderStatement", + "src": "2351:1:25" + } + ], + "id": 7848, + "name": "Block", + "src": "2270:90:25" + } + ], + "id": 7849, + "name": "ModifierDefinition", + "src": "2226:134:25" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "VestingScheme", + "payable": false, + "scope": 8608, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 7868, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 7850, + "name": "UserDefinedTypeName", + "src": "2642:13:25" + } + ], + "id": 7851, + "name": "VariableDeclaration", + "src": "2642:26:25" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 7868, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7852, + "name": "ElementaryTypeName", + "src": "2670:4:25" + } + ], + "id": 7853, + "name": "VariableDeclaration", + "src": "2670:9:25" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 7868, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7854, + "name": "ElementaryTypeName", + "src": "2681:7:25" + } + ], + "id": 7855, + "name": "VariableDeclaration", + "src": "2681:20:25" + } + ], + "id": 7856, + "name": "ParameterList", + "src": "2641:61:25" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 7857, + "name": "ParameterList", + "src": "2710:0:25" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 7207 + ], + "referencedDeclaration": 7207, + "type": "function (contract StandardToken,uint256,address,bytes32)", + "value": "updateParameters" + }, + "id": 7858, + "name": "Identifier", + "src": "2721:16:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7851, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 7859, + "name": "Identifier", + "src": "2738:12:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7853, + "type": "uint256", + "value": "_fee" + }, + "id": 7860, + "name": "Identifier", + "src": "2752:4:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7855, + "type": "address", + "value": "_beneficiary" + }, + "id": 7861, + "name": "Identifier", + "src": "2758:12:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 7862, + "name": "ElementaryTypeNameExpression", + "src": "2772:7:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 7863, + "name": "Literal", + "src": "2780:1:25" + } + ], + "id": 7864, + "name": "FunctionCall", + "src": "2772:10:25" + } + ], + "id": 7865, + "name": "FunctionCall", + "src": "2721:62:25" + } + ], + "id": 7866, + "name": "ExpressionStatement", + "src": "2721:62:25" + } + ], + "id": 7867, + "name": "Block", + "src": "2710:81:25" + } + ], + "id": 7868, + "name": "FunctionDefinition", + "src": "2619:172:25" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 8608, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_voteParams", + "scope": 7901, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7869, + "name": "ElementaryTypeName", + "src": "3074:7:25" + } + ], + "id": 7870, + "name": "VariableDeclaration", + "src": "3074:19:25" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 7901, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 7871, + "name": "UserDefinedTypeName", + "src": "3104:16:25" + } + ], + "id": 7872, + "name": "VariableDeclaration", + "src": "3104:25:25" + } + ], + "id": 7873, + "name": "ParameterList", + "src": "3063:73:25" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7901, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7874, + "name": "ElementaryTypeName", + "src": "3152:7:25" + } + ], + "id": 7875, + "name": "VariableDeclaration", + "src": "3152:7:25" + } + ], + "id": 7876, + "name": "ParameterList", + "src": "3151:9:25" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 7878 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 7901, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7877, + "name": "ElementaryTypeName", + "src": "3177:7:25" + } + ], + "id": 7878, + "name": "VariableDeclaration", + "src": "3177:18:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7917, + "type": "function (bytes32,contract IntVoteInterface) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 7879, + "name": "Identifier", + "src": "3198:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7870, + "type": "bytes32", + "value": "_voteParams" + }, + "id": 7880, + "name": "Identifier", + "src": "3216:11:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7872, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 7881, + "name": "Identifier", + "src": "3229:8:25" + } + ], + "id": 7882, + "name": "FunctionCall", + "src": "3198:40:25" + } + ], + "id": 7883, + "name": "VariableDeclarationStatement", + "src": "3177:61:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "voteParams", + "referencedDeclaration": 7798, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7811, + "type": "mapping(bytes32 => struct VestingScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 7884, + "name": "Identifier", + "src": "3249:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7878, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 7885, + "name": "Identifier", + "src": "3260:10:25" + } + ], + "id": 7886, + "name": "IndexAccess", + "src": "3249:22:25" + } + ], + "id": 7887, + "name": "MemberAccess", + "src": "3249:33:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7870, + "type": "bytes32", + "value": "_voteParams" + }, + "id": 7888, + "name": "Identifier", + "src": "3285:11:25" + } + ], + "id": 7889, + "name": "Assignment", + "src": "3249:47:25" + } + ], + "id": 7890, + "name": "ExpressionStatement", + "src": "3249:47:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "intVote", + "referencedDeclaration": 7800, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7811, + "type": "mapping(bytes32 => struct VestingScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 7891, + "name": "Identifier", + "src": "3307:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7878, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 7892, + "name": "Identifier", + "src": "3318:10:25" + } + ], + "id": 7893, + "name": "IndexAccess", + "src": "3307:22:25" + } + ], + "id": 7894, + "name": "MemberAccess", + "src": "3307:30:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7872, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 7895, + "name": "Identifier", + "src": "3340:8:25" + } + ], + "id": 7896, + "name": "Assignment", + "src": "3307:41:25" + } + ], + "id": 7897, + "name": "ExpressionStatement", + "src": "3307:41:25" + }, + { + "attributes": { + "functionReturnParameters": 7876 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7878, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 7898, + "name": "Identifier", + "src": "3366:10:25" + } + ], + "id": 7899, + "name": "Return", + "src": "3359:17:25" + } + ], + "id": 7900, + "name": "Block", + "src": "3166:218:25" + } + ], + "id": 7901, + "name": "FunctionDefinition", + "src": "3041:343:25" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 8608, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_voteParams", + "scope": 7917, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7902, + "name": "ElementaryTypeName", + "src": "3646:7:25" + } + ], + "id": 7903, + "name": "VariableDeclaration", + "src": "3646:19:25" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 7917, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 7904, + "name": "UserDefinedTypeName", + "src": "3676:16:25" + } + ], + "id": 7905, + "name": "VariableDeclaration", + "src": "3676:25:25" + } + ], + "id": 7906, + "name": "ParameterList", + "src": "3635:73:25" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 7917, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7907, + "name": "ElementaryTypeName", + "src": "3729:7:25" + } + ], + "id": 7908, + "name": "VariableDeclaration", + "src": "3729:7:25" + } + ], + "id": 7909, + "name": "ParameterList", + "src": "3728:9:25" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 7909 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 7910, + "name": "Identifier", + "src": "3763:9:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7903, + "type": "bytes32", + "value": "_voteParams" + }, + "id": 7911, + "name": "Identifier", + "src": "3773:11:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7905, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 7912, + "name": "Identifier", + "src": "3786:8:25" + } + ], + "id": 7913, + "name": "FunctionCall", + "src": "3763:32:25" + } + ], + "id": 7914, + "name": "TupleExpression", + "src": "3762:34:25" + } + ], + "id": 7915, + "name": "Return", + "src": "3754:42:25" + } + ], + "id": 7916, + "name": "Block", + "src": "3743:61:25" + } + ], + "id": 7917, + "name": "FunctionDefinition", + "src": "3609:195:25" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "proposeVestingAgreement", + "payable": false, + "scope": 8608, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7918, + "name": "ElementaryTypeName", + "src": "4654:7:25" + } + ], + "id": 7919, + "name": "VariableDeclaration", + "src": "4654:20:25" + }, + { + "attributes": { + "constant": false, + "name": "_returnOnCancelAddress", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7920, + "name": "ElementaryTypeName", + "src": "4685:7:25" + } + ], + "id": 7921, + "name": "VariableDeclaration", + "src": "4685:30:25" + }, + { + "attributes": { + "constant": false, + "name": "_startingBlock", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7922, + "name": "ElementaryTypeName", + "src": "4726:4:25" + } + ], + "id": 7923, + "name": "VariableDeclaration", + "src": "4726:19:25" + }, + { + "attributes": { + "constant": false, + "name": "_amountPerPeriod", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7924, + "name": "ElementaryTypeName", + "src": "4756:4:25" + } + ], + "id": 7925, + "name": "VariableDeclaration", + "src": "4756:21:25" + }, + { + "attributes": { + "constant": false, + "name": "_periodLength", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7926, + "name": "ElementaryTypeName", + "src": "4788:4:25" + } + ], + "id": 7927, + "name": "VariableDeclaration", + "src": "4788:18:25" + }, + { + "attributes": { + "constant": false, + "name": "_numOfAgreedPeriods", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7928, + "name": "ElementaryTypeName", + "src": "4817:4:25" + } + ], + "id": 7929, + "name": "VariableDeclaration", + "src": "4817:24:25" + }, + { + "attributes": { + "constant": false, + "name": "_cliffInPeriods", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7930, + "name": "ElementaryTypeName", + "src": "4852:4:25" + } + ], + "id": 7931, + "name": "VariableDeclaration", + "src": "4852:20:25" + }, + { + "attributes": { + "constant": false, + "name": "_signaturesReqToCancel", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7932, + "name": "ElementaryTypeName", + "src": "4883:4:25" + } + ], + "id": 7933, + "name": "VariableDeclaration", + "src": "4883:27:25" + }, + { + "attributes": { + "constant": false, + "name": "_signersArray", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "address[] calldata", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 7934, + "name": "ElementaryTypeName", + "src": "4921:7:25" + } + ], + "id": 7935, + "name": "ArrayTypeName", + "src": "4921:9:25" + } + ], + "id": 7936, + "name": "VariableDeclaration", + "src": "4921:23:25" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 7937, + "name": "UserDefinedTypeName", + "src": "4955:6:25" + } + ], + "id": 7938, + "name": "VariableDeclaration", + "src": "4955:14:25" + } + ], + "id": 7939, + "name": "ParameterList", + "src": "4643:333:25" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7943, + "name": "ElementaryTypeName", + "src": "5045:7:25" + } + ], + "id": 7944, + "name": "VariableDeclaration", + "src": "5045:7:25" + } + ], + "id": 7945, + "name": "ParameterList", + "src": "5044:9:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7129, + "type": "modifier (address)", + "value": "onlyRegisteredOrganization" + }, + "id": 7940, + "name": "Identifier", + "src": "4996:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7941, + "name": "Identifier", + "src": "5023:7:25" + } + ], + "id": 7942, + "name": "ModifierInvocation", + "src": "4996:35:25" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 7947 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 8111, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct VestingScheme.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 7801, + "type": "struct VestingScheme.Parameters storage pointer" + }, + "id": 7946, + "name": "UserDefinedTypeName", + "src": "5095:10:25" + } + ], + "id": 7947, + "name": "VariableDeclaration", + "src": "5095:24:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7811, + "type": "mapping(bytes32 => struct VestingScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 7948, + "name": "Identifier", + "src": "5122:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 7949, + "name": "Identifier", + "src": "5133:27:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7950, + "name": "Identifier", + "src": "5161:7:25" + } + ], + "id": 7951, + "name": "FunctionCall", + "src": "5133:36:25" + } + ], + "id": 7952, + "name": "IndexAccess", + "src": "5122:48:25" + } + ], + "id": 7953, + "name": "VariableDeclarationStatement", + "src": "5095:75:25" + }, + { + "attributes": { + "assignments": [ + 7955 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposalId", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 7954, + "name": "ElementaryTypeName", + "src": "5181:7:25" + } + ], + "id": 7955, + "name": "VariableDeclaration", + "src": "5181:18:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_ExecutableInterface_$5155", + "typeString": "contract ExecutableInterface" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "propose", + "referencedDeclaration": 2570, + "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 7800, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7947, + "type": "struct VestingScheme.Parameters memory", + "value": "params" + }, + "id": 7956, + "name": "Identifier", + "src": "5202:6:25" + } + ], + "id": 7957, + "name": "MemberAccess", + "src": "5202:14:25" + } + ], + "id": 7958, + "name": "MemberAccess", + "src": "5202:22:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 7959, + "name": "Literal", + "src": "5225:1:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteParams", + "referencedDeclaration": 7798, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7947, + "type": "struct VestingScheme.Parameters memory", + "value": "params" + }, + "id": 7960, + "name": "Identifier", + "src": "5228:6:25" + } + ], + "id": 7961, + "name": "MemberAccess", + "src": "5228:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7962, + "name": "Identifier", + "src": "5247:7:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ExecutableInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_VestingScheme_$8608", + "typeString": "contract VestingScheme" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5155, + "type": "type(contract ExecutableInterface)", + "value": "ExecutableInterface" + }, + "id": 7963, + "name": "Identifier", + "src": "5256:19:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9821, + "type": "contract VestingScheme", + "value": "this" + }, + "id": 7964, + "name": "Identifier", + "src": "5276:4:25" + } + ], + "id": 7965, + "name": "FunctionCall", + "src": "5256:25:25" + } + ], + "id": 7966, + "name": "FunctionCall", + "src": "5202:80:25" + } + ], + "id": 7967, + "name": "VariableDeclarationStatement", + "src": "5181:101:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9727, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 7968, + "name": "Identifier", + "src": "5293:6:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7933, + "type": "uint256", + "value": "_signaturesReqToCancel" + }, + "id": 7969, + "name": "Identifier", + "src": "5300:22:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7936, + "type": "address[] calldata", + "value": "_signersArray" + }, + "id": 7970, + "name": "Identifier", + "src": "5326:13:25" + } + ], + "id": 7971, + "name": "MemberAccess", + "src": "5326:20:25" + } + ], + "id": 7972, + "name": "BinaryOperation", + "src": "5300:46:25" + } + ], + "id": 7973, + "name": "FunctionCall", + "src": "5293:54:25" + } + ], + "id": 7974, + "name": "ExpressionStatement", + "src": "5293:54:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9727, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 7975, + "name": "Identifier", + "src": "5358:6:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7927, + "type": "uint256", + "value": "_periodLength" + }, + "id": 7976, + "name": "Identifier", + "src": "5365:13:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 7977, + "name": "Literal", + "src": "5381:1:25" + } + ], + "id": 7978, + "name": "BinaryOperation", + "src": "5365:17:25" + } + ], + "id": 7979, + "name": "FunctionCall", + "src": "5358:25:25" + } + ], + "id": 7980, + "name": "ExpressionStatement", + "src": "5358:25:25" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 7982 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 8111, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 7981, + "name": "ElementaryTypeName", + "src": "5438:4:25" + } + ], + "id": 7982, + "name": "VariableDeclaration", + "src": "5438:8:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 7983, + "name": "Literal", + "src": "5449:1:25" + } + ], + "id": 7984, + "name": "VariableDeclarationStatement", + "src": "5438:12:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7982, + "type": "uint256", + "value": "cnt" + }, + "id": 7985, + "name": "Identifier", + "src": "5452:3:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7936, + "type": "address[] calldata", + "value": "_signersArray" + }, + "id": 7986, + "name": "Identifier", + "src": "5456:13:25" + } + ], + "id": 7987, + "name": "MemberAccess", + "src": "5456:20:25" + } + ], + "id": 7988, + "name": "BinaryOperation", + "src": "5452:24:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7982, + "type": "uint256", + "value": "cnt" + }, + "id": 7989, + "name": "Identifier", + "src": "5478:3:25" + } + ], + "id": 7990, + "name": "UnaryOperation", + "src": "5478:5:25" + } + ], + "id": 7991, + "name": "ExpressionStatement", + "src": "5478:5:25" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "signers", + "referencedDeclaration": 7791, + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 7992, + "name": "Identifier", + "src": "5500:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 7993, + "name": "Identifier", + "src": "5518:7:25" + } + ], + "id": 7995, + "name": "IndexAccess", + "src": "5500:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 7994, + "name": "Identifier", + "src": "5527:10:25" + } + ], + "id": 7996, + "name": "IndexAccess", + "src": "5500:38:25" + } + ], + "id": 7997, + "name": "MemberAccess", + "src": "5500:46:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7936, + "type": "address[] calldata", + "value": "_signersArray" + }, + "id": 7998, + "name": "Identifier", + "src": "5547:13:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7982, + "type": "uint256", + "value": "cnt" + }, + "id": 7999, + "name": "Identifier", + "src": "5561:3:25" + } + ], + "id": 8000, + "name": "IndexAccess", + "src": "5547:18:25" + } + ], + "id": 8001, + "name": "IndexAccess", + "src": "5500:66:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 8002, + "name": "Literal", + "src": "5569:4:25" + } + ], + "id": 8003, + "name": "Assignment", + "src": "5500:73:25" + } + ], + "id": 8004, + "name": "ExpressionStatement", + "src": "5500:73:25" + } + ], + "id": 8005, + "name": "Block", + "src": "5485:100:25" + } + ], + "id": 8006, + "name": "ForStatement", + "src": "5433:152:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "token", + "referencedDeclaration": 7767, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8007, + "name": "Identifier", + "src": "5625:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8008, + "name": "Identifier", + "src": "5643:7:25" + } + ], + "id": 8010, + "name": "IndexAccess", + "src": "5625:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8009, + "name": "Identifier", + "src": "5652:10:25" + } + ], + "id": 8011, + "name": "IndexAccess", + "src": "5625:38:25" + } + ], + "id": 8012, + "name": "MemberAccess", + "src": "5625:44:25" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract DAOToken", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "nativeToken", + "referencedDeclaration": 2803, + "type": "function () view external returns (contract DAOToken)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 8013, + "name": "Identifier", + "src": "5672:6:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8014, + "name": "Identifier", + "src": "5679:7:25" + } + ], + "id": 8015, + "name": "FunctionCall", + "src": "5672:15:25" + } + ], + "id": 8016, + "name": "MemberAccess", + "src": "5672:27:25" + } + ], + "id": 8017, + "name": "FunctionCall", + "src": "5672:29:25" + } + ], + "id": 8018, + "name": "Assignment", + "src": "5625:76:25" + } + ], + "id": 8019, + "name": "ExpressionStatement", + "src": "5625:76:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "beneficiary", + "referencedDeclaration": 7769, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8020, + "name": "Identifier", + "src": "5712:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8021, + "name": "Identifier", + "src": "5730:7:25" + } + ], + "id": 8023, + "name": "IndexAccess", + "src": "5712:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8022, + "name": "Identifier", + "src": "5739:10:25" + } + ], + "id": 8024, + "name": "IndexAccess", + "src": "5712:38:25" + } + ], + "id": 8025, + "name": "MemberAccess", + "src": "5712:50:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7919, + "type": "address", + "value": "_beneficiary" + }, + "id": 8026, + "name": "Identifier", + "src": "5765:12:25" + } + ], + "id": 8027, + "name": "Assignment", + "src": "5712:65:25" + } + ], + "id": 8028, + "name": "ExpressionStatement", + "src": "5712:65:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "returnOnCancelAddress", + "referencedDeclaration": 7771, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8029, + "name": "Identifier", + "src": "5788:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8030, + "name": "Identifier", + "src": "5806:7:25" + } + ], + "id": 8032, + "name": "IndexAccess", + "src": "5788:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8031, + "name": "Identifier", + "src": "5815:10:25" + } + ], + "id": 8033, + "name": "IndexAccess", + "src": "5788:38:25" + } + ], + "id": 8034, + "name": "MemberAccess", + "src": "5788:60:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7921, + "type": "address", + "value": "_returnOnCancelAddress" + }, + "id": 8035, + "name": "Identifier", + "src": "5851:22:25" + } + ], + "id": 8036, + "name": "Assignment", + "src": "5788:85:25" + } + ], + "id": 8037, + "name": "ExpressionStatement", + "src": "5788:85:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "startingBlock", + "referencedDeclaration": 7773, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8038, + "name": "Identifier", + "src": "5884:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8039, + "name": "Identifier", + "src": "5902:7:25" + } + ], + "id": 8041, + "name": "IndexAccess", + "src": "5884:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8040, + "name": "Identifier", + "src": "5911:10:25" + } + ], + "id": 8042, + "name": "IndexAccess", + "src": "5884:38:25" + } + ], + "id": 8043, + "name": "MemberAccess", + "src": "5884:52:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7923, + "type": "uint256", + "value": "_startingBlock" + }, + "id": 8044, + "name": "Identifier", + "src": "5939:14:25" + } + ], + "id": 8045, + "name": "Assignment", + "src": "5884:69:25" + } + ], + "id": 8046, + "name": "ExpressionStatement", + "src": "5884:69:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "amountPerPeriod", + "referencedDeclaration": 7775, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8047, + "name": "Identifier", + "src": "5964:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8048, + "name": "Identifier", + "src": "5982:7:25" + } + ], + "id": 8050, + "name": "IndexAccess", + "src": "5964:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8049, + "name": "Identifier", + "src": "5991:10:25" + } + ], + "id": 8051, + "name": "IndexAccess", + "src": "5964:38:25" + } + ], + "id": 8052, + "name": "MemberAccess", + "src": "5964:54:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7925, + "type": "uint256", + "value": "_amountPerPeriod" + }, + "id": 8053, + "name": "Identifier", + "src": "6021:16:25" + } + ], + "id": 8054, + "name": "Assignment", + "src": "5964:73:25" + } + ], + "id": 8055, + "name": "ExpressionStatement", + "src": "5964:73:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "periodLength", + "referencedDeclaration": 7777, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8056, + "name": "Identifier", + "src": "6048:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8057, + "name": "Identifier", + "src": "6066:7:25" + } + ], + "id": 8059, + "name": "IndexAccess", + "src": "6048:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8058, + "name": "Identifier", + "src": "6075:10:25" + } + ], + "id": 8060, + "name": "IndexAccess", + "src": "6048:38:25" + } + ], + "id": 8061, + "name": "MemberAccess", + "src": "6048:51:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7927, + "type": "uint256", + "value": "_periodLength" + }, + "id": 8062, + "name": "Identifier", + "src": "6102:13:25" + } + ], + "id": 8063, + "name": "Assignment", + "src": "6048:67:25" + } + ], + "id": 8064, + "name": "ExpressionStatement", + "src": "6048:67:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "numOfAgreedPeriods", + "referencedDeclaration": 7779, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8065, + "name": "Identifier", + "src": "6126:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8066, + "name": "Identifier", + "src": "6144:7:25" + } + ], + "id": 8068, + "name": "IndexAccess", + "src": "6126:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8067, + "name": "Identifier", + "src": "6153:10:25" + } + ], + "id": 8069, + "name": "IndexAccess", + "src": "6126:38:25" + } + ], + "id": 8070, + "name": "MemberAccess", + "src": "6126:57:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7929, + "type": "uint256", + "value": "_numOfAgreedPeriods" + }, + "id": 8071, + "name": "Identifier", + "src": "6186:19:25" + } + ], + "id": 8072, + "name": "Assignment", + "src": "6126:79:25" + } + ], + "id": 8073, + "name": "ExpressionStatement", + "src": "6126:79:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "cliffInPeriods", + "referencedDeclaration": 7781, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8074, + "name": "Identifier", + "src": "6216:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8075, + "name": "Identifier", + "src": "6234:7:25" + } + ], + "id": 8077, + "name": "IndexAccess", + "src": "6216:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8076, + "name": "Identifier", + "src": "6243:10:25" + } + ], + "id": 8078, + "name": "IndexAccess", + "src": "6216:38:25" + } + ], + "id": 8079, + "name": "MemberAccess", + "src": "6216:53:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7931, + "type": "uint256", + "value": "_cliffInPeriods" + }, + "id": 8080, + "name": "Identifier", + "src": "6272:15:25" + } + ], + "id": 8081, + "name": "Assignment", + "src": "6216:71:25" + } + ], + "id": 8082, + "name": "ExpressionStatement", + "src": "6216:71:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "signaturesReqToCancel", + "referencedDeclaration": 7783, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8083, + "name": "Identifier", + "src": "6298:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8084, + "name": "Identifier", + "src": "6316:7:25" + } + ], + "id": 8086, + "name": "IndexAccess", + "src": "6298:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8085, + "name": "Identifier", + "src": "6325:10:25" + } + ], + "id": 8087, + "name": "IndexAccess", + "src": "6298:38:25" + } + ], + "id": 8088, + "name": "MemberAccess", + "src": "6298:60:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7933, + "type": "uint256", + "value": "_signaturesReqToCancel" + }, + "id": 8089, + "name": "Identifier", + "src": "6361:22:25" + } + ], + "id": 8090, + "name": "Assignment", + "src": "6298:85:25" + } + ], + "id": 8091, + "name": "ExpressionStatement", + "src": "6298:85:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "ownerVote", + "referencedDeclaration": 2597, + "type": "function (bytes32,uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 7800, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7947, + "type": "struct VestingScheme.Parameters memory", + "value": "params" + }, + "id": 8092, + "name": "Identifier", + "src": "6396:6:25" + } + ], + "id": 8095, + "name": "MemberAccess", + "src": "6396:14:25" + } + ], + "id": 8096, + "name": "MemberAccess", + "src": "6396:24:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8097, + "name": "Identifier", + "src": "6421:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 8098, + "name": "Literal", + "src": "6433:1:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 8099, + "name": "Identifier", + "src": "6436:3:25" + } + ], + "id": 8100, + "name": "MemberAccess", + "src": "6436:10:25" + } + ], + "id": 8101, + "name": "FunctionCall", + "src": "6396:51:25" + } + ], + "id": 8102, + "name": "ExpressionStatement", + "src": "6396:51:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7733, + "type": "function (address,bytes32)", + "value": "LogAgreementProposal" + }, + "id": 8103, + "name": "Identifier", + "src": "6533:20:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7938, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8104, + "name": "Identifier", + "src": "6554:7:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8105, + "name": "Identifier", + "src": "6563:10:25" + } + ], + "id": 8106, + "name": "FunctionCall", + "src": "6533:41:25" + } + ], + "id": 8107, + "name": "ExpressionStatement", + "src": "6533:41:25" + }, + { + "attributes": { + "functionReturnParameters": 7945 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7955, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8108, + "name": "Identifier", + "src": "6592:10:25" + } + ], + "id": 8109, + "name": "Return", + "src": "6585:17:25" + } + ], + "id": 8110, + "name": "Block", + "src": "5059:1551:25" + } + ], + "id": 8111, + "name": "FunctionDefinition", + "src": "4611:1999:25" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "execute", + "payable": false, + "scope": 8608, + "stateMutability": "nonpayable", + "superFunction": 5154, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 8206, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8112, + "name": "ElementaryTypeName", + "src": "7016:7:25" + } + ], + "id": 8113, + "name": "VariableDeclaration", + "src": "7016:19:25" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 8206, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8114, + "name": "ElementaryTypeName", + "src": "7037:7:25" + } + ], + "id": 8115, + "name": "VariableDeclaration", + "src": "7037:15:25" + }, + { + "attributes": { + "constant": false, + "name": "_param", + "scope": 8206, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 8116, + "name": "ElementaryTypeName", + "src": "7054:3:25" + } + ], + "id": 8117, + "name": "VariableDeclaration", + "src": "7054:10:25" + } + ], + "id": 8118, + "name": "ParameterList", + "src": "7015:50:25" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 8206, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 8119, + "name": "ElementaryTypeName", + "src": "7081:4:25" + } + ], + "id": 8120, + "name": "VariableDeclaration", + "src": "7081:4:25" + } + ], + "id": 8121, + "name": "ParameterList", + "src": "7080:6:25" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 8122, + "name": "Identifier", + "src": "7157:7:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 7800, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7811, + "type": "mapping(bytes32 => struct VestingScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 8123, + "name": "Identifier", + "src": "7165:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 8124, + "name": "Identifier", + "src": "7176:27:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 8125, + "name": "Identifier", + "src": "7204:6:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8115, + "type": "address", + "value": "_avatar" + }, + "id": 8126, + "name": "Identifier", + "src": "7211:7:25" + } + ], + "id": 8127, + "name": "FunctionCall", + "src": "7204:15:25" + } + ], + "id": 8128, + "name": "FunctionCall", + "src": "7176:44:25" + } + ], + "id": 8129, + "name": "IndexAccess", + "src": "7165:56:25" + } + ], + "id": 8130, + "name": "MemberAccess", + "src": "7165:64:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 8131, + "name": "Identifier", + "src": "7233:3:25" + } + ], + "id": 8132, + "name": "MemberAccess", + "src": "7233:10:25" + } + ], + "id": 8133, + "name": "BinaryOperation", + "src": "7165:78:25" + } + ], + "id": 8134, + "name": "FunctionCall", + "src": "7157:87:25" + } + ], + "id": 8135, + "name": "ExpressionStatement", + "src": "7157:87:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7741, + "type": "function (address,bytes32,int256)", + "value": "LogExecutaion" + }, + "id": 8136, + "name": "Identifier", + "src": "7284:13:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8115, + "type": "address", + "value": "_avatar" + }, + "id": 8137, + "name": "Identifier", + "src": "7298:7:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8113, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 8138, + "name": "Identifier", + "src": "7307:11:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8117, + "type": "int256", + "value": "_param" + }, + "id": 8139, + "name": "Identifier", + "src": "7320:6:25" + } + ], + "id": 8140, + "name": "FunctionCall", + "src": "7284:43:25" + } + ], + "id": 8141, + "name": "ExpressionStatement", + "src": "7284:43:25" + }, + { + "attributes": { + "assignments": [ + 8143 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposedAgreement", + "scope": 8206, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct VestingScheme.Agreement memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Agreement", + "referencedDeclaration": 7796, + "type": "struct VestingScheme.Agreement storage pointer" + }, + "id": 8142, + "name": "UserDefinedTypeName", + "src": "7340:9:25" + } + ], + "id": 8143, + "name": "VariableDeclaration", + "src": "7340:34:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8144, + "name": "Identifier", + "src": "7377:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8115, + "type": "address", + "value": "_avatar" + }, + "id": 8145, + "name": "Identifier", + "src": "7395:7:25" + } + ], + "id": 8146, + "name": "IndexAccess", + "src": "7377:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8113, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 8147, + "name": "Identifier", + "src": "7404:11:25" + } + ], + "id": 8148, + "name": "IndexAccess", + "src": "7377:39:25" + } + ], + "id": 8149, + "name": "VariableDeclarationStatement", + "src": "7340:76:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VestingScheme.Agreement storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7807, + "type": "mapping(address => mapping(bytes32 => struct VestingScheme.Agreement storage ref))", + "value": "organizationsData" + }, + "id": 8150, + "name": "Identifier", + "src": "7434:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8115, + "type": "address", + "value": "_avatar" + }, + "id": 8151, + "name": "Identifier", + "src": "7452:7:25" + } + ], + "id": 8152, + "name": "IndexAccess", + "src": "7434:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8113, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 8153, + "name": "Identifier", + "src": "7461:11:25" + } + ], + "id": 8154, + "name": "IndexAccess", + "src": "7434:39:25" + } + ], + "id": 8155, + "name": "UnaryOperation", + "src": "7427:46:25" + } + ], + "id": 8156, + "name": "ExpressionStatement", + "src": "7427:46:25" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8117, + "type": "int256", + "value": "_param" + }, + "id": 8157, + "name": "Identifier", + "src": "7532:6:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 8158, + "name": "Literal", + "src": "7542:1:25" + } + ], + "id": 8159, + "name": "BinaryOperation", + "src": "7532:11:25" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 8161 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 8206, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 8160, + "name": "UserDefinedTypeName", + "src": "7642:10:25" + } + ], + "id": 8161, + "name": "VariableDeclaration", + "src": "7642:21:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 8162, + "name": "Identifier", + "src": "7666:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 8163, + "name": "Identifier", + "src": "7677:6:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8115, + "type": "address", + "value": "_avatar" + }, + "id": 8164, + "name": "Identifier", + "src": "7684:7:25" + } + ], + "id": 8165, + "name": "FunctionCall", + "src": "7677:15:25" + } + ], + "id": 8166, + "name": "MemberAccess", + "src": "7677:21:25" + } + ], + "id": 8167, + "name": "FunctionCall", + "src": "7677:23:25" + } + ], + "id": 8168, + "name": "FunctionCall", + "src": "7666:35:25" + } + ], + "id": 8169, + "name": "VariableDeclarationStatement", + "src": "7642:59:25" + }, + { + "attributes": { + "assignments": [ + 8171 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "tokensToMint", + "scope": 8206, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8170, + "name": "ElementaryTypeName", + "src": "7716:4:25" + } + ], + "id": 8171, + "name": "VariableDeclaration", + "src": "7716:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 9021, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "amountPerPeriod", + "referencedDeclaration": 7775, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8143, + "type": "struct VestingScheme.Agreement memory", + "value": "proposedAgreement" + }, + "id": 8172, + "name": "Identifier", + "src": "7736:17:25" + } + ], + "id": 8173, + "name": "MemberAccess", + "src": "7736:33:25" + } + ], + "id": 8174, + "name": "MemberAccess", + "src": "7736:37:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfAgreedPeriods", + "referencedDeclaration": 7779, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8143, + "type": "struct VestingScheme.Agreement memory", + "value": "proposedAgreement" + }, + "id": 8175, + "name": "Identifier", + "src": "7774:17:25" + } + ], + "id": 8176, + "name": "MemberAccess", + "src": "7774:36:25" + } + ], + "id": 8177, + "name": "FunctionCall", + "src": "7736:75:25" + } + ], + "id": 8178, + "name": "VariableDeclarationStatement", + "src": "7716:95:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_contract$_VestingScheme_$8608", + "typeString": "contract VestingScheme" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mintTokens", + "referencedDeclaration": 3502, + "type": "function (uint256,address) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8161, + "type": "contract Controller", + "value": "controller" + }, + "id": 8179, + "name": "Identifier", + "src": "7826:10:25" + } + ], + "id": 8181, + "name": "MemberAccess", + "src": "7826:21:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8171, + "type": "uint256", + "value": "tokensToMint" + }, + "id": 8182, + "name": "Identifier", + "src": "7848:12:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9821, + "type": "contract VestingScheme", + "value": "this" + }, + "id": 8183, + "name": "Identifier", + "src": "7862:4:25" + } + ], + "id": 8184, + "name": "FunctionCall", + "src": "7826:41:25" + } + ], + "id": 8185, + "name": "ExpressionStatement", + "src": "7826:41:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8186, + "name": "Identifier", + "src": "7882:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8187, + "name": "Identifier", + "src": "7893:17:25" + } + ], + "id": 8188, + "name": "IndexAccess", + "src": "7882:29:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8143, + "type": "struct VestingScheme.Agreement memory", + "value": "proposedAgreement" + }, + "id": 8189, + "name": "Identifier", + "src": "7914:17:25" + } + ], + "id": 8190, + "name": "Assignment", + "src": "7882:49:25" + } + ], + "id": 8191, + "name": "ExpressionStatement", + "src": "7882:49:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8192, + "name": "Identifier", + "src": "7946:17:25" + } + ], + "id": 8193, + "name": "UnaryOperation", + "src": "7946:19:25" + } + ], + "id": 8194, + "name": "ExpressionStatement", + "src": "7946:19:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7745, + "type": "function (uint256)", + "value": "NewVestedAgreement" + }, + "id": 8195, + "name": "Identifier", + "src": "8015:18:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "-", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8196, + "name": "Identifier", + "src": "8034:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 8197, + "name": "Literal", + "src": "8052:1:25" + } + ], + "id": 8198, + "name": "BinaryOperation", + "src": "8034:19:25" + } + ], + "id": 8199, + "name": "FunctionCall", + "src": "8015:39:25" + } + ], + "id": 8200, + "name": "ExpressionStatement", + "src": "8015:39:25" + } + ], + "id": 8201, + "name": "Block", + "src": "7545:520:25" + } + ], + "id": 8202, + "name": "IfStatement", + "src": "7528:537:25" + }, + { + "attributes": { + "functionReturnParameters": 8121 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 8203, + "name": "Literal", + "src": "8082:4:25" + } + ], + "id": 8204, + "name": "Return", + "src": "8075:11:25" + } + ], + "id": 8205, + "name": "Block", + "src": "7087:1007:25" + } + ], + "id": 8206, + "name": "FunctionDefinition", + "src": "6999:1095:25" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "createVestedAgreement", + "payable": false, + "scope": 8608, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "external" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_token", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 8207, + "name": "UserDefinedTypeName", + "src": "8933:13:25" + } + ], + "id": 8208, + "name": "VariableDeclaration", + "src": "8933:20:25" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8209, + "name": "ElementaryTypeName", + "src": "8964:7:25" + } + ], + "id": 8210, + "name": "VariableDeclaration", + "src": "8964:20:25" + }, + { + "attributes": { + "constant": false, + "name": "_returnOnCancelAddress", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8211, + "name": "ElementaryTypeName", + "src": "8995:7:25" + } + ], + "id": 8212, + "name": "VariableDeclaration", + "src": "8995:30:25" + }, + { + "attributes": { + "constant": false, + "name": "_startingBlock", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8213, + "name": "ElementaryTypeName", + "src": "9036:4:25" + } + ], + "id": 8214, + "name": "VariableDeclaration", + "src": "9036:19:25" + }, + { + "attributes": { + "constant": false, + "name": "_amountPerPeriod", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8215, + "name": "ElementaryTypeName", + "src": "9066:4:25" + } + ], + "id": 8216, + "name": "VariableDeclaration", + "src": "9066:21:25" + }, + { + "attributes": { + "constant": false, + "name": "_periodLength", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8217, + "name": "ElementaryTypeName", + "src": "9098:4:25" + } + ], + "id": 8218, + "name": "VariableDeclaration", + "src": "9098:18:25" + }, + { + "attributes": { + "constant": false, + "name": "_numOfAgreedPeriods", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8219, + "name": "ElementaryTypeName", + "src": "9127:4:25" + } + ], + "id": 8220, + "name": "VariableDeclaration", + "src": "9127:24:25" + }, + { + "attributes": { + "constant": false, + "name": "_cliffInPeriods", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8221, + "name": "ElementaryTypeName", + "src": "9162:4:25" + } + ], + "id": 8222, + "name": "VariableDeclaration", + "src": "9162:20:25" + }, + { + "attributes": { + "constant": false, + "name": "_signaturesReqToCancel", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8223, + "name": "ElementaryTypeName", + "src": "9193:4:25" + } + ], + "id": 8224, + "name": "VariableDeclaration", + "src": "9193:27:25" + }, + { + "attributes": { + "constant": false, + "name": "_signersArray", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "address[] calldata", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "address[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8225, + "name": "ElementaryTypeName", + "src": "9231:7:25" + } + ], + "id": 8226, + "name": "ArrayTypeName", + "src": "9231:9:25" + } + ], + "id": 8227, + "name": "VariableDeclaration", + "src": "9231:23:25" + } + ], + "id": 8228, + "name": "ParameterList", + "src": "8922:339:25" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8229, + "name": "ElementaryTypeName", + "src": "9297:4:25" + } + ], + "id": 8230, + "name": "VariableDeclaration", + "src": "9297:4:25" + } + ], + "id": 8231, + "name": "ParameterList", + "src": "9296:6:25" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9727, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 8232, + "name": "Identifier", + "src": "9319:6:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8224, + "type": "uint256", + "value": "_signaturesReqToCancel" + }, + "id": 8233, + "name": "Identifier", + "src": "9326:22:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8227, + "type": "address[] calldata", + "value": "_signersArray" + }, + "id": 8234, + "name": "Identifier", + "src": "9352:13:25" + } + ], + "id": 8235, + "name": "MemberAccess", + "src": "9352:20:25" + } + ], + "id": 8236, + "name": "BinaryOperation", + "src": "9326:46:25" + } + ], + "id": 8237, + "name": "FunctionCall", + "src": "9319:54:25" + } + ], + "id": 8238, + "name": "ExpressionStatement", + "src": "9319:54:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9727, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 8239, + "name": "Identifier", + "src": "9384:6:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8218, + "type": "uint256", + "value": "_periodLength" + }, + "id": 8240, + "name": "Identifier", + "src": "9391:13:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 8241, + "name": "Literal", + "src": "9407:1:25" + } + ], + "id": 8242, + "name": "BinaryOperation", + "src": "9391:17:25" + } + ], + "id": 8243, + "name": "FunctionCall", + "src": "9384:25:25" + } + ], + "id": 8244, + "name": "ExpressionStatement", + "src": "9384:25:25" + }, + { + "attributes": { + "assignments": [ + 8246 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "totalAmount", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8245, + "name": "ElementaryTypeName", + "src": "9447:4:25" + } + ], + "id": 8246, + "name": "VariableDeclaration", + "src": "9447:16:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 9021, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8216, + "type": "uint256", + "value": "_amountPerPeriod" + }, + "id": 8247, + "name": "Identifier", + "src": "9466:16:25" + } + ], + "id": 8248, + "name": "MemberAccess", + "src": "9466:20:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8220, + "type": "uint256", + "value": "_numOfAgreedPeriods" + }, + "id": 8249, + "name": "Identifier", + "src": "9487:19:25" + } + ], + "id": 8250, + "name": "FunctionCall", + "src": "9466:41:25" + } + ], + "id": 8251, + "name": "VariableDeclarationStatement", + "src": "9447:60:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_contract$_VestingScheme_$8608", + "typeString": "contract VestingScheme" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transferFrom", + "referencedDeclaration": 9554, + "type": "function (address,address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8208, + "type": "contract StandardToken", + "value": "_token" + }, + "id": 8252, + "name": "Identifier", + "src": "9518:6:25" + } + ], + "id": 8254, + "name": "MemberAccess", + "src": "9518:19:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 8255, + "name": "Identifier", + "src": "9538:3:25" + } + ], + "id": 8256, + "name": "MemberAccess", + "src": "9538:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9821, + "type": "contract VestingScheme", + "value": "this" + }, + "id": 8257, + "name": "Identifier", + "src": "9550:4:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8246, + "type": "uint256", + "value": "totalAmount" + }, + "id": 8258, + "name": "Identifier", + "src": "9556:11:25" + } + ], + "id": 8259, + "name": "FunctionCall", + "src": "9518:50:25" + } + ], + "id": 8260, + "name": "ExpressionStatement", + "src": "9518:50:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "token", + "referencedDeclaration": 7767, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8261, + "name": "Identifier", + "src": "9611:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8262, + "name": "Identifier", + "src": "9622:17:25" + } + ], + "id": 8263, + "name": "IndexAccess", + "src": "9611:29:25" + } + ], + "id": 8264, + "name": "MemberAccess", + "src": "9611:35:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8208, + "type": "contract StandardToken", + "value": "_token" + }, + "id": 8265, + "name": "Identifier", + "src": "9649:6:25" + } + ], + "id": 8266, + "name": "Assignment", + "src": "9611:44:25" + } + ], + "id": 8267, + "name": "ExpressionStatement", + "src": "9611:44:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "beneficiary", + "referencedDeclaration": 7769, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8268, + "name": "Identifier", + "src": "9666:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8269, + "name": "Identifier", + "src": "9677:17:25" + } + ], + "id": 8270, + "name": "IndexAccess", + "src": "9666:29:25" + } + ], + "id": 8271, + "name": "MemberAccess", + "src": "9666:41:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8210, + "type": "address", + "value": "_beneficiary" + }, + "id": 8272, + "name": "Identifier", + "src": "9710:12:25" + } + ], + "id": 8273, + "name": "Assignment", + "src": "9666:56:25" + } + ], + "id": 8274, + "name": "ExpressionStatement", + "src": "9666:56:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "returnOnCancelAddress", + "referencedDeclaration": 7771, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8275, + "name": "Identifier", + "src": "9733:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8276, + "name": "Identifier", + "src": "9744:17:25" + } + ], + "id": 8277, + "name": "IndexAccess", + "src": "9733:29:25" + } + ], + "id": 8278, + "name": "MemberAccess", + "src": "9733:51:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8212, + "type": "address", + "value": "_returnOnCancelAddress" + }, + "id": 8279, + "name": "Identifier", + "src": "9787:22:25" + } + ], + "id": 8280, + "name": "Assignment", + "src": "9733:76:25" + } + ], + "id": 8281, + "name": "ExpressionStatement", + "src": "9733:76:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "startingBlock", + "referencedDeclaration": 7773, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8282, + "name": "Identifier", + "src": "9820:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8283, + "name": "Identifier", + "src": "9831:17:25" + } + ], + "id": 8284, + "name": "IndexAccess", + "src": "9820:29:25" + } + ], + "id": 8285, + "name": "MemberAccess", + "src": "9820:43:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8214, + "type": "uint256", + "value": "_startingBlock" + }, + "id": 8286, + "name": "Identifier", + "src": "9866:14:25" + } + ], + "id": 8287, + "name": "Assignment", + "src": "9820:60:25" + } + ], + "id": 8288, + "name": "ExpressionStatement", + "src": "9820:60:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "amountPerPeriod", + "referencedDeclaration": 7775, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8289, + "name": "Identifier", + "src": "9891:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8290, + "name": "Identifier", + "src": "9902:17:25" + } + ], + "id": 8291, + "name": "IndexAccess", + "src": "9891:29:25" + } + ], + "id": 8292, + "name": "MemberAccess", + "src": "9891:45:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8216, + "type": "uint256", + "value": "_amountPerPeriod" + }, + "id": 8293, + "name": "Identifier", + "src": "9939:16:25" + } + ], + "id": 8294, + "name": "Assignment", + "src": "9891:64:25" + } + ], + "id": 8295, + "name": "ExpressionStatement", + "src": "9891:64:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "periodLength", + "referencedDeclaration": 7777, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8296, + "name": "Identifier", + "src": "9966:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8297, + "name": "Identifier", + "src": "9977:17:25" + } + ], + "id": 8298, + "name": "IndexAccess", + "src": "9966:29:25" + } + ], + "id": 8299, + "name": "MemberAccess", + "src": "9966:42:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8218, + "type": "uint256", + "value": "_periodLength" + }, + "id": 8300, + "name": "Identifier", + "src": "10011:13:25" + } + ], + "id": 8301, + "name": "Assignment", + "src": "9966:58:25" + } + ], + "id": 8302, + "name": "ExpressionStatement", + "src": "9966:58:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "numOfAgreedPeriods", + "referencedDeclaration": 7779, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8303, + "name": "Identifier", + "src": "10035:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8304, + "name": "Identifier", + "src": "10046:17:25" + } + ], + "id": 8305, + "name": "IndexAccess", + "src": "10035:29:25" + } + ], + "id": 8306, + "name": "MemberAccess", + "src": "10035:48:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8220, + "type": "uint256", + "value": "_numOfAgreedPeriods" + }, + "id": 8307, + "name": "Identifier", + "src": "10086:19:25" + } + ], + "id": 8308, + "name": "Assignment", + "src": "10035:70:25" + } + ], + "id": 8309, + "name": "ExpressionStatement", + "src": "10035:70:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "cliffInPeriods", + "referencedDeclaration": 7781, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8310, + "name": "Identifier", + "src": "10116:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8311, + "name": "Identifier", + "src": "10127:17:25" + } + ], + "id": 8312, + "name": "IndexAccess", + "src": "10116:29:25" + } + ], + "id": 8313, + "name": "MemberAccess", + "src": "10116:44:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8222, + "type": "uint256", + "value": "_cliffInPeriods" + }, + "id": 8314, + "name": "Identifier", + "src": "10163:15:25" + } + ], + "id": 8315, + "name": "Assignment", + "src": "10116:62:25" + } + ], + "id": 8316, + "name": "ExpressionStatement", + "src": "10116:62:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "signaturesReqToCancel", + "referencedDeclaration": 7783, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8317, + "name": "Identifier", + "src": "10189:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8318, + "name": "Identifier", + "src": "10200:17:25" + } + ], + "id": 8319, + "name": "IndexAccess", + "src": "10189:29:25" + } + ], + "id": 8320, + "name": "MemberAccess", + "src": "10189:51:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8224, + "type": "uint256", + "value": "_signaturesReqToCancel" + }, + "id": 8321, + "name": "Identifier", + "src": "10243:22:25" + } + ], + "id": 8322, + "name": "Assignment", + "src": "10189:76:25" + } + ], + "id": 8323, + "name": "ExpressionStatement", + "src": "10189:76:25" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 8325 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "cnt", + "scope": 8363, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8324, + "name": "ElementaryTypeName", + "src": "10322:4:25" + } + ], + "id": 8325, + "name": "VariableDeclaration", + "src": "10322:8:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 8326, + "name": "Literal", + "src": "10333:1:25" + } + ], + "id": 8327, + "name": "VariableDeclarationStatement", + "src": "10322:12:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "<", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8325, + "type": "uint256", + "value": "cnt" + }, + "id": 8328, + "name": "Identifier", + "src": "10336:3:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "length", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8227, + "type": "address[] calldata", + "value": "_signersArray" + }, + "id": 8329, + "name": "Identifier", + "src": "10340:13:25" + } + ], + "id": 8330, + "name": "MemberAccess", + "src": "10340:20:25" + } + ], + "id": 8331, + "name": "BinaryOperation", + "src": "10336:24:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8325, + "type": "uint256", + "value": "cnt" + }, + "id": 8332, + "name": "Identifier", + "src": "10362:3:25" + } + ], + "id": 8333, + "name": "UnaryOperation", + "src": "10362:5:25" + } + ], + "id": 8334, + "name": "ExpressionStatement", + "src": "10362:5:25" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "signers", + "referencedDeclaration": 7791, + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8335, + "name": "Identifier", + "src": "10384:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8336, + "name": "Identifier", + "src": "10395:17:25" + } + ], + "id": 8337, + "name": "IndexAccess", + "src": "10384:29:25" + } + ], + "id": 8338, + "name": "MemberAccess", + "src": "10384:37:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8227, + "type": "address[] calldata", + "value": "_signersArray" + }, + "id": 8339, + "name": "Identifier", + "src": "10422:13:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8325, + "type": "uint256", + "value": "cnt" + }, + "id": 8340, + "name": "Identifier", + "src": "10436:3:25" + } + ], + "id": 8341, + "name": "IndexAccess", + "src": "10422:18:25" + } + ], + "id": 8342, + "name": "IndexAccess", + "src": "10384:57:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 8343, + "name": "Literal", + "src": "10444:4:25" + } + ], + "id": 8344, + "name": "Assignment", + "src": "10384:64:25" + } + ], + "id": 8345, + "name": "ExpressionStatement", + "src": "10384:64:25" + } + ], + "id": 8346, + "name": "Block", + "src": "10369:91:25" + } + ], + "id": 8347, + "name": "ForStatement", + "src": "10317:143:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8348, + "name": "Identifier", + "src": "10518:17:25" + } + ], + "id": 8349, + "name": "UnaryOperation", + "src": "10518:19:25" + } + ], + "id": 8350, + "name": "ExpressionStatement", + "src": "10518:19:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7745, + "type": "function (uint256)", + "value": "NewVestedAgreement" + }, + "id": 8351, + "name": "Identifier", + "src": "10595:18:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "-", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8352, + "name": "Identifier", + "src": "10614:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 8353, + "name": "Literal", + "src": "10632:1:25" + } + ], + "id": 8354, + "name": "BinaryOperation", + "src": "10614:19:25" + } + ], + "id": 8355, + "name": "FunctionCall", + "src": "10595:39:25" + } + ], + "id": 8356, + "name": "ExpressionStatement", + "src": "10595:39:25" + }, + { + "attributes": { + "functionReturnParameters": 8231 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "-", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7817, + "type": "uint256", + "value": "agreementsCounter" + }, + "id": 8357, + "name": "Identifier", + "src": "10652:17:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 8358, + "name": "Literal", + "src": "10670:1:25" + } + ], + "id": 8359, + "name": "BinaryOperation", + "src": "10652:19:25" + } + ], + "id": 8360, + "name": "TupleExpression", + "src": "10651:21:25" + } + ], + "id": 8361, + "name": "Return", + "src": "10645:27:25" + } + ], + "id": 8362, + "name": "Block", + "src": "9308:1372:25" + } + ], + "id": 8363, + "name": "FunctionDefinition", + "src": "8892:1788:25" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "signToCancelAgreement", + "payable": false, + "scope": 8608, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_agreementId", + "scope": 8418, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8364, + "name": "ElementaryTypeName", + "src": "10840:4:25" + } + ], + "id": 8365, + "name": "VariableDeclaration", + "src": "10840:17:25" + } + ], + "id": 8366, + "name": "ParameterList", + "src": "10839:19:25" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 8370, + "name": "ParameterList", + "src": "10891:0:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7833, + "type": "modifier (uint256)", + "value": "onlySigner" + }, + "id": 8367, + "name": "Identifier", + "src": "10866:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8365, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8368, + "name": "Identifier", + "src": "10877:12:25" + } + ], + "id": 8369, + "name": "ModifierInvocation", + "src": "10866:24:25" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 8372 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "agreement", + "scope": 8418, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct VestingScheme.Agreement storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Agreement", + "referencedDeclaration": 7796, + "type": "struct VestingScheme.Agreement storage pointer" + }, + "id": 8371, + "name": "UserDefinedTypeName", + "src": "10902:9:25" + } + ], + "id": 8372, + "name": "VariableDeclaration", + "src": "10902:27:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8373, + "name": "Identifier", + "src": "10932:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8365, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8374, + "name": "Identifier", + "src": "10943:12:25" + } + ], + "id": 8375, + "name": "IndexAccess", + "src": "10932:24:25" + } + ], + "id": 8376, + "name": "VariableDeclarationStatement", + "src": "10902:54:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 8377, + "name": "Identifier", + "src": "11011:7:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!", + "prefix": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "signaturesReceived", + "referencedDeclaration": 7795, + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8372, + "type": "struct VestingScheme.Agreement storage pointer", + "value": "agreement" + }, + "id": 8378, + "name": "Identifier", + "src": "11021:9:25" + } + ], + "id": 8379, + "name": "MemberAccess", + "src": "11021:28:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 8380, + "name": "Identifier", + "src": "11050:3:25" + } + ], + "id": 8381, + "name": "MemberAccess", + "src": "11050:10:25" + } + ], + "id": 8382, + "name": "IndexAccess", + "src": "11021:40:25" + } + ], + "id": 8383, + "name": "UnaryOperation", + "src": "11019:42:25" + } + ], + "id": 8384, + "name": "FunctionCall", + "src": "11011:51:25" + } + ], + "id": 8385, + "name": "ExpressionStatement", + "src": "11011:51:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "signaturesReceived", + "referencedDeclaration": 7795, + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8372, + "type": "struct VestingScheme.Agreement storage pointer", + "value": "agreement" + }, + "id": 8386, + "name": "Identifier", + "src": "11093:9:25" + } + ], + "id": 8390, + "name": "MemberAccess", + "src": "11093:28:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 8388, + "name": "Identifier", + "src": "11122:3:25" + } + ], + "id": 8389, + "name": "MemberAccess", + "src": "11122:10:25" + } + ], + "id": 8391, + "name": "IndexAccess", + "src": "11093:40:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 8392, + "name": "Literal", + "src": "11136:4:25" + } + ], + "id": 8393, + "name": "Assignment", + "src": "11093:47:25" + } + ], + "id": 8394, + "name": "ExpressionStatement", + "src": "11093:47:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "++", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "signaturesReceivedCounter", + "referencedDeclaration": 7787, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8372, + "type": "struct VestingScheme.Agreement storage pointer", + "value": "agreement" + }, + "id": 8395, + "name": "Identifier", + "src": "11151:9:25" + } + ], + "id": 8397, + "name": "MemberAccess", + "src": "11151:35:25" + } + ], + "id": 8398, + "name": "UnaryOperation", + "src": "11151:37:25" + } + ], + "id": 8399, + "name": "ExpressionStatement", + "src": "11151:37:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7751, + "type": "function (uint256,address)", + "value": "SignToCancelAgreement" + }, + "id": 8400, + "name": "Identifier", + "src": "11201:21:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8365, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8401, + "name": "Identifier", + "src": "11223:12:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 8402, + "name": "Identifier", + "src": "11236:3:25" + } + ], + "id": 8403, + "name": "MemberAccess", + "src": "11236:10:25" + } + ], + "id": 8404, + "name": "FunctionCall", + "src": "11201:46:25" + } + ], + "id": 8405, + "name": "ExpressionStatement", + "src": "11201:46:25" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "signaturesReceivedCounter", + "referencedDeclaration": 7787, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8372, + "type": "struct VestingScheme.Agreement storage pointer", + "value": "agreement" + }, + "id": 8406, + "name": "Identifier", + "src": "11305:9:25" + } + ], + "id": 8407, + "name": "MemberAccess", + "src": "11305:35:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "signaturesReqToCancel", + "referencedDeclaration": 7783, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8372, + "type": "struct VestingScheme.Agreement storage pointer", + "value": "agreement" + }, + "id": 8408, + "name": "Identifier", + "src": "11344:9:25" + } + ], + "id": 8409, + "name": "MemberAccess", + "src": "11344:31:25" + } + ], + "id": 8410, + "name": "BinaryOperation", + "src": "11305:70:25" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8607, + "type": "function (uint256)", + "value": "cancelAgreement" + }, + "id": 8411, + "name": "Identifier", + "src": "11392:15:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8365, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8412, + "name": "Identifier", + "src": "11408:12:25" + } + ], + "id": 8413, + "name": "FunctionCall", + "src": "11392:29:25" + } + ], + "id": 8414, + "name": "ExpressionStatement", + "src": "11392:29:25" + } + ], + "id": 8415, + "name": "Block", + "src": "11377:56:25" + } + ], + "id": 8416, + "name": "IfStatement", + "src": "11301:132:25" + } + ], + "id": 8417, + "name": "Block", + "src": "10891:549:25" + } + ], + "id": 8418, + "name": "FunctionDefinition", + "src": "10809:631:25" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "revokeSignToCancelAgreement", + "payable": false, + "scope": 8608, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_agreementId", + "scope": 8461, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8419, + "name": "ElementaryTypeName", + "src": "11614:4:25" + } + ], + "id": 8420, + "name": "VariableDeclaration", + "src": "11614:17:25" + } + ], + "id": 8421, + "name": "ParameterList", + "src": "11613:19:25" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 8425, + "name": "ParameterList", + "src": "11665:0:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7833, + "type": "modifier (uint256)", + "value": "onlySigner" + }, + "id": 8422, + "name": "Identifier", + "src": "11640:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8420, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8423, + "name": "Identifier", + "src": "11651:12:25" + } + ], + "id": 8424, + "name": "ModifierInvocation", + "src": "11640:24:25" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 8427 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "agreement", + "scope": 8461, + "stateVariable": false, + "storageLocation": "storage", + "type": "struct VestingScheme.Agreement storage pointer", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Agreement", + "referencedDeclaration": 7796, + "type": "struct VestingScheme.Agreement storage pointer" + }, + "id": 8426, + "name": "UserDefinedTypeName", + "src": "11676:9:25" + } + ], + "id": 8427, + "name": "VariableDeclaration", + "src": "11676:27:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8428, + "name": "Identifier", + "src": "11706:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8420, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8429, + "name": "Identifier", + "src": "11717:12:25" + } + ], + "id": 8430, + "name": "IndexAccess", + "src": "11706:24:25" + } + ], + "id": 8431, + "name": "VariableDeclarationStatement", + "src": "11676:54:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 8432, + "name": "Identifier", + "src": "11778:7:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "signaturesReceived", + "referencedDeclaration": 7795, + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8427, + "type": "struct VestingScheme.Agreement storage pointer", + "value": "agreement" + }, + "id": 8433, + "name": "Identifier", + "src": "11786:9:25" + } + ], + "id": 8434, + "name": "MemberAccess", + "src": "11786:28:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 8435, + "name": "Identifier", + "src": "11815:3:25" + } + ], + "id": 8436, + "name": "MemberAccess", + "src": "11815:10:25" + } + ], + "id": 8437, + "name": "IndexAccess", + "src": "11786:40:25" + } + ], + "id": 8438, + "name": "FunctionCall", + "src": "11778:49:25" + } + ], + "id": 8439, + "name": "ExpressionStatement", + "src": "11778:49:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "signaturesReceived", + "referencedDeclaration": 7795, + "type": "mapping(address => bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8427, + "type": "struct VestingScheme.Agreement storage pointer", + "value": "agreement" + }, + "id": 8440, + "name": "Identifier", + "src": "11870:9:25" + } + ], + "id": 8444, + "name": "MemberAccess", + "src": "11870:28:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 8442, + "name": "Identifier", + "src": "11899:3:25" + } + ], + "id": 8443, + "name": "MemberAccess", + "src": "11899:10:25" + } + ], + "id": 8445, + "name": "IndexAccess", + "src": "11870:40:25" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "66616c7365", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "false" + }, + "id": 8446, + "name": "Literal", + "src": "11913:5:25" + } + ], + "id": 8447, + "name": "Assignment", + "src": "11870:48:25" + } + ], + "id": 8448, + "name": "ExpressionStatement", + "src": "11870:48:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "--", + "prefix": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "signaturesReceivedCounter", + "referencedDeclaration": 7787, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8427, + "type": "struct VestingScheme.Agreement storage pointer", + "value": "agreement" + }, + "id": 8449, + "name": "Identifier", + "src": "11929:9:25" + } + ], + "id": 8451, + "name": "MemberAccess", + "src": "11929:35:25" + } + ], + "id": 8452, + "name": "UnaryOperation", + "src": "11929:37:25" + } + ], + "id": 8453, + "name": "ExpressionStatement", + "src": "11929:37:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7757, + "type": "function (uint256,address)", + "value": "RevokeSignToCancelAgreement" + }, + "id": 8454, + "name": "Identifier", + "src": "11979:27:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8420, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8455, + "name": "Identifier", + "src": "12007:12:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 8456, + "name": "Identifier", + "src": "12020:3:25" + } + ], + "id": 8457, + "name": "MemberAccess", + "src": "12020:10:25" + } + ], + "id": 8458, + "name": "FunctionCall", + "src": "11979:52:25" + } + ], + "id": 8459, + "name": "ExpressionStatement", + "src": "11979:52:25" + } + ], + "id": 8460, + "name": "Block", + "src": "11665:374:25" + } + ], + "id": 8461, + "name": "FunctionDefinition", + "src": "11577:462:25" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "collect", + "payable": false, + "scope": 8608, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_agreementId", + "scope": 8559, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8462, + "name": "ElementaryTypeName", + "src": "12183:4:25" + } + ], + "id": 8463, + "name": "VariableDeclaration", + "src": "12183:17:25" + } + ], + "id": 8464, + "name": "ParameterList", + "src": "12182:19:25" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 8468, + "name": "ParameterList", + "src": "12239:0:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7849, + "type": "modifier (uint256)", + "value": "onlyBeneficiary" + }, + "id": 8465, + "name": "Identifier", + "src": "12209:15:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8463, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8466, + "name": "Identifier", + "src": "12225:12:25" + } + ], + "id": 8467, + "name": "ModifierInvocation", + "src": "12209:29:25" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 8470 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "agreement", + "scope": 8559, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct VestingScheme.Agreement memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Agreement", + "referencedDeclaration": 7796, + "type": "struct VestingScheme.Agreement storage pointer" + }, + "id": 8469, + "name": "UserDefinedTypeName", + "src": "12250:9:25" + } + ], + "id": 8470, + "name": "VariableDeclaration", + "src": "12250:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8471, + "name": "Identifier", + "src": "12279:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8463, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8472, + "name": "Identifier", + "src": "12290:12:25" + } + ], + "id": 8473, + "name": "IndexAccess", + "src": "12279:24:25" + } + ], + "id": 8474, + "name": "VariableDeclarationStatement", + "src": "12250:53:25" + }, + { + "attributes": { + "assignments": [ + 8476 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "periodsFromStartingBlock", + "scope": 8559, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8475, + "name": "ElementaryTypeName", + "src": "12314:4:25" + } + ], + "id": 8476, + "name": "VariableDeclaration", + "src": "12314:29:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "div", + "referencedDeclaration": 9039, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isInlineArray": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "number", + "referencedDeclaration": null, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9728, + "type": "block", + "value": "block" + }, + "id": 8477, + "name": "Identifier", + "src": "12347:5:25" + } + ], + "id": 8478, + "name": "MemberAccess", + "src": "12347:12:25" + } + ], + "id": 8479, + "name": "MemberAccess", + "src": "12347:16:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "startingBlock", + "referencedDeclaration": 7773, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8470, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8480, + "name": "Identifier", + "src": "12364:9:25" + } + ], + "id": 8481, + "name": "MemberAccess", + "src": "12364:23:25" + } + ], + "id": 8482, + "name": "FunctionCall", + "src": "12347:41:25" + } + ], + "id": 8483, + "name": "TupleExpression", + "src": "12346:43:25" + } + ], + "id": 8484, + "name": "MemberAccess", + "src": "12346:47:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "periodLength", + "referencedDeclaration": 7777, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8470, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8485, + "name": "Identifier", + "src": "12394:9:25" + } + ], + "id": 8486, + "name": "MemberAccess", + "src": "12394:22:25" + } + ], + "id": 8487, + "name": "FunctionCall", + "src": "12346:71:25" + } + ], + "id": 8488, + "name": "VariableDeclarationStatement", + "src": "12314:103:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9727, + "type": "function (bool) pure", + "value": "assert" + }, + "id": 8489, + "name": "Identifier", + "src": "12428:6:25" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8476, + "type": "uint256", + "value": "periodsFromStartingBlock" + }, + "id": 8490, + "name": "Identifier", + "src": "12435:24:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "cliffInPeriods", + "referencedDeclaration": 7781, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8470, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8491, + "name": "Identifier", + "src": "12463:9:25" + } + ], + "id": 8492, + "name": "MemberAccess", + "src": "12463:24:25" + } + ], + "id": 8493, + "name": "BinaryOperation", + "src": "12435:52:25" + } + ], + "id": 8494, + "name": "FunctionCall", + "src": "12428:60:25" + } + ], + "id": 8495, + "name": "ExpressionStatement", + "src": "12428:60:25" + }, + { + "attributes": { + "assignments": [ + null + ], + "initialValue": null + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "periodsToPay", + "scope": 8559, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8496, + "name": "ElementaryTypeName", + "src": "12537:4:25" + } + ], + "id": 8497, + "name": "VariableDeclaration", + "src": "12537:17:25" + } + ], + "id": 8498, + "name": "VariableDeclarationStatement", + "src": "12537:17:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": ">=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8476, + "type": "uint256", + "value": "periodsFromStartingBlock" + }, + "id": 8499, + "name": "Identifier", + "src": "12569:24:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfAgreedPeriods", + "referencedDeclaration": 7779, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8470, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8500, + "name": "Identifier", + "src": "12597:9:25" + } + ], + "id": 8501, + "name": "MemberAccess", + "src": "12597:28:25" + } + ], + "id": 8502, + "name": "BinaryOperation", + "src": "12569:56:25" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8497, + "type": "uint256", + "value": "periodsToPay" + }, + "id": 8503, + "name": "Identifier", + "src": "12642:12:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfAgreedPeriods", + "referencedDeclaration": 7779, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8470, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8504, + "name": "Identifier", + "src": "12657:9:25" + } + ], + "id": 8505, + "name": "MemberAccess", + "src": "12657:28:25" + } + ], + "id": 8506, + "name": "MemberAccess", + "src": "12657:32:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "collectedPeriods", + "referencedDeclaration": 7785, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8470, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8507, + "name": "Identifier", + "src": "12690:9:25" + } + ], + "id": 8508, + "name": "MemberAccess", + "src": "12690:26:25" + } + ], + "id": 8509, + "name": "FunctionCall", + "src": "12657:60:25" + } + ], + "id": 8510, + "name": "Assignment", + "src": "12642:75:25" + } + ], + "id": 8511, + "name": "ExpressionStatement", + "src": "12642:75:25" + } + ], + "id": 8512, + "name": "Block", + "src": "12627:102:25" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8497, + "type": "uint256", + "value": "periodsToPay" + }, + "id": 8513, + "name": "Identifier", + "src": "12750:12:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8476, + "type": "uint256", + "value": "periodsFromStartingBlock" + }, + "id": 8514, + "name": "Identifier", + "src": "12765:24:25" + } + ], + "id": 8515, + "name": "MemberAccess", + "src": "12765:28:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "collectedPeriods", + "referencedDeclaration": 7785, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8470, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8516, + "name": "Identifier", + "src": "12794:9:25" + } + ], + "id": 8517, + "name": "MemberAccess", + "src": "12794:26:25" + } + ], + "id": 8518, + "name": "FunctionCall", + "src": "12765:56:25" + } + ], + "id": 8519, + "name": "Assignment", + "src": "12750:71:25" + } + ], + "id": 8520, + "name": "ExpressionStatement", + "src": "12750:71:25" + } + ], + "id": 8521, + "name": "Block", + "src": "12735:98:25" + } + ], + "id": 8522, + "name": "IfStatement", + "src": "12565:268:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "collectedPeriods", + "referencedDeclaration": 7785, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8523, + "name": "Identifier", + "src": "12876:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8463, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8524, + "name": "Identifier", + "src": "12887:12:25" + } + ], + "id": 8525, + "name": "IndexAccess", + "src": "12876:24:25" + } + ], + "id": 8526, + "name": "MemberAccess", + "src": "12876:41:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "add", + "referencedDeclaration": 9083, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "collectedPeriods", + "referencedDeclaration": 7785, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8527, + "name": "Identifier", + "src": "12920:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8463, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8528, + "name": "Identifier", + "src": "12931:12:25" + } + ], + "id": 8529, + "name": "IndexAccess", + "src": "12920:24:25" + } + ], + "id": 8530, + "name": "MemberAccess", + "src": "12920:41:25" + } + ], + "id": 8531, + "name": "MemberAccess", + "src": "12920:45:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8497, + "type": "uint256", + "value": "periodsToPay" + }, + "id": 8532, + "name": "Identifier", + "src": "12966:12:25" + } + ], + "id": 8533, + "name": "FunctionCall", + "src": "12920:59:25" + } + ], + "id": 8534, + "name": "Assignment", + "src": "12876:103:25" + } + ], + "id": 8535, + "name": "ExpressionStatement", + "src": "12876:103:25" + }, + { + "attributes": { + "assignments": [ + 8537 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "tokensToTransfer", + "scope": 8559, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8536, + "name": "ElementaryTypeName", + "src": "13014:4:25" + } + ], + "id": 8537, + "name": "VariableDeclaration", + "src": "13014:21:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 9021, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8497, + "type": "uint256", + "value": "periodsToPay" + }, + "id": 8538, + "name": "Identifier", + "src": "13038:12:25" + } + ], + "id": 8539, + "name": "MemberAccess", + "src": "13038:16:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "amountPerPeriod", + "referencedDeclaration": 7775, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8470, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8540, + "name": "Identifier", + "src": "13055:9:25" + } + ], + "id": 8541, + "name": "MemberAccess", + "src": "13055:25:25" + } + ], + "id": 8542, + "name": "FunctionCall", + "src": "13038:43:25" + } + ], + "id": 8543, + "name": "VariableDeclarationStatement", + "src": "13014:67:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 9213, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "token", + "referencedDeclaration": 7767, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8470, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8544, + "name": "Identifier", + "src": "13092:9:25" + } + ], + "id": 8547, + "name": "MemberAccess", + "src": "13092:15:25" + } + ], + "id": 8548, + "name": "MemberAccess", + "src": "13092:24:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "beneficiary", + "referencedDeclaration": 7769, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8470, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8549, + "name": "Identifier", + "src": "13117:9:25" + } + ], + "id": 8550, + "name": "MemberAccess", + "src": "13117:21:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8537, + "type": "uint256", + "value": "tokensToTransfer" + }, + "id": 8551, + "name": "Identifier", + "src": "13140:16:25" + } + ], + "id": 8552, + "name": "FunctionCall", + "src": "13092:65:25" + } + ], + "id": 8553, + "name": "ExpressionStatement", + "src": "13092:65:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7765, + "type": "function (uint256)", + "value": "LogCollect" + }, + "id": 8554, + "name": "Identifier", + "src": "13197:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8463, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8555, + "name": "Identifier", + "src": "13208:12:25" + } + ], + "id": 8556, + "name": "FunctionCall", + "src": "13197:24:25" + } + ], + "id": 8557, + "name": "ExpressionStatement", + "src": "13197:24:25" + } + ], + "id": 8558, + "name": "Block", + "src": "12239:990:25" + } + ], + "id": 8559, + "name": "FunctionDefinition", + "src": "12166:1063:25" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "cancelAgreement", + "payable": false, + "scope": 8608, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "internal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_agreementId", + "scope": 8607, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8560, + "name": "ElementaryTypeName", + "src": "13385:4:25" + } + ], + "id": 8561, + "name": "VariableDeclaration", + "src": "13385:17:25" + } + ], + "id": 8562, + "name": "ParameterList", + "src": "13384:19:25" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 8563, + "name": "ParameterList", + "src": "13413:0:25" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 8565 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "agreement", + "scope": 8607, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct VestingScheme.Agreement memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Agreement", + "referencedDeclaration": 7796, + "type": "struct VestingScheme.Agreement storage pointer" + }, + "id": 8564, + "name": "UserDefinedTypeName", + "src": "13424:9:25" + } + ], + "id": 8565, + "name": "VariableDeclaration", + "src": "13424:26:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8566, + "name": "Identifier", + "src": "13453:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8561, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8567, + "name": "Identifier", + "src": "13464:12:25" + } + ], + "id": 8568, + "name": "IndexAccess", + "src": "13453:24:25" + } + ], + "id": 8569, + "name": "VariableDeclarationStatement", + "src": "13424:53:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct VestingScheme.Agreement storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7815, + "type": "mapping(uint256 => struct VestingScheme.Agreement storage ref)", + "value": "agreements" + }, + "id": 8570, + "name": "Identifier", + "src": "13496:10:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8561, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8571, + "name": "Identifier", + "src": "13507:12:25" + } + ], + "id": 8572, + "name": "IndexAccess", + "src": "13496:24:25" + } + ], + "id": 8573, + "name": "UnaryOperation", + "src": "13488:32:25" + } + ], + "id": 8574, + "name": "ExpressionStatement", + "src": "13488:32:25" + }, + { + "attributes": { + "assignments": [ + 8576 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "periodsLeft", + "scope": 8607, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8575, + "name": "ElementaryTypeName", + "src": "13531:4:25" + } + ], + "id": 8576, + "name": "VariableDeclaration", + "src": "13531:16:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sub", + "referencedDeclaration": 9059, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "numOfAgreedPeriods", + "referencedDeclaration": 7779, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8565, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8577, + "name": "Identifier", + "src": "13550:9:25" + } + ], + "id": 8578, + "name": "MemberAccess", + "src": "13550:28:25" + } + ], + "id": 8579, + "name": "MemberAccess", + "src": "13550:32:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "collectedPeriods", + "referencedDeclaration": 7785, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8565, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8580, + "name": "Identifier", + "src": "13583:9:25" + } + ], + "id": 8581, + "name": "MemberAccess", + "src": "13583:26:25" + } + ], + "id": 8582, + "name": "FunctionCall", + "src": "13550:60:25" + } + ], + "id": 8583, + "name": "VariableDeclarationStatement", + "src": "13531:79:25" + }, + { + "attributes": { + "assignments": [ + 8585 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "tokensLeft", + "scope": 8607, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8584, + "name": "ElementaryTypeName", + "src": "13621:4:25" + } + ], + "id": 8585, + "name": "VariableDeclaration", + "src": "13621:15:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "mul", + "referencedDeclaration": 9021, + "type": "function (uint256,uint256) pure returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8576, + "type": "uint256", + "value": "periodsLeft" + }, + "id": 8586, + "name": "Identifier", + "src": "13639:11:25" + } + ], + "id": 8587, + "name": "MemberAccess", + "src": "13639:15:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "amountPerPeriod", + "referencedDeclaration": 7775, + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8565, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8588, + "name": "Identifier", + "src": "13655:9:25" + } + ], + "id": 8589, + "name": "MemberAccess", + "src": "13655:25:25" + } + ], + "id": 8590, + "name": "FunctionCall", + "src": "13639:42:25" + } + ], + "id": 8591, + "name": "VariableDeclarationStatement", + "src": "13621:60:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "transfer", + "referencedDeclaration": 9213, + "type": "function (address,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "token", + "referencedDeclaration": 7767, + "type": "contract StandardToken" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8565, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8592, + "name": "Identifier", + "src": "13692:9:25" + } + ], + "id": 8595, + "name": "MemberAccess", + "src": "13692:15:25" + } + ], + "id": 8596, + "name": "MemberAccess", + "src": "13692:24:25" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "returnOnCancelAddress", + "referencedDeclaration": 7771, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8565, + "type": "struct VestingScheme.Agreement memory", + "value": "agreement" + }, + "id": 8597, + "name": "Identifier", + "src": "13717:9:25" + } + ], + "id": 8598, + "name": "MemberAccess", + "src": "13717:31:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8585, + "type": "uint256", + "value": "tokensLeft" + }, + "id": 8599, + "name": "Identifier", + "src": "13750:10:25" + } + ], + "id": 8600, + "name": "FunctionCall", + "src": "13692:69:25" + } + ], + "id": 8601, + "name": "ExpressionStatement", + "src": "13692:69:25" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7761, + "type": "function (uint256)", + "value": "LogAgreementCancel" + }, + "id": 8602, + "name": "Identifier", + "src": "13809:18:25" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8561, + "type": "uint256", + "value": "_agreementId" + }, + "id": 8603, + "name": "Identifier", + "src": "13828:12:25" + } + ], + "id": 8604, + "name": "FunctionCall", + "src": "13809:32:25" + } + ], + "id": 8605, + "name": "ExpressionStatement", + "src": "13809:32:25" + } + ], + "id": 8606, + "name": "Block", + "src": "13413:436:25" + } + ], + "id": 8607, + "name": "FunctionDefinition", + "src": "13360:489:25" + } + ], + "id": 8608, + "name": "ContractDefinition", + "src": "230:13622:25" + } + ], + "id": 8609, + "name": "SourceUnit", + "src": "0:13854:25" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.993Z" +} \ No newline at end of file diff --git a/contracts/VoteInOrganizationScheme.json b/contracts/VoteInOrganizationScheme.json new file mode 100644 index 000000000..521011ad0 --- /dev/null +++ b/contracts/VoteInOrganizationScheme.json @@ -0,0 +1,5444 @@ +{ + "contractName": "VoteInOrganizationScheme", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "parameters", + "outputs": [ + { + "name": "intVote", + "type": "address" + }, + { + "name": "voteParams", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + }, + { + "name": "", + "type": "bytes32" + } + ], + "name": "organizationsData", + "outputs": [ + { + "name": "originalIntVote", + "type": "address" + }, + { + "name": "originalProposalId", + "type": "bytes32" + }, + { + "name": "originalNumOfChoices", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_voteParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "getParametersHash", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "pure", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_proposalId", + "type": "bytes32" + }, + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_param", + "type": "int256" + } + ], + "name": "execute", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "beneficiary", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + }, + { + "name": "_hashedParameters", + "type": "bytes32" + } + ], + "name": "updateParameters", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + }, + { + "name": "_originalIntVote", + "type": "address" + }, + { + "name": "_originalProposalId", + "type": "bytes32" + } + ], + "name": "proposeVote", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "organizations", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_voteParams", + "type": "bytes32" + }, + { + "name": "_intVote", + "type": "address" + } + ], + "name": "setParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_params", + "type": "bytes32[]" + } + ], + "name": "action", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "owner", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "registerOrganization", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_avatar", + "type": "address" + } + ], + "name": "isRegistered", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "fee", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "nativeToken", + "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" + }, + { + "constant": true, + "inputs": [], + "name": "hashedParameters", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "name": "_nativeToken", + "type": "address" + }, + { + "name": "_fee", + "type": "uint256" + }, + { + "name": "_beneficiary", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + }, + { + "indexed": true, + "name": "_intVoteInterface", + "type": "address" + }, + { + "indexed": false, + "name": "_originalIntVote", + "type": "address" + }, + { + "indexed": false, + "name": "_originalProposalId", + "type": "bytes32" + }, + { + "indexed": false, + "name": "_originalNumOfChoices", + "type": "uint256" + } + ], + "name": "NewVoteProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "ProposalExecuted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "_avatar", + "type": "address" + }, + { + "indexed": true, + "name": "_proposalId", + "type": "bytes32" + } + ], + "name": "ProposalDeleted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "_avatar", + "type": "address" + } + ], + "name": "OrganizationRegistered", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proposalId", + "type": "bytes32" + } + ], + "name": "LogNewProposal", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + } + ], + "bytecode": "0x6060604052341561000f57600080fd5b604051606080610f2b83398101604052808051919060200180519190602001805160008054600160a060020a03191633600160a060020a031617815590925061006b915084908490849064010000000061007381026107201704565b5050506100c6565b60005433600160a060020a0390811691161461008e57600080fd5b60018054600160a060020a0319908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b610e56806100d56000396000f3006060604052600436106100d75763ffffffff60e060020a6000350416630250680481146100dc57806307377bd6146101145780632453732a14610164578063310ce4e21461019857806338af3eed146101d15780634345a6101461020057806358b376591461022e5780635a1f74061461025657806368e14dac146102755780637ff4b630146102975780638da5cb5b146102e657806390be003c146102f9578063c3c5a54714610318578063ddca3f4314610337578063e1758bd81461034a578063f2fde38b1461035d578063f98e87ba1461037c575b600080fd5b34156100e757600080fd5b6100f260043561038f565b604051600160a060020a03909216825260208201526040908101905180910390f35b341561011f57600080fd5b610136600160a060020a03600435166024356103b4565b604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390f35b341561016f57600080fd5b610186600435600160a060020a03602435166103ea565b60405190815260200160405180910390f35b34156101a357600080fd5b6101bd600435600160a060020a0360243516604435610424565b604051901515815260200160405180910390f35b34156101dc57600080fd5b6101e4610711565b604051600160a060020a03909116815260200160405180910390f35b341561020b57600080fd5b61022c600160a060020a036004358116906024359060443516606435610720565b005b341561023957600080fd5b610186600160a060020a0360043581169060243516604435610780565b341561026157600080fd5b6101bd600160a060020a03600435166109f1565b341561028057600080fd5b610186600435600160a060020a0360243516610a06565b34156102a257600080fd5b6101bd6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610a5b95505050505050565b34156102f157600080fd5b6101e4610b19565b341561030457600080fd5b61022c600160a060020a0360043516610b28565b341561032357600080fd5b6101bd600160a060020a0360043516610c51565b341561034257600080fd5b610186610c6f565b341561035557600080fd5b6101e4610c75565b341561036857600080fd5b61022c600160a060020a0360043516610c84565b341561038757600080fd5b610186610d1f565b60076020526000908152604090208054600190910154600160a060020a039091169082565b6006602090815260009283526040808420909152908252902080546001820154600290920154600160a060020a03909116919083565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b600061042e610de1565b600080610439610e01565b33600160a060020a0316600760006104508a610d25565b8152602081019190915260400160002054600160a060020a03161461047457600080fd5b600160a060020a03871660009081526006602090815260408083208b845290915290819020906060905190810160409081528254600160a060020a03908116835260018085015460208086019190915260029586015484860152918c166000818152600684528481208f8252909352838320805473ffffffffffffffffffffffffffffffffffffffff191681559182018390559401559095508991907f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe905160405180910390a36001925085156106ce5786600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561058b57600080fd5b6102c65a03f1151561059c57600080fd5b50505060405180519050915060036040518059106105b75750595b908082528060200260200182016040525090508351600160a060020a0316816000815181106105e257fe5b60209081029091018101919091528401518160018151811061060057fe5b60209081029091010152858160028151811061061857fe5b60209081029091010152600160a060020a03821663277d811e826000604051602001526040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561068d578082015183820152602001610675565b5050505090500192505050602060405180830381600087803b15156106b157600080fd5b6102c65a03f115156106c257600080fd5b50505060405180519350505b87600160a060020a0388167f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f53360405160405180910390a350909695505050505050565b600354600160a060020a031681565b60005433600160a060020a0390811691161461073b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60008061078b610e13565b600160a060020a0386166000908152600560205260408120548190889060ff1615156107b657600080fd5b87600160a060020a031663a003651d8860006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561080557600080fd5b6102c65a03f1151561081657600080fd5b5050506040518051905094506007600061082f8b610d25565b8152602081019190915260409081016000209080519081016040528154600160a060020a03168152600190910154602082015293508351925082600160a060020a03166388737b5e8660010186602001518c3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b15156108df57600080fd5b6102c65a03f115156108f057600080fd5b50505060405180519050915060606040519081016040908152600160a060020a03808b16835260208084018b9052828401899052908c16600090815260068252828120868252909152208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201556040820151600290910155508351600160a060020a031682600019168a600160a060020a03167fa04e76655fd38a7c9579a6fde8864276137b505c346dc2a2ae185946772abcd78b8b8a604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a450979650505050505050565b60056020526000908152604090205460ff1681565b600080610a1384846103ea565b60008181526007602052604090206001810195909555845473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03949094169390931790935550919050565b60008082600081518110610a6b57fe5b906020019060200201519050600160a060020a038116639ef1204c84600181518110610a9357fe5b9060200190602002015185600281518110610aaa57fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b1515610af857600080fd5b6102c65a03f11515610b0957600080fd5b5050506040518051949350505050565b600054600160a060020a031681565b6000600254118015610b535750600160a060020a03811660009081526005602052604090205460ff16155b15610bec57600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610bd057600080fd5b6102c65a03f11515610be157600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a03908116911614610c9f57600080fd5b600160a060020a0381161515610cb457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d6e57600080fd5b6102c65a03f11515610d7f57600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610af857600080fd5b606060405190810160409081526000808352602083018190529082015290565b60206040519081016040526000815290565b6040805190810160405260008082526020820152905600a165627a7a7230582094219e2888a559f6d042d372ecf6d5dc2aa065bafbab31cf5538374abfb69ae20029", + "deployedBytecode": "0x6060604052600436106100d75763ffffffff60e060020a6000350416630250680481146100dc57806307377bd6146101145780632453732a14610164578063310ce4e21461019857806338af3eed146101d15780634345a6101461020057806358b376591461022e5780635a1f74061461025657806368e14dac146102755780637ff4b630146102975780638da5cb5b146102e657806390be003c146102f9578063c3c5a54714610318578063ddca3f4314610337578063e1758bd81461034a578063f2fde38b1461035d578063f98e87ba1461037c575b600080fd5b34156100e757600080fd5b6100f260043561038f565b604051600160a060020a03909216825260208201526040908101905180910390f35b341561011f57600080fd5b610136600160a060020a03600435166024356103b4565b604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390f35b341561016f57600080fd5b610186600435600160a060020a03602435166103ea565b60405190815260200160405180910390f35b34156101a357600080fd5b6101bd600435600160a060020a0360243516604435610424565b604051901515815260200160405180910390f35b34156101dc57600080fd5b6101e4610711565b604051600160a060020a03909116815260200160405180910390f35b341561020b57600080fd5b61022c600160a060020a036004358116906024359060443516606435610720565b005b341561023957600080fd5b610186600160a060020a0360043581169060243516604435610780565b341561026157600080fd5b6101bd600160a060020a03600435166109f1565b341561028057600080fd5b610186600435600160a060020a0360243516610a06565b34156102a257600080fd5b6101bd6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650610a5b95505050505050565b34156102f157600080fd5b6101e4610b19565b341561030457600080fd5b61022c600160a060020a0360043516610b28565b341561032357600080fd5b6101bd600160a060020a0360043516610c51565b341561034257600080fd5b610186610c6f565b341561035557600080fd5b6101e4610c75565b341561036857600080fd5b61022c600160a060020a0360043516610c84565b341561038757600080fd5b610186610d1f565b60076020526000908152604090208054600190910154600160a060020a039091169082565b6006602090815260009283526040808420909152908252902080546001820154600290920154600160a060020a03909116919083565b60008282604051918252600160a060020a03166c010000000000000000000000000260208201526034016040518091039020905092915050565b600061042e610de1565b600080610439610e01565b33600160a060020a0316600760006104508a610d25565b8152602081019190915260400160002054600160a060020a03161461047457600080fd5b600160a060020a03871660009081526006602090815260408083208b845290915290819020906060905190810160409081528254600160a060020a03908116835260018085015460208086019190915260029586015484860152918c166000818152600684528481208f8252909352838320805473ffffffffffffffffffffffffffffffffffffffff191681559182018390559401559095508991907f6bc0cb9e9967b59a69ace442598e1df4368d38661bd5c0800fbcbc9fe855fbbe905160405180910390a36001925085156106ce5786600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561058b57600080fd5b6102c65a03f1151561059c57600080fd5b50505060405180519050915060036040518059106105b75750595b908082528060200260200182016040525090508351600160a060020a0316816000815181106105e257fe5b60209081029091018101919091528401518160018151811061060057fe5b60209081029091010152858160028151811061061857fe5b60209081029091010152600160a060020a03821663277d811e826000604051602001526040518263ffffffff1660e060020a0281526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561068d578082015183820152602001610675565b5050505090500192505050602060405180830381600087803b15156106b157600080fd5b6102c65a03f115156106c257600080fd5b50505060405180519350505b87600160a060020a0388167f253ad9614c337848bbe7dc3b18b439d139ef5787282b5a517ba7296513d1f53360405160405180910390a350909695505050505050565b600354600160a060020a031681565b60005433600160a060020a0390811691161461073b57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03968716179091556002939093556003805490931691909316179055600455565b60008061078b610e13565b600160a060020a0386166000908152600560205260408120548190889060ff1615156107b657600080fd5b87600160a060020a031663a003651d8860006040516020015260405160e060020a63ffffffff84160281526004810191909152602401602060405180830381600087803b151561080557600080fd5b6102c65a03f1151561081657600080fd5b5050506040518051905094506007600061082f8b610d25565b8152602081019190915260409081016000209080519081016040528154600160a060020a03168152600190910154602082015293508351925082600160a060020a03166388737b5e8660010186602001518c3060006040516020015260405160e060020a63ffffffff871602815260048101949094526024840192909252600160a060020a039081166044840152166064820152608401602060405180830381600087803b15156108df57600080fd5b6102c65a03f115156108f057600080fd5b50505060405180519050915060606040519081016040908152600160a060020a03808b16835260208084018b9052828401899052908c16600090815260068252828120868252909152208151815473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0391909116178155602082015160018201556040820151600290910155508351600160a060020a031682600019168a600160a060020a03167fa04e76655fd38a7c9579a6fde8864276137b505c346dc2a2ae185946772abcd78b8b8a604051600160a060020a03909316835260208301919091526040808301919091526060909101905180910390a450979650505050505050565b60056020526000908152604090205460ff1681565b600080610a1384846103ea565b60008181526007602052604090206001810195909555845473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03949094169390931790935550919050565b60008082600081518110610a6b57fe5b906020019060200201519050600160a060020a038116639ef1204c84600181518110610a9357fe5b9060200190602002015185600281518110610aaa57fe5b9060200190602002015160006040516020015260405160e060020a63ffffffff851602815260048101929092526024820152604401602060405180830381600087803b1515610af857600080fd5b6102c65a03f11515610b0957600080fd5b5050506040518051949350505050565b600054600160a060020a031681565b6000600254118015610b535750600160a060020a03811660009081526005602052604090205460ff16155b15610bec57600154600354600254600160a060020a03928316926323b872dd92859291169060006040516020015260405160e060020a63ffffffff8616028152600160a060020a0393841660048201529190921660248201526044810191909152606401602060405180830381600087803b1515610bd057600080fd5b6102c65a03f11515610be157600080fd5b505050604051805150505b600160a060020a03811660009081526005602052604090819020805460ff191660011790557f2178e9c576507a4c15d3deab489af3f699a3dedbff9a7ef27c43a017027710e590829051600160a060020a03909116815260200160405180910390a150565b600160a060020a031660009081526005602052604090205460ff1690565b60025481565b600154600160a060020a031681565b60005433600160a060020a03908116911614610c9f57600080fd5b600160a060020a0381161515610cb457600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60045481565b60008082600160a060020a0316638da5cb5b6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d6e57600080fd5b6102c65a03f11515610d7f57600080fd5b5050506040518051915050600160a060020a0381166346e361b73060006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610af857600080fd5b606060405190810160409081526000808352602083018190529082015290565b60206040519081016040526000815290565b6040805190810160405260008082526020820152905600a165627a7a7230582094219e2888a559f6d042d372ecf6d5dc2aa065bafbab31cf5538374abfb69ae20029", + "sourceMap": "267:6132:26:-;;;1680:183;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;501:5:29;:18;;-1:-1:-1;;;;;;501:18:29;509:10;-1:-1:-1;;;;;501:18:29;;;;1680:183:26;;-1:-1:-1;1793:62:26;;-1:-1:-1;1810:12:26;;1824:4;;1680:183;;1793:16;;;;;;:62;:::i;:::-;1680:183;;;267:6132;;1314:347:22;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;;;;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;267:6132:26:-;;;;;;;", + "deployedSourceMap": "267:6132:26:-;;;;;;;;;-1:-1:-1;;;267:6132:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1374:46;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1374:46:26;;;;;;;;;;;;;;;;;;;;1088:73;;;;;;;;;;-1:-1:-1;;;;;1088:73:26;;;;;;;;;;-1:-1:-1;;;;;1088:73:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2681:192;;;;;;;;;;;;-1:-1:-1;;;;;2681:192:26;;;;;;;;;;;;;;;;;;;;4683:1071;;;;;;;;;;;;-1:-1:-1;;;;;4683:1071:26;;;;;;;;;;;;;;;;;;;;;;;;407:26:22;;;;;;;;;;;;;;;-1:-1:-1;;;;;407:26:22;;;;;;;;;;;;;;1314:347;;;;;;;;;;-1:-1:-1;;;;;1314:347:22;;;;;;;;;;;;;;;;;3241:995:26;;;;;;;;;;-1:-1:-1;;;;;3241:995:26;;;;;;;;;;;;591:43:22;;;;;;;;;;-1:-1:-1;;;;;591:43:22;;;;;2113:343:26;;;;;;;;;;;;-1:-1:-1;;;;;2113:343:26;;;;;6197:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6197:199:26;;-1:-1:-1;6197:199:26;;-1:-1:-1;;;;;;6197:199:26;238:20:29;;;;;;;;;;;;866:315:22;;;;;;;;;;-1:-1:-1;;;;;866:315:22;;;;;1189:117;;;;;;;;;;-1:-1:-1;;;;;1189:117:22;;;;;385:15;;;;;;;;;;;;346:32;;;;;;;;;;;;834:169:29;;;;;;;;;;-1:-1:-1;;;;;834:169:29;;;;;440:31:22;;;;;;;;;;;;1374:46:26;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1374:46:26;;;;;:::o;1088:73::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1088:73:26;;;;;;:::o;2681:192::-;2801:7;2843:11;2856:8;2833:32;;;;;-1:-1:-1;;;;;2833:32:26;;;;;;;;;;;;;;;;2826:39;;2681:192;;;;:::o;4683:1071::-;4765:4;5002:28;;:::i;:::-;5188:11;5338:21;5412:20;;:::i;:::-;4917:10;-1:-1:-1;;;;;4849:78:26;:10;:56;4860:44;4895:7;4860:27;:44::i;:::-;4849:56;;;;;;;;;;;;;:64;-1:-1:-1;;;;;4849:64:26;:78;4841:87;;;;;;-1:-1:-1;;;;;5033:26:26;;;;;;:17;:26;;;;;;;;:39;;;;;;;;;;;5002:70;;;;;;;;;;;;-1:-1:-1;;;;;5002:70:26;;;;;;;;;;;;;;;;;;;;;;;;;;;5090:26;;;5002:70;5090:26;;;:17;:26;;;;;:39;;;;;;;;;5083:46;;-1:-1:-1;;5083:46:26;;;;;;;;;;;;5002:70;;-1:-1:-1;5117:11:26;;5090:26;5140:37;;;;;;;;;;5202:4;;-1:-1:-1;5260:11:26;;5256:418;;5380:7;-1:-1:-1;;;;;5373:21:26;;:23;;;;;;;;;;;-1:-1:-1;;;5373:23:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5338:59;;5449:1;5435:16;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5412:39:26;-1:-1:-1;5491:8:26;:24;-1:-1:-1;;;;;5475:42:26;5466:3;5470:1;5466:3;:6;;;;;;;;;;;;;;;;:51;;;;5541:27;;;5532:3;5536:1;5532:6;;;;;;;;;;;;;;;;:36;5600:6;5583:3;5587:1;5583:3;:6;;;;;;;;;;;;;;;:24;-1:-1:-1;;;;;5631:24:26;;;5656:3;5583:24;5631:29;;;;;;;;;;-1:-1:-1;;;5631:29:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:2;8:100;;;99:1;94:3;90;84:5;71:3;;;64:6;52:2;45:3;8:100;;;12:14;3:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1;;5256:418:26;5710:11;-1:-1:-1;;;;;5684:38:26;;;;;;;;;;;;-1:-1:-1;5740:6:26;;4683:1071;-1:-1:-1;;;;;;4683:1071:26:o;407:26:22:-;;;-1:-1:-1;;;;;407:26:22;;:::o;1314:347::-;654:5:29;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;1522:11:22;:26;;-1:-1:-1;;1522:26:22;;;-1:-1:-1;;;;;1522:26:22;;;;;;;1559:3;:10;;;;1580:11;:26;;;;;;;;;;;;1617:16;:36;1314:347::o;3241:995:26:-;3408:7;3433:17;3520:24;;:::i;:::-;-1:-1:-1;;;;;816:21:22;;3606:24:26;816:21:22;;;:13;:21;;;;;;3606:24:26;;3386:7;;816:21:22;;808:30;;;;;;;;3453:16:26;-1:-1:-1;;;;;3453:35:26;;3489:19;3453:56;;;;;;;;-1:-1:-1;;;3453:56:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3433:76;;3547:10;:48;3558:36;3586:7;3558:27;:36::i;:::-;3547:48;;;;;;;;;;;;;;;;;3520:75;;;;;;;;-1:-1:-1;;;;;3520:75:26;;;;;;;;;;;;;-1:-1:-1;3520:75:26;3633:14;3606:41;;3679:7;-1:-1:-1;;;;;3679:15:26;;3695:12;3708:1;3695:14;3711:6;:17;;;3730:7;3759:4;3679:86;;;;;;;;-1:-1:-1;;;3679:86:26;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3679:86:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3658:107;;3819:176;;;;;;;;;;-1:-1:-1;;;;;3819:176:26;;;;;;;;;;;;;;;;;;3778:26;;;3819:176;3778:26;;;:17;:26;;;;;:38;;;;;;;3819:176;3778:217;;;-1:-1:-1;;3778:217:26;-1:-1:-1;;;;;3778:217:26;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4083:6:26;:14;-1:-1:-1;;;;;4006:194:26;4058:10;4006:194;;;4036:7;-1:-1:-1;;;;;4006:194:26;;4112:16;4143:19;4177:12;4006:194;;-1:-1:-1;;;;;4006:194:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;4218:10:26;3241:995;-1:-1:-1;;;;;;;3241:995:26:o;591:43:22:-;;;;;;;;;;;;;;;:::o;2113:343:26:-;2224:7;2249:18;2270:40;2288:11;2301:8;2270:17;:40::i;:::-;2321:22;;;;:10;:22;;;;;:33;;;:47;;;;2379:41;;-1:-1:-1;;2379:41:26;-1:-1:-1;;;;;2379:41:26;;;;;;;;;;;-1:-1:-1;2321:22:26;2113:343;-1:-1:-1;2113:343:26:o;6197:199::-;6247:4;6264:24;6316:7;6324:1;6316:10;;;;;;;;;;;;;;;;6308:19;-1:-1:-1;;;;;;6346:12:26;;;6359:7;6308:19;6359:7;:10;;;;;;;;;;;;;;;6376:7;6384:1;6376:10;;;;;;;;;;;;;;;;6346:42;;;;;;;;-1:-1:-1;;;6346:42:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6197:199;-1:-1:-1;;;;6197:199:26:o;238:20:29:-;;;-1:-1:-1;;;;;238:20:29;;:::o;866:315:22:-;980:1;974:3;;:7;973:39;;;;-1:-1:-1;;;;;;989:22:22;;;;;;:13;:22;;;;;;;;987:24;973:39;969:123;;;1029:11;;1063;;1076:3;;-1:-1:-1;;;;;1029:11:22;;;;:24;;1054:7;;1063:11;;;1029;:51;;;;;;;-1:-1:-1;;;1029:51:22;;;;;;-1:-1:-1;;;;;1029:51:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;969:123:22;-1:-1:-1;;;;;1102:22:22;;;;;;:13;:22;;;;;;;:29;;-1:-1:-1;;1102:29:22;1127:4;1102:29;;;1142:31;;1116:7;;1142:31;-1:-1:-1;;;;;1142:31:22;;;;;;;;;;;;;;866:315;:::o;1189:117::-;-1:-1:-1;;;;;1276:22:22;1252:4;1276:22;;;:13;:22;;;;;;;;;1189:117::o;385:15::-;;;;:::o;346:32::-;;;-1:-1:-1;;;;;346:32:22;;:::o;834:169:29:-;654:5;;640:10;-1:-1:-1;;;;;640:19:29;;;654:5;;640:19;632:28;;;;;;-1:-1:-1;;;;;910:22:29;;;;902:31;;;;;;960:5;;-1:-1:-1;;;;;939:37:29;;;;960:5;939:37;;;;;;;;;;982:5;:16;;-1:-1:-1;;982:16:29;-1:-1:-1;;;;;982:16:29;;;;;;;;;;834:169::o;440:31:22:-;;;;:::o;1761:212::-;1840:7;1860:21;1895:7;-1:-1:-1;;;;;1895:13:22;;:15;;;;;;;;;;;-1:-1:-1;;;1895:15:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;1929:30:22;;;1960:4;1929:36;;;;;;;;-1:-1:-1;;;1929:36:22;;;;;;-1:-1:-1;;;;;1929:36:22;;;;;;;;;;;;;;;;;;;;;;;;;;;267:6132:26;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::o", + "source": "pragma solidity ^0.4.18;\r\n\r\nimport \"../VotingMachines/IntVoteInterface.sol\";\r\nimport \"./UniversalScheme.sol\";\r\n\r\n\r\n/**\r\n * @title VoteInOrganizationScheme.\r\n * @dev A scheme to allow an organization to vote in a proposal.\r\n */\r\n\r\n// ToDo: Documentation and tests!\r\n\r\ncontract VoteInOrganizationScheme is UniversalScheme, ExecutableInterface, ActionInterface {\r\n event NewVoteProposal(\r\n address indexed _avatar,\r\n bytes32 indexed _proposalId,\r\n address indexed _intVoteInterface,\r\n IntVoteInterface _originalIntVote,\r\n bytes32 _originalProposalId,\r\n uint _originalNumOfChoices\r\n );\r\n event ProposalExecuted(address indexed _avatar, bytes32 indexed _proposalId);\r\n event ProposalDeleted(address indexed _avatar, bytes32 indexed _proposalId);\r\n\r\n // Details of a voting proposal:\r\n struct VoteProposal {\r\n IntVoteInterface originalIntVote;\r\n bytes32 originalProposalId;\r\n uint originalNumOfChoices;\r\n }\r\n\r\n // A mapping from thr organization (Avatar) address to the saved data of the organization:\r\n mapping(address=>mapping(bytes32=>VoteProposal)) public organizationsData;\r\n\r\n\r\n struct Parameters {\r\n IntVoteInterface intVote;\r\n bytes32 voteParams;\r\n }\r\n\r\n // A mapping from hashes to parameters (use to store a particular configuration on the controller)\r\n mapping(bytes32=>Parameters) public parameters;\r\n\r\n /**\r\n * @dev Constructor, Updating the initial prarmeters\r\n * @param _nativeToken The native token of the ICO\r\n * @param _fee The fee for intiating the ICO\r\n * @param _beneficiary The address that will receive the ethers\r\n */\r\n function VoteInOrganizationScheme(StandardToken _nativeToken, uint _fee, address _beneficiary) public {\r\n updateParameters(_nativeToken, _fee, _beneficiary, bytes32(0));\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters, save them if necessary, and return the hash value\r\n * @param _voteParams - voting parameters\r\n * @param _intVote - voting machine contract.\r\n * @return bytes32 -the parameters hash\r\n */\r\n function setParameters(\r\n bytes32 _voteParams,\r\n IntVoteInterface _intVote\r\n ) public returns(bytes32)\r\n {\r\n bytes32 paramsHash = getParametersHash(_voteParams, _intVote);\r\n parameters[paramsHash].voteParams = _voteParams;\r\n parameters[paramsHash].intVote = _intVote;\r\n return paramsHash;\r\n }\r\n\r\n /**\r\n * @dev Hash the parameters,and return the hash value\r\n * @param _voteParams - voting parameters\r\n * @param _intVote - voting machine contract.\r\n * @return bytes32 -the parameters hash\r\n */\r\n function getParametersHash(\r\n bytes32 _voteParams,\r\n IntVoteInterface _intVote\r\n ) public pure returns(bytes32)\r\n {\r\n return keccak256(_voteParams, _intVote);\r\n }\r\n\r\n /**\r\n * @dev propose to vote in other organization\r\n * The function trigger NewVoteProposal event\r\n * @param _avatar avatar of the organization\r\n * @param _originalIntVote the other organization voting machine\r\n * @param _originalProposalId the other organization proposal id\r\n * @return an id which represents the proposal\r\n */\r\n function proposeVote(Avatar _avatar, IntVoteInterface _originalIntVote, bytes32 _originalProposalId)\r\n public\r\n onlyRegisteredOrganization(_avatar)\r\n returns(bytes32)\r\n {\r\n uint numOfChoices = _originalIntVote.getNumberOfChoices(_originalProposalId);\r\n Parameters memory params = parameters[getParametersFromController(_avatar)];\r\n IntVoteInterface intVote = params.intVote;\r\n bytes32 proposalId = intVote.propose(numOfChoices+1, params.voteParams, _avatar, ExecutableInterface(this));\r\n\r\n organizationsData[_avatar][proposalId] = VoteProposal({\r\n originalIntVote: _originalIntVote,\r\n originalProposalId: _originalProposalId,\r\n originalNumOfChoices: numOfChoices\r\n });\r\n NewVoteProposal(\r\n _avatar,\r\n proposalId,\r\n params.intVote,\r\n _originalIntVote,\r\n _originalProposalId,\r\n numOfChoices\r\n );\r\n return proposalId;\r\n }\r\n\r\n /**\r\n * @dev execution of proposals, can only be called by the voting machine in which the vote is held.\r\n * This function will trigger ProposalDeleted and ProposalExecuted events\r\n * @param _proposalId the ID of the voting in the voting machine\r\n * @param _avatar address of the controller\r\n * @param _param a parameter of the voting result 0 to numOfChoices .\r\n * @return bool which indicate success.\r\n */\r\n function execute(bytes32 _proposalId, address _avatar, int _param) public returns(bool) {\r\n // Check the caller is indeed the voting machine:\r\n require(parameters[getParametersFromController(Avatar(_avatar))].intVote == msg.sender);\r\n\r\n // Save proposal to memory and delete from storage:\r\n VoteProposal memory proposal = organizationsData[_avatar][_proposalId];\r\n delete organizationsData[_avatar][_proposalId];\r\n ProposalDeleted(_avatar, _proposalId);\r\n bool retVal = true;\r\n // If no decision do nothing:\r\n if (_param != 0) {\r\n // Define controller and get the parmas:\r\n Controller controller = Controller(Avatar(_avatar).owner());\r\n bytes32[] memory tmp = new bytes32[](3);\r\n tmp[0] = bytes32(address(proposal.originalIntVote));\r\n tmp[1] = proposal.originalProposalId;\r\n tmp[2] = bytes32(_param);\r\n retVal = controller.genericAction(tmp);\r\n }\r\n ProposalExecuted(_avatar, _proposalId);\r\n return retVal;\r\n }\r\n\r\n /**\r\n * @dev do the actual voting in the other organization in behalf of the organization's avatar.\r\n * This function is deleted called by the organization.\r\n * @param _params array represent the voting .\r\n * _params[0] - the address of the voting machine.\r\n * _params[1] - the proposalId.\r\n * _params[2] - the voting machins params.\r\n * @return bool which indicate success.\r\n */\r\n function action(bytes32[] _params) public returns(bool) {\r\n IntVoteInterface intVote = IntVoteInterface(address(_params[0]));\r\n return intVote.vote(_params[1], uint(_params[2]));\r\n }\r\n}\r\n", + "sourcePath": "C:\\users\\dkent\\documents\\projects\\GitHub\\DAOStack\\daostack\\contracts\\universalSchemes\\VoteInOrganizationScheme.sol", + "ast": { + "attributes": { + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/VoteInOrganizationScheme.sol", + "exportedSymbols": { + "VoteInOrganizationScheme": [ + 8954 + ] + } + }, + "children": [ + { + "attributes": { + "literals": [ + "solidity", + "^", + "0.4", + ".18" + ] + }, + "id": 8610, + "name": "PragmaDirective", + "src": "0:24:26" + }, + { + "attributes": { + "SourceUnit": 2659, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/VotingMachines/IntVoteInterface.sol", + "file": "../VotingMachines/IntVoteInterface.sol", + "scope": 8955, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 8611, + "name": "ImportDirective", + "src": "28:48:26" + }, + { + "attributes": { + "SourceUnit": 7230, + "absolutePath": "/C/users/dkent/documents/projects/GitHub/DAOStack/daostack/contracts/universalSchemes/UniversalScheme.sol", + "file": "./UniversalScheme.sol", + "scope": 8955, + "symbolAliases": [ + null + ], + "unitAlias": "" + }, + "id": 8612, + "name": "ImportDirective", + "src": "78:31:26" + }, + { + "attributes": { + "contractDependencies": [ + 2797, + 5155, + 7229, + 7259, + 9140 + ], + "contractKind": "contract", + "documentation": "@title VoteInOrganizationScheme.\r\n@dev A scheme to allow an organization to vote in a proposal.\r", + "fullyImplemented": true, + "linearizedBaseContracts": [ + 8954, + 2797, + 5155, + 7229, + 7259, + 9140 + ], + "name": "VoteInOrganizationScheme", + "scope": 8955 + }, + "children": [ + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "UniversalScheme", + "referencedDeclaration": 7229, + "type": "contract UniversalScheme" + }, + "id": 8613, + "name": "UserDefinedTypeName", + "src": "304:15:26" + } + ], + "id": 8614, + "name": "InheritanceSpecifier", + "src": "304:15:26" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ExecutableInterface", + "referencedDeclaration": 5155, + "type": "contract ExecutableInterface" + }, + "id": 8615, + "name": "UserDefinedTypeName", + "src": "321:19:26" + } + ], + "id": 8616, + "name": "InheritanceSpecifier", + "src": "321:19:26" + }, + { + "attributes": { + "arguments": [ + null + ] + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "ActionInterface", + "referencedDeclaration": 2797, + "type": "contract ActionInterface" + }, + "id": 8617, + "name": "UserDefinedTypeName", + "src": "342:15:26" + } + ], + "id": 8618, + "name": "InheritanceSpecifier", + "src": "342:15:26" + }, + { + "attributes": { + "anonymous": false, + "name": "NewVoteProposal" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 8632, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8619, + "name": "ElementaryTypeName", + "src": "397:7:26" + } + ], + "id": 8620, + "name": "VariableDeclaration", + "src": "397:23:26" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 8632, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8621, + "name": "ElementaryTypeName", + "src": "431:7:26" + } + ], + "id": 8622, + "name": "VariableDeclaration", + "src": "431:27:26" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_intVoteInterface", + "scope": 8632, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8623, + "name": "ElementaryTypeName", + "src": "469:7:26" + } + ], + "id": 8624, + "name": "VariableDeclaration", + "src": "469:33:26" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_originalIntVote", + "scope": 8632, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 8625, + "name": "UserDefinedTypeName", + "src": "513:16:26" + } + ], + "id": 8626, + "name": "VariableDeclaration", + "src": "513:33:26" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_originalProposalId", + "scope": 8632, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8627, + "name": "ElementaryTypeName", + "src": "557:7:26" + } + ], + "id": 8628, + "name": "VariableDeclaration", + "src": "557:27:26" + }, + { + "attributes": { + "constant": false, + "indexed": false, + "name": "_originalNumOfChoices", + "scope": 8632, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8629, + "name": "ElementaryTypeName", + "src": "595:4:26" + } + ], + "id": 8630, + "name": "VariableDeclaration", + "src": "595:26:26" + } + ], + "id": 8631, + "name": "ParameterList", + "src": "386:242:26" + } + ], + "id": 8632, + "name": "EventDefinition", + "src": "365:264:26" + }, + { + "attributes": { + "anonymous": false, + "name": "ProposalExecuted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 8638, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8633, + "name": "ElementaryTypeName", + "src": "658:7:26" + } + ], + "id": 8634, + "name": "VariableDeclaration", + "src": "658:23:26" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 8638, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8635, + "name": "ElementaryTypeName", + "src": "683:7:26" + } + ], + "id": 8636, + "name": "VariableDeclaration", + "src": "683:27:26" + } + ], + "id": 8637, + "name": "ParameterList", + "src": "657:54:26" + } + ], + "id": 8638, + "name": "EventDefinition", + "src": "635:77:26" + }, + { + "attributes": { + "anonymous": false, + "name": "ProposalDeleted" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_avatar", + "scope": 8644, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8639, + "name": "ElementaryTypeName", + "src": "740:7:26" + } + ], + "id": 8640, + "name": "VariableDeclaration", + "src": "740:23:26" + }, + { + "attributes": { + "constant": false, + "indexed": true, + "name": "_proposalId", + "scope": 8644, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8641, + "name": "ElementaryTypeName", + "src": "765:7:26" + } + ], + "id": 8642, + "name": "VariableDeclaration", + "src": "765:27:26" + } + ], + "id": 8643, + "name": "ParameterList", + "src": "739:54:26" + } + ], + "id": 8644, + "name": "EventDefinition", + "src": "718:76:26" + }, + { + "attributes": { + "canonicalName": "VoteInOrganizationScheme.VoteProposal", + "name": "VoteProposal", + "scope": 8954, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "originalIntVote", + "scope": 8651, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 8645, + "name": "UserDefinedTypeName", + "src": "871:16:26" + } + ], + "id": 8646, + "name": "VariableDeclaration", + "src": "871:32:26" + }, + { + "attributes": { + "constant": false, + "name": "originalProposalId", + "scope": 8651, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8647, + "name": "ElementaryTypeName", + "src": "914:7:26" + } + ], + "id": 8648, + "name": "VariableDeclaration", + "src": "914:26:26" + }, + { + "attributes": { + "constant": false, + "name": "originalNumOfChoices", + "scope": 8651, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8649, + "name": "ElementaryTypeName", + "src": "951:4:26" + } + ], + "id": 8650, + "name": "VariableDeclaration", + "src": "951:25:26" + } + ], + "id": 8651, + "name": "StructDefinition", + "src": "840:144:26" + }, + { + "attributes": { + "constant": false, + "name": "organizationsData", + "scope": 8954, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(address => mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref))", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(address => mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref))" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8652, + "name": "ElementaryTypeName", + "src": "1096:7:26" + }, + { + "attributes": { + "type": "mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8653, + "name": "ElementaryTypeName", + "src": "1113:7:26" + }, + { + "attributes": { + "contractScope": null, + "name": "VoteProposal", + "referencedDeclaration": 8651, + "type": "struct VoteInOrganizationScheme.VoteProposal storage pointer" + }, + "id": 8654, + "name": "UserDefinedTypeName", + "src": "1122:12:26" + } + ], + "id": 8655, + "name": "Mapping", + "src": "1105:30:26" + } + ], + "id": 8656, + "name": "Mapping", + "src": "1088:48:26" + } + ], + "id": 8657, + "name": "VariableDeclaration", + "src": "1088:73:26" + }, + { + "attributes": { + "canonicalName": "VoteInOrganizationScheme.Parameters", + "name": "Parameters", + "scope": 8954, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 8662, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 8658, + "name": "UserDefinedTypeName", + "src": "1201:16:26" + } + ], + "id": 8659, + "name": "VariableDeclaration", + "src": "1201:24:26" + }, + { + "attributes": { + "constant": false, + "name": "voteParams", + "scope": 8662, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8660, + "name": "ElementaryTypeName", + "src": "1236:7:26" + } + ], + "id": 8661, + "name": "VariableDeclaration", + "src": "1236:18:26" + } + ], + "id": 8662, + "name": "StructDefinition", + "src": "1172:90:26" + }, + { + "attributes": { + "constant": false, + "name": "parameters", + "scope": 8954, + "stateVariable": true, + "storageLocation": "default", + "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)", + "value": null, + "visibility": "public" + }, + "children": [ + { + "attributes": { + "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8663, + "name": "ElementaryTypeName", + "src": "1382:7:26" + }, + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 8662, + "type": "struct VoteInOrganizationScheme.Parameters storage pointer" + }, + "id": 8664, + "name": "UserDefinedTypeName", + "src": "1391:10:26" + } + ], + "id": 8665, + "name": "Mapping", + "src": "1374:28:26" + } + ], + "id": 8666, + "name": "VariableDeclaration", + "src": "1374:46:26" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": true, + "modifiers": [ + null + ], + "name": "VoteInOrganizationScheme", + "payable": false, + "scope": 8954, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_nativeToken", + "scope": 8685, + "stateVariable": false, + "storageLocation": "default", + "type": "contract StandardToken", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "StandardToken", + "referencedDeclaration": 9700, + "type": "contract StandardToken" + }, + "id": 8667, + "name": "UserDefinedTypeName", + "src": "1714:13:26" + } + ], + "id": 8668, + "name": "VariableDeclaration", + "src": "1714:26:26" + }, + { + "attributes": { + "constant": false, + "name": "_fee", + "scope": 8685, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8669, + "name": "ElementaryTypeName", + "src": "1742:4:26" + } + ], + "id": 8670, + "name": "VariableDeclaration", + "src": "1742:9:26" + }, + { + "attributes": { + "constant": false, + "name": "_beneficiary", + "scope": 8685, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8671, + "name": "ElementaryTypeName", + "src": "1753:7:26" + } + ], + "id": 8672, + "name": "VariableDeclaration", + "src": "1753:20:26" + } + ], + "id": 8673, + "name": "ParameterList", + "src": "1713:61:26" + }, + { + "attributes": { + "parameters": [ + null + ] + }, + "children": [], + "id": 8674, + "name": "ParameterList", + "src": "1782:0:26" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_StandardToken_$9700", + "typeString": "contract StandardToken" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + 7207 + ], + "referencedDeclaration": 7207, + "type": "function (contract StandardToken,uint256,address,bytes32)", + "value": "updateParameters" + }, + "id": 8675, + "name": "Identifier", + "src": "1793:16:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8668, + "type": "contract StandardToken", + "value": "_nativeToken" + }, + "id": 8676, + "name": "Identifier", + "src": "1810:12:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8670, + "type": "uint256", + "value": "_fee" + }, + "id": 8677, + "name": "Identifier", + "src": "1824:4:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8672, + "type": "address", + "value": "_beneficiary" + }, + "id": 8678, + "name": "Identifier", + "src": "1830:12:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 8679, + "name": "ElementaryTypeNameExpression", + "src": "1844:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 8680, + "name": "Literal", + "src": "1852:1:26" + } + ], + "id": 8681, + "name": "FunctionCall", + "src": "1844:10:26" + } + ], + "id": 8682, + "name": "FunctionCall", + "src": "1793:62:26" + } + ], + "id": 8683, + "name": "ExpressionStatement", + "src": "1793:62:26" + } + ], + "id": 8684, + "name": "Block", + "src": "1782:81:26" + } + ], + "id": 8685, + "name": "FunctionDefinition", + "src": "1680:183:26" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "setParameters", + "payable": false, + "scope": 8954, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_voteParams", + "scope": 8718, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8686, + "name": "ElementaryTypeName", + "src": "2146:7:26" + } + ], + "id": 8687, + "name": "VariableDeclaration", + "src": "2146:19:26" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 8718, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 8688, + "name": "UserDefinedTypeName", + "src": "2176:16:26" + } + ], + "id": 8689, + "name": "VariableDeclaration", + "src": "2176:25:26" + } + ], + "id": 8690, + "name": "ParameterList", + "src": "2135:73:26" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 8718, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8691, + "name": "ElementaryTypeName", + "src": "2224:7:26" + } + ], + "id": 8692, + "name": "VariableDeclaration", + "src": "2224:7:26" + } + ], + "id": 8693, + "name": "ParameterList", + "src": "2223:9:26" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 8695 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "paramsHash", + "scope": 8718, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8694, + "name": "ElementaryTypeName", + "src": "2249:7:26" + } + ], + "id": 8695, + "name": "VariableDeclaration", + "src": "2249:18:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8733, + "type": "function (bytes32,contract IntVoteInterface) pure returns (bytes32)", + "value": "getParametersHash" + }, + "id": 8696, + "name": "Identifier", + "src": "2270:17:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8687, + "type": "bytes32", + "value": "_voteParams" + }, + "id": 8697, + "name": "Identifier", + "src": "2288:11:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8689, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 8698, + "name": "Identifier", + "src": "2301:8:26" + } + ], + "id": 8699, + "name": "FunctionCall", + "src": "2270:40:26" + } + ], + "id": 8700, + "name": "VariableDeclarationStatement", + "src": "2249:61:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "voteParams", + "referencedDeclaration": 8661, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VoteInOrganizationScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8666, + "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 8701, + "name": "Identifier", + "src": "2321:10:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8695, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 8702, + "name": "Identifier", + "src": "2332:10:26" + } + ], + "id": 8703, + "name": "IndexAccess", + "src": "2321:22:26" + } + ], + "id": 8704, + "name": "MemberAccess", + "src": "2321:33:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8687, + "type": "bytes32", + "value": "_voteParams" + }, + "id": 8705, + "name": "Identifier", + "src": "2357:11:26" + } + ], + "id": 8706, + "name": "Assignment", + "src": "2321:47:26" + } + ], + "id": 8707, + "name": "ExpressionStatement", + "src": "2321:47:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "member_name": "intVote", + "referencedDeclaration": 8659, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VoteInOrganizationScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8666, + "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 8708, + "name": "Identifier", + "src": "2379:10:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8695, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 8709, + "name": "Identifier", + "src": "2390:10:26" + } + ], + "id": 8710, + "name": "IndexAccess", + "src": "2379:22:26" + } + ], + "id": 8711, + "name": "MemberAccess", + "src": "2379:30:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8689, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 8712, + "name": "Identifier", + "src": "2412:8:26" + } + ], + "id": 8713, + "name": "Assignment", + "src": "2379:41:26" + } + ], + "id": 8714, + "name": "ExpressionStatement", + "src": "2379:41:26" + }, + { + "attributes": { + "functionReturnParameters": 8693 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8695, + "type": "bytes32", + "value": "paramsHash" + }, + "id": 8715, + "name": "Identifier", + "src": "2438:10:26" + } + ], + "id": 8716, + "name": "Return", + "src": "2431:17:26" + } + ], + "id": 8717, + "name": "Block", + "src": "2238:218:26" + } + ], + "id": 8718, + "name": "FunctionDefinition", + "src": "2113:343:26" + }, + { + "attributes": { + "constant": true, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "getParametersHash", + "payable": false, + "scope": 8954, + "stateMutability": "pure", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_voteParams", + "scope": 8733, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8719, + "name": "ElementaryTypeName", + "src": "2718:7:26" + } + ], + "id": 8720, + "name": "VariableDeclaration", + "src": "2718:19:26" + }, + { + "attributes": { + "constant": false, + "name": "_intVote", + "scope": 8733, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 8721, + "name": "UserDefinedTypeName", + "src": "2748:16:26" + } + ], + "id": 8722, + "name": "VariableDeclaration", + "src": "2748:25:26" + } + ], + "id": 8723, + "name": "ParameterList", + "src": "2707:73:26" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 8733, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8724, + "name": "ElementaryTypeName", + "src": "2801:7:26" + } + ], + "id": 8725, + "name": "VariableDeclaration", + "src": "2801:7:26" + } + ], + "id": 8726, + "name": "ParameterList", + "src": "2800:9:26" + }, + { + "children": [ + { + "attributes": { + "functionReturnParameters": 8726 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9730, + "type": "function () pure returns (bytes32)", + "value": "keccak256" + }, + "id": 8727, + "name": "Identifier", + "src": "2833:9:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8720, + "type": "bytes32", + "value": "_voteParams" + }, + "id": 8728, + "name": "Identifier", + "src": "2843:11:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8722, + "type": "contract IntVoteInterface", + "value": "_intVote" + }, + "id": 8729, + "name": "Identifier", + "src": "2856:8:26" + } + ], + "id": 8730, + "name": "FunctionCall", + "src": "2833:32:26" + } + ], + "id": 8731, + "name": "Return", + "src": "2826:39:26" + } + ], + "id": 8732, + "name": "Block", + "src": "2815:58:26" + } + ], + "id": 8733, + "name": "FunctionDefinition", + "src": "2681:192:26" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "name": "proposeVote", + "payable": false, + "scope": 8954, + "stateMutability": "nonpayable", + "superFunction": null, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 8807, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Avatar", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Avatar", + "referencedDeclaration": 3072, + "type": "contract Avatar" + }, + "id": 8734, + "name": "UserDefinedTypeName", + "src": "3262:6:26" + } + ], + "id": 8735, + "name": "VariableDeclaration", + "src": "3262:14:26" + }, + { + "attributes": { + "constant": false, + "name": "_originalIntVote", + "scope": 8807, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 8736, + "name": "UserDefinedTypeName", + "src": "3278:16:26" + } + ], + "id": 8737, + "name": "VariableDeclaration", + "src": "3278:33:26" + }, + { + "attributes": { + "constant": false, + "name": "_originalProposalId", + "scope": 8807, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8738, + "name": "ElementaryTypeName", + "src": "3313:7:26" + } + ], + "id": 8739, + "name": "VariableDeclaration", + "src": "3313:27:26" + } + ], + "id": 8740, + "name": "ParameterList", + "src": "3261:80:26" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 8807, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8744, + "name": "ElementaryTypeName", + "src": "3408:7:26" + } + ], + "id": 8745, + "name": "VariableDeclaration", + "src": "3408:7:26" + } + ], + "id": 8746, + "name": "ParameterList", + "src": "3407:9:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 7129, + "type": "modifier (address)", + "value": "onlyRegisteredOrganization" + }, + "id": 8741, + "name": "Identifier", + "src": "3359:26:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8735, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8742, + "name": "Identifier", + "src": "3386:7:26" + } + ], + "id": 8743, + "name": "ModifierInvocation", + "src": "3359:35:26" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 8748 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "numOfChoices", + "scope": 8807, + "stateVariable": false, + "storageLocation": "default", + "type": "uint256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "uint", + "type": "uint256" + }, + "id": 8747, + "name": "ElementaryTypeName", + "src": "3433:4:26" + } + ], + "id": 8748, + "name": "VariableDeclaration", + "src": "3433:17:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "getNumberOfChoices", + "referencedDeclaration": 2650, + "type": "function (bytes32) view external returns (uint256)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8737, + "type": "contract IntVoteInterface", + "value": "_originalIntVote" + }, + "id": 8749, + "name": "Identifier", + "src": "3453:16:26" + } + ], + "id": 8750, + "name": "MemberAccess", + "src": "3453:35:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8739, + "type": "bytes32", + "value": "_originalProposalId" + }, + "id": 8751, + "name": "Identifier", + "src": "3489:19:26" + } + ], + "id": 8752, + "name": "FunctionCall", + "src": "3453:56:26" + } + ], + "id": 8753, + "name": "VariableDeclarationStatement", + "src": "3433:76:26" + }, + { + "attributes": { + "assignments": [ + 8755 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "params", + "scope": 8807, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct VoteInOrganizationScheme.Parameters memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Parameters", + "referencedDeclaration": 8662, + "type": "struct VoteInOrganizationScheme.Parameters storage pointer" + }, + "id": 8754, + "name": "UserDefinedTypeName", + "src": "3520:10:26" + } + ], + "id": 8755, + "name": "VariableDeclaration", + "src": "3520:24:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VoteInOrganizationScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8666, + "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 8756, + "name": "Identifier", + "src": "3547:10:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 8757, + "name": "Identifier", + "src": "3558:27:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8735, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8758, + "name": "Identifier", + "src": "3586:7:26" + } + ], + "id": 8759, + "name": "FunctionCall", + "src": "3558:36:26" + } + ], + "id": 8760, + "name": "IndexAccess", + "src": "3547:48:26" + } + ], + "id": 8761, + "name": "VariableDeclarationStatement", + "src": "3520:75:26" + }, + { + "attributes": { + "assignments": [ + 8763 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 8807, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 8762, + "name": "UserDefinedTypeName", + "src": "3606:16:26" + } + ], + "id": 8763, + "name": "VariableDeclaration", + "src": "3606:24:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 8659, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8755, + "type": "struct VoteInOrganizationScheme.Parameters memory", + "value": "params" + }, + "id": 8764, + "name": "Identifier", + "src": "3633:6:26" + } + ], + "id": 8765, + "name": "MemberAccess", + "src": "3633:14:26" + } + ], + "id": 8766, + "name": "VariableDeclarationStatement", + "src": "3606:41:26" + }, + { + "attributes": { + "assignments": [ + 8768 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposalId", + "scope": 8807, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8767, + "name": "ElementaryTypeName", + "src": "3658:7:26" + } + ], + "id": 8768, + "name": "VariableDeclaration", + "src": "3658:18:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_contract$_ExecutableInterface_$5155", + "typeString": "contract ExecutableInterface" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "propose", + "referencedDeclaration": 2570, + "type": "function (uint256,bytes32,address,contract ExecutableInterface) external returns (bytes32)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8763, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 8769, + "name": "Identifier", + "src": "3679:7:26" + } + ], + "id": 8770, + "name": "MemberAccess", + "src": "3679:15:26" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "+", + "type": "uint256" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8748, + "type": "uint256", + "value": "numOfChoices" + }, + "id": 8771, + "name": "Identifier", + "src": "3695:12:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 8772, + "name": "Literal", + "src": "3708:1:26" + } + ], + "id": 8773, + "name": "BinaryOperation", + "src": "3695:14:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "voteParams", + "referencedDeclaration": 8661, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8755, + "type": "struct VoteInOrganizationScheme.Parameters memory", + "value": "params" + }, + "id": 8774, + "name": "Identifier", + "src": "3711:6:26" + } + ], + "id": 8775, + "name": "MemberAccess", + "src": "3711:17:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8735, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8776, + "name": "Identifier", + "src": "3730:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract ExecutableInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_VoteInOrganizationScheme_$8954", + "typeString": "contract VoteInOrganizationScheme" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 5155, + "type": "type(contract ExecutableInterface)", + "value": "ExecutableInterface" + }, + "id": 8777, + "name": "Identifier", + "src": "3739:19:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9823, + "type": "contract VoteInOrganizationScheme", + "value": "this" + }, + "id": 8778, + "name": "Identifier", + "src": "3759:4:26" + } + ], + "id": 8779, + "name": "FunctionCall", + "src": "3739:25:26" + } + ], + "id": 8780, + "name": "FunctionCall", + "src": "3679:86:26" + } + ], + "id": 8781, + "name": "VariableDeclarationStatement", + "src": "3658:107:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "struct VoteInOrganizationScheme.VoteProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct VoteInOrganizationScheme.VoteProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8657, + "type": "mapping(address => mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref))", + "value": "organizationsData" + }, + "id": 8782, + "name": "Identifier", + "src": "3778:17:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8735, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8783, + "name": "Identifier", + "src": "3796:7:26" + } + ], + "id": 8785, + "name": "IndexAccess", + "src": "3778:26:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8768, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8784, + "name": "Identifier", + "src": "3805:10:26" + } + ], + "id": 8786, + "name": "IndexAccess", + "src": "3778:38:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": true, + "lValueRequested": false, + "names": [ + "originalIntVote", + "originalProposalId", + "originalNumOfChoices" + ], + "type": "struct VoteInOrganizationScheme.VoteProposal memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8651, + "type": "type(struct VoteInOrganizationScheme.VoteProposal storage pointer)", + "value": "VoteProposal" + }, + "id": 8787, + "name": "Identifier", + "src": "3819:12:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8737, + "type": "contract IntVoteInterface", + "value": "_originalIntVote" + }, + "id": 8788, + "name": "Identifier", + "src": "3864:16:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8739, + "type": "bytes32", + "value": "_originalProposalId" + }, + "id": 8789, + "name": "Identifier", + "src": "3915:19:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8748, + "type": "uint256", + "value": "numOfChoices" + }, + "id": 8790, + "name": "Identifier", + "src": "3971:12:26" + } + ], + "id": 8791, + "name": "FunctionCall", + "src": "3819:176:26" + } + ], + "id": 8792, + "name": "Assignment", + "src": "3778:217:26" + } + ], + "id": 8793, + "name": "ExpressionStatement", + "src": "3778:217:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + }, + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8632, + "type": "function (address,bytes32,address,contract IntVoteInterface,bytes32,uint256)", + "value": "NewVoteProposal" + }, + "id": 8794, + "name": "Identifier", + "src": "4006:15:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8735, + "type": "contract Avatar", + "value": "_avatar" + }, + "id": 8795, + "name": "Identifier", + "src": "4036:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8768, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8796, + "name": "Identifier", + "src": "4058:10:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 8659, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8755, + "type": "struct VoteInOrganizationScheme.Parameters memory", + "value": "params" + }, + "id": 8797, + "name": "Identifier", + "src": "4083:6:26" + } + ], + "id": 8798, + "name": "MemberAccess", + "src": "4083:14:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8737, + "type": "contract IntVoteInterface", + "value": "_originalIntVote" + }, + "id": 8799, + "name": "Identifier", + "src": "4112:16:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8739, + "type": "bytes32", + "value": "_originalProposalId" + }, + "id": 8800, + "name": "Identifier", + "src": "4143:19:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8748, + "type": "uint256", + "value": "numOfChoices" + }, + "id": 8801, + "name": "Identifier", + "src": "4177:12:26" + } + ], + "id": 8802, + "name": "FunctionCall", + "src": "4006:194:26" + } + ], + "id": 8803, + "name": "ExpressionStatement", + "src": "4006:194:26" + }, + { + "attributes": { + "functionReturnParameters": 8746 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8768, + "type": "bytes32", + "value": "proposalId" + }, + "id": 8804, + "name": "Identifier", + "src": "4218:10:26" + } + ], + "id": 8805, + "name": "Return", + "src": "4211:17:26" + } + ], + "id": 8806, + "name": "Block", + "src": "3422:814:26" + } + ], + "id": 8807, + "name": "FunctionDefinition", + "src": "3241:995:26" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "execute", + "payable": false, + "scope": 8954, + "stateMutability": "nonpayable", + "superFunction": 5154, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_proposalId", + "scope": 8922, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8808, + "name": "ElementaryTypeName", + "src": "4700:7:26" + } + ], + "id": 8809, + "name": "VariableDeclaration", + "src": "4700:19:26" + }, + { + "attributes": { + "constant": false, + "name": "_avatar", + "scope": 8922, + "stateVariable": false, + "storageLocation": "default", + "type": "address", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "address", + "type": "address" + }, + "id": 8810, + "name": "ElementaryTypeName", + "src": "4721:7:26" + } + ], + "id": 8811, + "name": "VariableDeclaration", + "src": "4721:15:26" + }, + { + "attributes": { + "constant": false, + "name": "_param", + "scope": 8922, + "stateVariable": false, + "storageLocation": "default", + "type": "int256", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "int", + "type": "int256" + }, + "id": 8812, + "name": "ElementaryTypeName", + "src": "4738:3:26" + } + ], + "id": 8813, + "name": "VariableDeclaration", + "src": "4738:10:26" + } + ], + "id": 8814, + "name": "ParameterList", + "src": "4699:50:26" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 8922, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 8815, + "name": "ElementaryTypeName", + "src": "4765:4:26" + } + ], + "id": 8816, + "name": "VariableDeclaration", + "src": "4765:4:26" + } + ], + "id": 8817, + "name": "ParameterList", + "src": "4764:6:26" + }, + { + "children": [ + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9739, + "type": "function (bool) pure", + "value": "require" + }, + "id": 8818, + "name": "Identifier", + "src": "4841:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "==", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "intVote", + "referencedDeclaration": 8659, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VoteInOrganizationScheme.Parameters storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8666, + "type": "mapping(bytes32 => struct VoteInOrganizationScheme.Parameters storage ref)", + "value": "parameters" + }, + "id": 8819, + "name": "Identifier", + "src": "4849:10:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_Avatar_$3072", + "typeString": "contract Avatar" + } + ], + "overloadedDeclarations": [ + 7228 + ], + "referencedDeclaration": 7228, + "type": "function (contract Avatar) view returns (bytes32)", + "value": "getParametersFromController" + }, + "id": 8820, + "name": "Identifier", + "src": "4860:27:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 8821, + "name": "Identifier", + "src": "4888:6:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8811, + "type": "address", + "value": "_avatar" + }, + "id": 8822, + "name": "Identifier", + "src": "4895:7:26" + } + ], + "id": 8823, + "name": "FunctionCall", + "src": "4888:15:26" + } + ], + "id": 8824, + "name": "FunctionCall", + "src": "4860:44:26" + } + ], + "id": 8825, + "name": "IndexAccess", + "src": "4849:56:26" + } + ], + "id": 8826, + "name": "MemberAccess", + "src": "4849:64:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "sender", + "referencedDeclaration": null, + "type": "address" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 9736, + "type": "msg", + "value": "msg" + }, + "id": 8827, + "name": "Identifier", + "src": "4917:3:26" + } + ], + "id": 8828, + "name": "MemberAccess", + "src": "4917:10:26" + } + ], + "id": 8829, + "name": "BinaryOperation", + "src": "4849:78:26" + } + ], + "id": 8830, + "name": "FunctionCall", + "src": "4841:87:26" + } + ], + "id": 8831, + "name": "ExpressionStatement", + "src": "4841:87:26" + }, + { + "attributes": { + "assignments": [ + 8833 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "proposal", + "scope": 8922, + "stateVariable": false, + "storageLocation": "memory", + "type": "struct VoteInOrganizationScheme.VoteProposal memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "VoteProposal", + "referencedDeclaration": 8651, + "type": "struct VoteInOrganizationScheme.VoteProposal storage pointer" + }, + "id": 8832, + "name": "UserDefinedTypeName", + "src": "5002:12:26" + } + ], + "id": 8833, + "name": "VariableDeclaration", + "src": "5002:28:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "struct VoteInOrganizationScheme.VoteProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8657, + "type": "mapping(address => mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref))", + "value": "organizationsData" + }, + "id": 8834, + "name": "Identifier", + "src": "5033:17:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8811, + "type": "address", + "value": "_avatar" + }, + "id": 8835, + "name": "Identifier", + "src": "5051:7:26" + } + ], + "id": 8836, + "name": "IndexAccess", + "src": "5033:26:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8809, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 8837, + "name": "Identifier", + "src": "5060:11:26" + } + ], + "id": 8838, + "name": "IndexAccess", + "src": "5033:39:26" + } + ], + "id": 8839, + "name": "VariableDeclarationStatement", + "src": "5002:70:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "delete", + "prefix": true, + "type": "tuple()" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "struct VoteInOrganizationScheme.VoteProposal storage ref" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8657, + "type": "mapping(address => mapping(bytes32 => struct VoteInOrganizationScheme.VoteProposal storage ref))", + "value": "organizationsData" + }, + "id": 8840, + "name": "Identifier", + "src": "5090:17:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8811, + "type": "address", + "value": "_avatar" + }, + "id": 8841, + "name": "Identifier", + "src": "5108:7:26" + } + ], + "id": 8842, + "name": "IndexAccess", + "src": "5090:26:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8809, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 8843, + "name": "Identifier", + "src": "5117:11:26" + } + ], + "id": 8844, + "name": "IndexAccess", + "src": "5090:39:26" + } + ], + "id": 8845, + "name": "UnaryOperation", + "src": "5083:46:26" + } + ], + "id": 8846, + "name": "ExpressionStatement", + "src": "5083:46:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8644, + "type": "function (address,bytes32)", + "value": "ProposalDeleted" + }, + "id": 8847, + "name": "Identifier", + "src": "5140:15:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8811, + "type": "address", + "value": "_avatar" + }, + "id": 8848, + "name": "Identifier", + "src": "5156:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8809, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 8849, + "name": "Identifier", + "src": "5165:11:26" + } + ], + "id": 8850, + "name": "FunctionCall", + "src": "5140:37:26" + } + ], + "id": 8851, + "name": "ExpressionStatement", + "src": "5140:37:26" + }, + { + "attributes": { + "assignments": [ + 8853 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "retVal", + "scope": 8922, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 8852, + "name": "ElementaryTypeName", + "src": "5188:4:26" + } + ], + "id": 8853, + "name": "VariableDeclaration", + "src": "5188:11:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "74727565", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "bool", + "type": "bool", + "value": "true" + }, + "id": 8854, + "name": "Literal", + "src": "5202:4:26" + } + ], + "id": 8855, + "name": "VariableDeclarationStatement", + "src": "5188:18:26" + }, + { + "attributes": { + "falseBody": null + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "commonType": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "!=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8813, + "type": "int256", + "value": "_param" + }, + "id": 8856, + "name": "Identifier", + "src": "5260:6:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 8857, + "name": "Literal", + "src": "5270:1:26" + } + ], + "id": 8858, + "name": "BinaryOperation", + "src": "5260:11:26" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 8860 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "controller", + "scope": 8922, + "stateVariable": false, + "storageLocation": "default", + "type": "contract Controller", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "Controller", + "referencedDeclaration": 4157, + "type": "contract Controller" + }, + "id": 8859, + "name": "UserDefinedTypeName", + "src": "5338:10:26" + } + ], + "id": 8860, + "name": "VariableDeclaration", + "src": "5338:21:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Controller", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 4157, + "type": "type(contract Controller)", + "value": "Controller" + }, + "id": 8861, + "name": "Identifier", + "src": "5362:10:26" + }, + { + "attributes": { + "argumentTypes": null, + "arguments": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + null + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "owner", + "referencedDeclaration": 9088, + "type": "function () view external returns (address)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract Avatar", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 3072, + "type": "type(contract Avatar)", + "value": "Avatar" + }, + "id": 8862, + "name": "Identifier", + "src": "5373:6:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8811, + "type": "address", + "value": "_avatar" + }, + "id": 8863, + "name": "Identifier", + "src": "5380:7:26" + } + ], + "id": 8864, + "name": "FunctionCall", + "src": "5373:15:26" + } + ], + "id": 8865, + "name": "MemberAccess", + "src": "5373:21:26" + } + ], + "id": 8866, + "name": "FunctionCall", + "src": "5373:23:26" + } + ], + "id": 8867, + "name": "FunctionCall", + "src": "5362:35:26" + } + ], + "id": 8868, + "name": "VariableDeclarationStatement", + "src": "5338:59:26" + }, + { + "attributes": { + "assignments": [ + 8872 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "tmp", + "scope": 8922, + "stateVariable": false, + "storageLocation": "memory", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8870, + "name": "ElementaryTypeName", + "src": "5412:7:26" + } + ], + "id": 8871, + "name": "ArrayTypeName", + "src": "5412:9:26" + } + ], + "id": 8872, + "name": "VariableDeclaration", + "src": "5412:20:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": true, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32[] memory", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_3_by_1", + "typeString": "int_const 3" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "function (uint256) pure returns (bytes32[] memory)" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8873, + "name": "ElementaryTypeName", + "src": "5439:7:26" + } + ], + "id": 8874, + "name": "ArrayTypeName", + "src": "5439:9:26" + } + ], + "id": 8875, + "name": "NewExpression", + "src": "5435:13:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "33", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 3", + "value": "3" + }, + "id": 8876, + "name": "Literal", + "src": "5449:1:26" + } + ], + "id": 8877, + "name": "FunctionCall", + "src": "5435:16:26" + } + ], + "id": 8878, + "name": "VariableDeclarationStatement", + "src": "5412:39:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8872, + "type": "bytes32[] memory", + "value": "tmp" + }, + "id": 8879, + "name": "Identifier", + "src": "5466:3:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 8880, + "name": "Literal", + "src": "5470:1:26" + } + ], + "id": 8881, + "name": "IndexAccess", + "src": "5466:6:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 8882, + "name": "ElementaryTypeNameExpression", + "src": "5475:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_contract$_IntVoteInterface_$2658", + "typeString": "contract IntVoteInterface" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 8883, + "name": "ElementaryTypeNameExpression", + "src": "5483:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "originalIntVote", + "referencedDeclaration": 8646, + "type": "contract IntVoteInterface" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8833, + "type": "struct VoteInOrganizationScheme.VoteProposal memory", + "value": "proposal" + }, + "id": 8884, + "name": "Identifier", + "src": "5491:8:26" + } + ], + "id": 8885, + "name": "MemberAccess", + "src": "5491:24:26" + } + ], + "id": 8886, + "name": "FunctionCall", + "src": "5483:33:26" + } + ], + "id": 8887, + "name": "FunctionCall", + "src": "5475:42:26" + } + ], + "id": 8888, + "name": "Assignment", + "src": "5466:51:26" + } + ], + "id": 8889, + "name": "ExpressionStatement", + "src": "5466:51:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8872, + "type": "bytes32[] memory", + "value": "tmp" + }, + "id": 8890, + "name": "Identifier", + "src": "5532:3:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 8891, + "name": "Literal", + "src": "5536:1:26" + } + ], + "id": 8892, + "name": "IndexAccess", + "src": "5532:6:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "member_name": "originalProposalId", + "referencedDeclaration": 8648, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8833, + "type": "struct VoteInOrganizationScheme.VoteProposal memory", + "value": "proposal" + }, + "id": 8893, + "name": "Identifier", + "src": "5541:8:26" + } + ], + "id": 8894, + "name": "MemberAccess", + "src": "5541:27:26" + } + ], + "id": 8895, + "name": "Assignment", + "src": "5532:36:26" + } + ], + "id": 8896, + "name": "ExpressionStatement", + "src": "5532:36:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8872, + "type": "bytes32[] memory", + "value": "tmp" + }, + "id": 8897, + "name": "Identifier", + "src": "5583:3:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 8898, + "name": "Literal", + "src": "5587:1:26" + } + ], + "id": 8899, + "name": "IndexAccess", + "src": "5583:6:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bytes32", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(bytes32)", + "value": "bytes32" + }, + "id": 8900, + "name": "ElementaryTypeNameExpression", + "src": "5592:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8813, + "type": "int256", + "value": "_param" + }, + "id": 8901, + "name": "Identifier", + "src": "5600:6:26" + } + ], + "id": 8902, + "name": "FunctionCall", + "src": "5592:15:26" + } + ], + "id": 8903, + "name": "Assignment", + "src": "5583:24:26" + } + ], + "id": 8904, + "name": "ExpressionStatement", + "src": "5583:24:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "operator": "=", + "type": "bool" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8853, + "type": "bool", + "value": "retVal" + }, + "id": 8905, + "name": "Identifier", + "src": "5622:6:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_array$_t_bytes32_$dyn_memory_ptr", + "typeString": "bytes32[] memory" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "genericAction", + "referencedDeclaration": 3996, + "type": "function (bytes32[] memory) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8860, + "type": "contract Controller", + "value": "controller" + }, + "id": 8906, + "name": "Identifier", + "src": "5631:10:26" + } + ], + "id": 8907, + "name": "MemberAccess", + "src": "5631:24:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8872, + "type": "bytes32[] memory", + "value": "tmp" + }, + "id": 8908, + "name": "Identifier", + "src": "5656:3:26" + } + ], + "id": 8909, + "name": "FunctionCall", + "src": "5631:29:26" + } + ], + "id": 8910, + "name": "Assignment", + "src": "5622:38:26" + } + ], + "id": 8911, + "name": "ExpressionStatement", + "src": "5622:38:26" + } + ], + "id": 8912, + "name": "Block", + "src": "5273:401:26" + } + ], + "id": 8913, + "name": "IfStatement", + "src": "5256:418:26" + }, + { + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "tuple()", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8638, + "type": "function (address,bytes32)", + "value": "ProposalExecuted" + }, + "id": 8914, + "name": "Identifier", + "src": "5684:16:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8811, + "type": "address", + "value": "_avatar" + }, + "id": 8915, + "name": "Identifier", + "src": "5701:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8809, + "type": "bytes32", + "value": "_proposalId" + }, + "id": 8916, + "name": "Identifier", + "src": "5710:11:26" + } + ], + "id": 8917, + "name": "FunctionCall", + "src": "5684:38:26" + } + ], + "id": 8918, + "name": "ExpressionStatement", + "src": "5684:38:26" + }, + { + "attributes": { + "functionReturnParameters": 8817 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8853, + "type": "bool", + "value": "retVal" + }, + "id": 8919, + "name": "Identifier", + "src": "5740:6:26" + } + ], + "id": 8920, + "name": "Return", + "src": "5733:13:26" + } + ], + "id": 8921, + "name": "Block", + "src": "4771:983:26" + } + ], + "id": 8922, + "name": "FunctionDefinition", + "src": "4683:1071:26" + }, + { + "attributes": { + "constant": false, + "implemented": true, + "isConstructor": false, + "modifiers": [ + null + ], + "name": "action", + "payable": false, + "scope": 8954, + "stateMutability": "nonpayable", + "superFunction": 2796, + "visibility": "public" + }, + "children": [ + { + "children": [ + { + "attributes": { + "constant": false, + "name": "_params", + "scope": 8953, + "stateVariable": false, + "storageLocation": "default", + "type": "bytes32[] memory", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "length": null, + "type": "bytes32[] storage pointer" + }, + "children": [ + { + "attributes": { + "name": "bytes32", + "type": "bytes32" + }, + "id": 8923, + "name": "ElementaryTypeName", + "src": "6213:7:26" + } + ], + "id": 8924, + "name": "ArrayTypeName", + "src": "6213:9:26" + } + ], + "id": 8925, + "name": "VariableDeclaration", + "src": "6213:17:26" + } + ], + "id": 8926, + "name": "ParameterList", + "src": "6212:19:26" + }, + { + "children": [ + { + "attributes": { + "constant": false, + "name": "", + "scope": 8953, + "stateVariable": false, + "storageLocation": "default", + "type": "bool", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "name": "bool", + "type": "bool" + }, + "id": 8927, + "name": "ElementaryTypeName", + "src": "6247:4:26" + } + ], + "id": 8928, + "name": "VariableDeclaration", + "src": "6247:4:26" + } + ], + "id": 8929, + "name": "ParameterList", + "src": "6246:6:26" + }, + { + "children": [ + { + "attributes": { + "assignments": [ + 8931 + ] + }, + "children": [ + { + "attributes": { + "constant": false, + "name": "intVote", + "scope": 8953, + "stateVariable": false, + "storageLocation": "default", + "type": "contract IntVoteInterface", + "value": null, + "visibility": "internal" + }, + "children": [ + { + "attributes": { + "contractScope": null, + "name": "IntVoteInterface", + "referencedDeclaration": 2658, + "type": "contract IntVoteInterface" + }, + "id": 8930, + "name": "UserDefinedTypeName", + "src": "6264:16:26" + } + ], + "id": 8931, + "name": "VariableDeclaration", + "src": "6264:24:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "contract IntVoteInterface", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 2658, + "type": "type(contract IntVoteInterface)", + "value": "IntVoteInterface" + }, + "id": 8932, + "name": "Identifier", + "src": "6291:16:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "address", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(address)", + "value": "address" + }, + "id": 8933, + "name": "ElementaryTypeNameExpression", + "src": "6308:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8925, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 8934, + "name": "Identifier", + "src": "6316:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "30", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 0", + "value": "0" + }, + "id": 8935, + "name": "Literal", + "src": "6324:1:26" + } + ], + "id": 8936, + "name": "IndexAccess", + "src": "6316:10:26" + } + ], + "id": 8937, + "name": "FunctionCall", + "src": "6308:19:26" + } + ], + "id": 8938, + "name": "FunctionCall", + "src": "6291:37:26" + } + ], + "id": 8939, + "name": "VariableDeclarationStatement", + "src": "6264:64:26" + }, + { + "attributes": { + "functionReturnParameters": 8929 + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "bool", + "type_conversion": false + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "member_name": "vote", + "referencedDeclaration": 2609, + "type": "function (bytes32,uint256) external returns (bool)" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8931, + "type": "contract IntVoteInterface", + "value": "intVote" + }, + "id": 8940, + "name": "Identifier", + "src": "6346:7:26" + } + ], + "id": 8941, + "name": "MemberAccess", + "src": "6346:12:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8925, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 8942, + "name": "Identifier", + "src": "6359:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "31", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 1", + "value": "1" + }, + "id": 8943, + "name": "Literal", + "src": "6367:1:26" + } + ], + "id": 8944, + "name": "IndexAccess", + "src": "6359:10:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": false, + "isPure": false, + "isStructConstructorCall": false, + "lValueRequested": false, + "names": [ + null + ], + "type": "uint256", + "type_conversion": true + }, + "children": [ + { + "attributes": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "type": "type(uint256)", + "value": "uint" + }, + "id": 8945, + "name": "ElementaryTypeNameExpression", + "src": "6371:4:26" + }, + { + "attributes": { + "argumentTypes": null, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "type": "bytes32" + }, + "children": [ + { + "attributes": { + "argumentTypes": null, + "overloadedDeclarations": [ + null + ], + "referencedDeclaration": 8925, + "type": "bytes32[] memory", + "value": "_params" + }, + "id": 8946, + "name": "Identifier", + "src": "6376:7:26" + }, + { + "attributes": { + "argumentTypes": null, + "hexvalue": "32", + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "subdenomination": null, + "token": "number", + "type": "int_const 2", + "value": "2" + }, + "id": 8947, + "name": "Literal", + "src": "6384:1:26" + } + ], + "id": 8948, + "name": "IndexAccess", + "src": "6376:10:26" + } + ], + "id": 8949, + "name": "FunctionCall", + "src": "6371:16:26" + } + ], + "id": 8950, + "name": "FunctionCall", + "src": "6346:42:26" + } + ], + "id": 8951, + "name": "Return", + "src": "6339:49:26" + } + ], + "id": 8952, + "name": "Block", + "src": "6253:143:26" + } + ], + "id": 8953, + "name": "FunctionDefinition", + "src": "6197:199:26" + } + ], + "id": 8954, + "name": "ContractDefinition", + "src": "267:6132:26" + } + ], + "id": 8955, + "name": "SourceUnit", + "src": "0:6401:26" + }, + "compiler": { + "name": "solc", + "version": "0.4.18+commit.9cf6e910.Emscripten.clang" + }, + "networks": {}, + "schemaVersion": "1.0.1", + "updatedAt": "2017-12-29T21:23:16.930Z" +} \ No newline at end of file diff --git a/dist/absoluteVote.js b/dist/absoluteVote.js index 9c6d7cd96..83ba282da 100644 --- a/dist/absoluteVote.js +++ b/dist/absoluteVote.js @@ -35,7 +35,7 @@ var AbsoluteVote = exports.AbsoluteVote = function (_ExtendTruffleContrac) { }], [{ key: "new", value: async function _new() { - contract = await SolidityAbsoluteVote.new(); + var contract = await SolidityAbsoluteVote.new(); return new this(contract); } }]); diff --git a/dist/arc.js b/dist/arc.js index f60af2d72..7cecabf52 100644 --- a/dist/arc.js +++ b/dist/arc.js @@ -52,14 +52,14 @@ Object.keys(_schemeregistrar).forEach(function (key) { }); }); -var _simplecontributionscheme = require('./simplecontributionscheme.js'); +var _contributionreward = require('./contributionreward.js'); -Object.keys(_simplecontributionscheme).forEach(function (key) { +Object.keys(_contributionreward).forEach(function (key) { if (key === "default" || key === "__esModule") return; Object.defineProperty(exports, key, { enumerable: true, get: function get() { - return _simplecontributionscheme[key]; + return _contributionreward[key]; } }); }); @@ -119,7 +119,7 @@ var _settings = require('./settings.js'); // import * as BigNumber from 'bignumber.js'; /** - * Configure the daostack-arc module. + * Configure the daostack-arc-js module. * * @return: Web3 web3 as a convenience for the client. * `web3` is set automatically in testing and migration, or elsewhere (development, production) @@ -164,7 +164,7 @@ async function getDeployedContracts() { var contracts = (await (0, _settings.getSettings)()).daostackContracts; return { allContracts: contracts, - schemes: [contracts.SchemeRegistrar, contracts.UpgradeScheme, contracts.GlobalConstraintRegistrar, contracts.SimpleContributionScheme], + schemes: [contracts.SchemeRegistrar, contracts.UpgradeScheme, contracts.GlobalConstraintRegistrar, contracts.ContributionReward], votingMachines: [contracts.AbsoluteVote], globalConstraints: [contracts.TokenCapGC] }; diff --git a/dist/simplecontributionscheme.js b/dist/contributionreward.js similarity index 86% rename from dist/simplecontributionscheme.js rename to dist/contributionreward.js index 593796d64..6fdc8a9df 100644 --- a/dist/simplecontributionscheme.js +++ b/dist/contributionreward.js @@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -exports.SimpleContributionScheme = undefined; +exports.ContributionReward = undefined; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); @@ -17,21 +17,21 @@ function _inherits(subClass, superClass) { if (typeof superClass !== "function" var dopts = require('default-options'); -var SoliditySimpleContributionScheme = (0, _utils.requireContract)("SimpleContributionScheme"); +var SolidityContributionReward = (0, _utils.requireContract)("ContributionReward"); var DAOToken = (0, _utils.requireContract)("DAOToken"); -var SimpleContributionScheme = function (_ExtendTruffleContrac) { - _inherits(SimpleContributionScheme, _ExtendTruffleContrac); +var ContributionReward = function (_ExtendTruffleContrac) { + _inherits(ContributionReward, _ExtendTruffleContrac); - function SimpleContributionScheme() { - _classCallCheck(this, SimpleContributionScheme); + function ContributionReward() { + _classCallCheck(this, ContributionReward); - return _possibleConstructorReturn(this, (SimpleContributionScheme.__proto__ || Object.getPrototypeOf(SimpleContributionScheme)).apply(this, arguments)); + return _possibleConstructorReturn(this, (ContributionReward.__proto__ || Object.getPrototypeOf(ContributionReward)).apply(this, arguments)); } - _createClass(SimpleContributionScheme, [{ - key: 'proposeContribution', - value: async function proposeContribution() { + _createClass(ContributionReward, [{ + key: 'proposeContributionReward', + value: async function proposeContributionReward() { var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; /** @@ -136,7 +136,10 @@ var SimpleContributionScheme = function (_ExtendTruffleContrac) { // console.log(`********* options.externalTokenReward ${options.externalTokenReward} **********`); // console.log(`********* options.beneficiary ${options.beneficiary} **********`); - var tx = await this.contract.submitContribution(options.avatar, options.description, nativeTokenReward, reputationReward, ethReward, options.externalToken, externalTokenReward, options.beneficiary); + + var tx = await this.contract.submitContribution(options.avatar, + // web3.utils.soliditySha3(options.description), this is available in web3 1.0 + (0, _utils.SHA3)(options.description), [nativeTokenReward, reputationReward, ethReward, options.externalToken, externalTokenReward], options.externalToken, options.beneficiary); return tx; } }, { @@ -172,12 +175,12 @@ var SimpleContributionScheme = function (_ExtendTruffleContrac) { token = await DAOToken.at(options.tokenAddress); } - contract = await SoliditySimpleContributionScheme.new(token.address, options.fee, options.beneficiary); + var contract = await SolidityContributionReward.new(token.address, options.fee, options.beneficiary); return new this(contract); } }]); - return SimpleContributionScheme; -}((0, _utils.ExtendTruffleContract)(SoliditySimpleContributionScheme)); + return ContributionReward; +}((0, _utils.ExtendTruffleContract)(SolidityContributionReward)); -exports.SimpleContributionScheme = SimpleContributionScheme; \ No newline at end of file +exports.ContributionReward = ContributionReward; \ No newline at end of file diff --git a/dist/daostack.js b/dist/daostack.js deleted file mode 100644 index 7d22af2b2..000000000 --- a/dist/daostack.js +++ /dev/null @@ -1,49 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.Organization = exports.daostack = undefined; - -var _organization = require('./organization.js'); - -/** - * DEPRECATED. See arc.js - * DAOStack library - * - */ -// TODO: documentation! - -var daostack = function () { - - // async function _checkForNecessaryFunds() { - // // TODO: this is not working at all yet: the idea is that we check some precodnitions - // // to be able to give some useful user feedback - // return true; - // - // // check if we have tokens in the schemeregistrar for adding an organization - // const schemeRegistrarTokenAddress = await schemeRegistrar.nativeToken(); - // const schemeRegistrarToken = await DAOToken.at(schemeRegistrarTokenAddress); - // const avatarBalance = await schemeRegistrarToken.balanceOf(avatar.address); - // const fee = await schemeRegistrar.fee(); - // - // // check if we have the funds to pay the fee - // if (avatarBalance.toNumber() < fee.toNumber()) { - // throw new Error('The balance of the controller\'s avatar is too low to pay the fee for adding an organization. Balance: ' + ourBalance.valueOf() + 'fee: ' + fee); - // } - // - // const beneficiary = await schemeRegistrar.beneficiary(); - // await controller.ExternalTokenApprove(schemeRegistrarToken, beneficiary, fee.toNumber()); - // // check if externaltokenapprove has indeed approved the right allowance - // // TODO: move this to a separate test on the controller - // const allowance = await schemeRegistrarToken.allowance(avatar.address, beneficiary); - // if (allowance.toNumber() < fee.toNumber()) { - // throw new Error('The allowance of the controllers avatar to the registrars beneficiary is too low to pay the fee for adding an organization. Balance: ' + ourBalance.valueOf() + 'fee: ' + fee); - // } - // } - - return {}; -}(); - -exports.daostack = daostack; -exports.Organization = _organization.Organization; \ No newline at end of file diff --git a/dist/globalconstraintregistrar.js b/dist/globalconstraintregistrar.js index bbc666d35..e23478cbc 100644 --- a/dist/globalconstraintregistrar.js +++ b/dist/globalconstraintregistrar.js @@ -143,7 +143,7 @@ var GlobalConstraintRegistrar = exports.GlobalConstraintRegistrar = function (_E token = await DAOToken.at(options.tokenAddress); } - contract = await SolidityGlobalConstraintRegistrar.new(token.address, options.fee, options.beneficiary); + var contract = await SolidityGlobalConstraintRegistrar.new(token.address, options.fee, options.beneficiary); return new this(contract); } }]); diff --git a/dist/organization.js b/dist/organization.js index 6db5a4aa0..d1b9b2947 100644 --- a/dist/organization.js +++ b/dist/organization.js @@ -29,7 +29,7 @@ var AbsoluteVote = (0, _utils.requireContract)("AbsoluteVote"); var CONTRACT_SCHEMEREGISTRAR = 'SchemeRegistrar'; var CONTRACT_UPGRADESCHEME = 'UpgradeScheme'; var CONTRACT_GLOBALCONSTRAINTREGISTRAR = 'GlobalConstraintRegistrar'; -// const CONTRACT_SIMPLECONTRIBUTIONSCHEME = 'SimpleContributionScheme'; +// const CONTRACT_ContributionReward = 'ContributionReward'; var Organization = exports.Organization = function () { function Organization() { @@ -68,7 +68,7 @@ var Organization = exports.Organization = function () { // private method returns all registered schemes. // TODO: this is *expensive*, we need to cache the results (and perhaps poll for latest changes if necessary) - var schemesMap = new Map(); // + var schemesMap = new Map(); // var controller = this.controller; var arcTypesMap = new Map(); // var settings = await (0, _settings.getSettings)(); @@ -87,24 +87,42 @@ var Organization = exports.Organization = function () { await new Promise(function (resolve) { registerSchemeEvent.get(function (err, eventsArray) { return _this._handleSchemeEvent(err, eventsArray, true, arcTypesMap, schemesMap).then(function () { + registerSchemeEvent.stopWatching(); resolve(); }); }); - registerSchemeEvent.stopWatching(); }); - var unRegisterSchemeEvent = controller.UnregisterScheme({}, { fromBlock: 0, toBlock: 'latest' }); + var registeredSchemes = []; - await new Promise(function (resolve) { - unRegisterSchemeEvent.get(function (err, eventsArray) { - return _this._handleSchemeEvent(err, eventsArray, false, arcTypesMap, schemesMap).then(function () { - resolve(); - }); - }); - unRegisterSchemeEvent.stopWatching(); - }); + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = schemesMap.values()[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var scheme = _step.value; + + if (await this.controller.isSchemeRegistered(scheme.address)) { + registeredSchemes.push(scheme); + } + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } - return Array.from(schemesMap.values()); + return registeredSchemes; } }, { key: '_handleSchemeEvent', @@ -126,22 +144,19 @@ var Organization = exports.Organization = function () { name: arcTypesMap.get(schemeAddress) }; - if (adding) { - schemesMap.set(schemeAddress, schemeInfo); - } else if (schemesMap.has(schemeAddress)) { - schemesMap.delete(schemeAddress); - } + schemesMap.set(schemeAddress, schemeInfo); } } /** * Returns promise of a scheme as ExtendTruffleScheme, or ? if not found * @param contract name of scheme, like "SchemeRegistrar" + * @param optional address */ }, { key: 'scheme', - value: async function scheme(contract) { + value: async function scheme(contract, address) { // returns the schemes can be used to register other schemes // TODO: error handling: throw an error if such a schem does not exist, and also if there is more htan one var settings = await (0, _settings.getSettings)(); @@ -150,7 +165,7 @@ var Organization = exports.Organization = function () { // const isSchemeRegistered = await this.controller.isSchemeRegistered(contractInfo.address); // assert.equal(isSchemeRegistered, true, `${contract} is not registered with the controller`); - return contractInfo.contract.at(contractInfo.address); + return contractInfo.contract.at(address ? address : contractInfo.address); } }, { key: 'checkSchemeConditions', @@ -198,8 +213,8 @@ var Organization = exports.Organization = function () { votingMachine: settings.daostackContracts.AbsoluteVote.address, votePrec: 50, ownerVote: true, - orgNativeTokenFee: 0, // used for SimpleContributionScheme - schemeNativeTokenFee: 0, // used for SimpleContributionScheme + orgNativeTokenFee: 0, // used for ContributionReward + schemeNativeTokenFee: 0, // used for ContributionReward genesisScheme: settings.daostackContracts.GenesisScheme.address, schemes: [{ name: CONTRACT_SCHEMEREGISTRAR, @@ -224,11 +239,11 @@ var Organization = exports.Organization = function () { return x.reputation; })); // get the address of the avatar from the logs - var avatarAddress = (0, _utils.getValueFromLogs)(tx, '_avatar'); + var avatarAddress = (0, _utils.getValueFromLogs)(tx, '_avatar', "NewOrg"); var org = new Organization(); - options.avatar = avatarAddress; - org.avatar = await Avatar.at(options.avatar); + org.avatar = await Avatar.at(avatarAddress); + console.log('avatar: ' + org.avatar); var controllerAddress = await org.avatar.owner(); org.controller = await Controller.at(controllerAddress); @@ -250,13 +265,13 @@ var Organization = exports.Organization = function () { var initialSchemesFees = []; var initialSchemesPermissions = []; - var _iteratorNormalCompletion = true; - var _didIteratorError = false; - var _iteratorError = undefined; + var _iteratorNormalCompletion2 = true; + var _didIteratorError2 = false; + var _iteratorError2 = undefined; try { - for (var _iterator = options.schemes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { - var optionScheme = _step.value; + for (var _iterator2 = options.schemes[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) { + var optionScheme = _step2.value; var arcSchemeInfo = settings.daostackContracts[optionScheme.name]; @@ -278,33 +293,31 @@ var Organization = exports.Organization = function () { // register the schemes with the organization } catch (err) { - _didIteratorError = true; - _iteratorError = err; + _didIteratorError2 = true; + _iteratorError2 = err; } finally { try { - if (!_iteratorNormalCompletion && _iterator.return) { - _iterator.return(); + if (!_iteratorNormalCompletion2 && _iterator2.return) { + _iterator2.return(); } } finally { - if (_didIteratorError) { - throw _iteratorError; + if (_didIteratorError2) { + throw _iteratorError2; } } } - await genesisScheme.setInitialSchemes(org.avatar.address, initialSchemesAddresses, initialSchemesParams, initialSchemesTokenAddresses, initialSchemesFees, initialSchemesPermissions); + await genesisScheme.setSchemes(org.avatar.address, initialSchemesAddresses, initialSchemesParams, initialSchemesTokenAddresses, initialSchemesFees, initialSchemesPermissions); // transfer what we need for fees to register the organization at the given schemes // TODO: check if we have the funds, if not, throw an exception // fee = await org.schemeRegistrar.fee()) - // we must do this after setInitialSchemes, because that one approves the transactions + // we must do this after setSchemes, because that one approves the transactions // (but that logic shoudl change) - var token = void 0, - fee = void 0; for (var i = 0; i < initialSchemesAddresses.length; i = i + 1) { - scheme = await _schemeregistrar.SchemeRegistrar.at(initialSchemesAddresses[i]); - token = await DAOToken.at(initialSchemesTokenAddresses[i]); - fee = initialSchemesFees[i]; + var scheme = await _schemeregistrar.SchemeRegistrar.at(initialSchemesAddresses[i]); + var token = await DAOToken.at(initialSchemesTokenAddresses[i]); + var fee = initialSchemesFees[i]; await token.transfer(org.avatar.address, fee); await scheme.registerOrganization(org.avatar.address); } diff --git a/dist/schemeregistrar.js b/dist/schemeregistrar.js index 32b2a6249..82b080c44 100644 --- a/dist/schemeregistrar.js +++ b/dist/schemeregistrar.js @@ -64,7 +64,7 @@ var SchemeRegistrar = exports.SchemeRegistrar = function (_ExtendTruffleContrac) */ , scheme: undefined /** - * scheme identifier, like "SchemeRegistrar" or "SimpleContributionScheme". + * scheme identifier, like "SchemeRegistrar" or "ContributionReward". * pass null if registering a non-arc scheme */ , schemeName: null @@ -100,12 +100,6 @@ var SchemeRegistrar = exports.SchemeRegistrar = function (_ExtendTruffleContrac) * Otherwise we determine it's value based on scheme and schemeName. */ , isRegistering: null - /** - * true to register organization into the scheme when the proposal is approved. - * If false then caller must do it manually via scheme.registerOrganization(avatarAddress). - * Default is true. - */ - , autoRegister: true }; var options = dopts(opts, defaults, { allowUnknown: true }); @@ -131,11 +125,13 @@ var SchemeRegistrar = exports.SchemeRegistrar = function (_ExtendTruffleContrac) var fee = web3.toBigNumber(options.fee); var tokenAddress = options.tokenAddress; var isRegistering = void 0; + var autoRegister = void 0; if (options.schemeName) { try { var settings = await (0, _settings.getSettings)(); var newScheme = await settings.daostackContracts[options.schemeName].contract.at(options.scheme); + autoRegister = true; if (!feeIsDefined || !tokenAddressIsDefined) { if (!feeIsDefined) { @@ -146,8 +142,6 @@ var SchemeRegistrar = exports.SchemeRegistrar = function (_ExtendTruffleContrac) } } - isRegistering = (permissions & 2) != 0; - // Note that the javascript wrapper "newScheme" we've gotten here is defined in this version of Arc. If newScheme is // actually coming from a different version of Arc, then theoretically the permissions could be different from this version. var permissions = Number(newScheme.getDefaultPermissions()); @@ -155,12 +149,15 @@ var SchemeRegistrar = exports.SchemeRegistrar = function (_ExtendTruffleContrac) if (permissions > this.getDefaultPermissions()) { throw new Error("SchemeRegistrar cannot work with schemes having greater permissions than its own"); } + + isRegistering = (permissions & 2) != 0; } catch (ex) { - throw new Error('Unable to obtain default information from the given scheme address. The scheme is probably not an Arc scheme and in that case you must supply fee and tokenAddress. ' + ex); + throw new Error('Unable to obtain default information from the given scheme address. The address is invalid or the scheme is not an Arc scheme and in that case you must supply fee and tokenAddress. ' + ex); } } else { isRegistering = options.isRegistering; + autoRegister = false; // see https://github.com/daostack/daostack/issues/181#issuecomment-353210642 if (!feeIsDefined || !tokenAddressIsDefined) { throw new Error("fee/tokenAddress are not defined; they are required for non-Arc schemes (schemeName is undefined)"); @@ -175,7 +172,7 @@ var SchemeRegistrar = exports.SchemeRegistrar = function (_ExtendTruffleContrac) } } - var tx = await this.contract.proposeScheme(options.avatar, options.scheme, options.schemeParametersHash, isRegistering, tokenAddress, fee, options.autoRegister); + var tx = await this.contract.proposeScheme(options.avatar, options.scheme, options.schemeParametersHash, isRegistering, tokenAddress, fee, autoRegister); return tx; } @@ -241,7 +238,7 @@ var SchemeRegistrar = exports.SchemeRegistrar = function (_ExtendTruffleContrac) token = await DAOToken.at(options.tokenAddress); } - contract = await SoliditySchemeRegistrar.new(token.address, options.fee, options.beneficiary); + var contract = await SoliditySchemeRegistrar.new(token.address, options.fee, options.beneficiary); return new this(contract); } }]); diff --git a/dist/settings.js b/dist/settings.js index f9cf62a9f..5192044ff 100644 --- a/dist/settings.js +++ b/dist/settings.js @@ -1,27 +1,25 @@ -"use strict"; +'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.getSettings = undefined; -var _utils = require("./utils.js"); +var _utils = require('./utils.js'); -var _globalconstraintregistrar = require("./globalconstraintregistrar.js"); +var _globalconstraintregistrar = require('./globalconstraintregistrar.js'); -var _schemeregistrar = require("./schemeregistrar.js"); +var _schemeregistrar = require('./schemeregistrar.js'); -var _simplecontributionscheme = require("./simplecontributionscheme.js"); +var _contributionreward = require('./contributionreward.js'); -var _absoluteVote = require("./absoluteVote.js"); +var _absoluteVote = require('./absoluteVote.js'); -var _tokenCapGC = require("./tokenCapGC.js"); +var _tokenCapGC = require('./tokenCapGC.js'); -var _upgradescheme = require("./upgradescheme.js"); +var _upgradescheme = require('./upgradescheme.js'); -// TODO: these are settings for testing. Need some way to switch to "production settings" var GenesisScheme = (0, _utils.requireContract)("GenesisScheme"); -var SimpleICO = (0, _utils.requireContract)("SimpleICO"); /** * These are uninitialized instances of ExtendTruffleContract, @@ -36,11 +34,10 @@ var getSettings = async function getSettings() { * * `deployed()` is a static method on each of those classes. **/ - var contributionScheme = await _simplecontributionscheme.SimpleContributionScheme.deployed(); + var contributionReward = await _contributionreward.ContributionReward.deployed(); var genesisScheme = await GenesisScheme.deployed(); var globalConstraintRegistrar = await _globalconstraintregistrar.GlobalConstraintRegistrar.deployed(); var schemeRegistrar = await _schemeregistrar.SchemeRegistrar.deployed(); - var simpleICO = await SimpleICO.deployed(); var tokenCapGC = await _tokenCapGC.TokenCapGC.deployed(); var upgradeScheme = await _upgradescheme.UpgradeScheme.deployed(); var absoluteVote = await _absoluteVote.AbsoluteVote.deployed(); @@ -54,9 +51,9 @@ var getSettings = async function getSettings() { return { votingMachine: absoluteVote.address, daostackContracts: { - SimpleContributionScheme: { - contract: _simplecontributionscheme.SimpleContributionScheme, - address: contributionScheme.address + ContributionReward: { + contract: _contributionreward.ContributionReward, + address: contributionReward.address }, GenesisScheme: { contract: GenesisScheme, @@ -70,10 +67,6 @@ var getSettings = async function getSettings() { contract: _schemeregistrar.SchemeRegistrar, address: schemeRegistrar.address }, - SimpleICO: { - contract: SimpleICO, - address: simpleICO.address - }, TokenCapGC: { contract: _tokenCapGC.TokenCapGC, address: tokenCapGC.address diff --git a/dist/simplevote.js b/dist/simplevote.js deleted file mode 100644 index f7c465815..000000000 --- a/dist/simplevote.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.SimpleVote = undefined; - -var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); - -var _utils = require("./utils.js"); - -function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - -function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } - -function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // - - -var SoliditySimpleVote = (0, _utils.requireContract)("SimpleVote"); - -/** - * DEPRECATED - */ - -var SimpleVote = function (_ExtendTruffleContrac) { - _inherits(SimpleVote, _ExtendTruffleContrac); - - function SimpleVote() { - _classCallCheck(this, SimpleVote); - - return _possibleConstructorReturn(this, (SimpleVote.__proto__ || Object.getPrototypeOf(SimpleVote)).apply(this, arguments)); - } - - _createClass(SimpleVote, [{ - key: "vote", - value: async function vote(proposalId) { - // check preconditions for voting - proposalInfo = await this.contract.proposals(proposalId); - // console.log(proposalInfo); - // a propsoal has the following structure - // 0. address owner; - // 1. address avatar; - // 2. ExecutableInterface executable; - // 3. bytes32 paramsHash; - // 4. uint yes; // total 'yes' votes - // 5. uint no; // total 'no' votes - // MAPPING is skipped in the reutnr value... - // X.mapping(address=>int) voted; // save the amount of reputation voted by an agent (positive sign is yes, negatice is no) - // 6. bool opened; // voting opened flag - // 7. bool ended; // voting had ended flag - // the prposal must be opened, but not ended - assert.ok(proposalInfo[6]); // proposal.opened is true - assert.notOk(proposalInfo[7]); // proposal.Ended is false - // call this.contract.vote(proposalId, ...); - } - }]); - - return SimpleVote; -}((0, _utils.ExtendTruffleContract)(SoliditySimpleVote)); - -exports.SimpleVote = SimpleVote; \ No newline at end of file diff --git a/dist/tokenCapGC.js b/dist/tokenCapGC.js index 068e51c16..6b1db6a8e 100644 --- a/dist/tokenCapGC.js +++ b/dist/tokenCapGC.js @@ -35,7 +35,7 @@ var TokenCapGC = exports.TokenCapGC = function (_ExtendTruffleContrac) { }], [{ key: "new", value: async function _new() { - contract = await SolidityTokenCapGC.new(); + var contract = await SolidityTokenCapGC.new(); return new this(contract); } }]); diff --git a/dist/upgradescheme.js b/dist/upgradescheme.js index 548e6b5a2..294a0bb81 100644 --- a/dist/upgradescheme.js +++ b/dist/upgradescheme.js @@ -151,6 +151,7 @@ var UpgradeScheme = exports.UpgradeScheme = function (_ExtendTruffleContrac) { try { var settings = await (0, _settings.getSettings)(); var newScheme = await settings.daostackContracts.UpgradeScheme.contract.at(options.scheme); + if (!feeIsDefined) { fee = await newScheme.fee(); } @@ -158,7 +159,7 @@ var UpgradeScheme = exports.UpgradeScheme = function (_ExtendTruffleContrac) { tokenAddress = await newScheme.nativeToken(); } } catch (ex) { - // throw new Error("Unable to obtain default information from the given scheme address. The scheme is probably not an Arc UpgradeScheme and in that case you must supply fee and tokenAddress."); + throw new Error('Unable to obtain default information from the given scheme address. The address is invalid or the scheme is not an Arc scheme and in that case you must supply fee and tokenAddress. ' + ex); } } @@ -203,7 +204,7 @@ var UpgradeScheme = exports.UpgradeScheme = function (_ExtendTruffleContrac) { token = await DAOToken.at(options.tokenAddress); } - contract = await SolidityUpgradeScheme.new(token.address, options.fee, options.beneficiary); + var contract = await SolidityUpgradeScheme.new(token.address, options.fee, options.beneficiary); return new this(contract); } }]); diff --git a/dist/utils.js b/dist/utils.js index c958ecfa0..55170e45c 100644 --- a/dist/utils.js +++ b/dist/utils.js @@ -11,6 +11,7 @@ exports.requireContract = requireContract; exports.getWeb3 = getWeb3; exports.getValueFromLogs = getValueFromLogs; exports.getDefaultAccount = getDefaultAccount; +exports.SHA3 = SHA3; var _web = require('web3'); @@ -23,6 +24,9 @@ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Cons // some utility functions var TruffleContract = require('truffle-contract'); + +var abi = require('ethereumjs-abi'); + var NULL_ADDRESS = exports.NULL_ADDRESS = '0x0000000000000000000000000000000000000000'; var NULL_HASH = exports.NULL_HASH = '0x0000000000000000000000000000000000000000000000000000000000000000'; @@ -42,15 +46,15 @@ function requireContract(contractName) { try { var myWeb3 = getWeb3(); - var artifact = require('../build/contracts/' + contractName + '.json'); - var _contract = new TruffleContract(artifact); + var artifact = require('../contracts/' + contractName + '.json'); + var contract = new TruffleContract(artifact); - _contract.setProvider(myWeb3.currentProvider); - _contract.defaults({ + contract.setProvider(myWeb3.currentProvider); + contract.defaults({ from: getDefaultAccount(), - gas: 0x442168 + gas: 6500000 }); - return _contract; + return contract; } catch (ex) { return undefined; } @@ -103,6 +107,12 @@ function getValueFromLogs(tx, arg, eventName) { /** * + * tx is an object with the following values: + * + * tx.tx => transaction hash, string + * tx.logs => array of decoded events that were triggered within this transaction + * tx.receipt => transaction receipt object, which includes gas used + * * tx.logs look like this: * * [ { logIndex: 13, @@ -133,10 +143,15 @@ function getValueFromLogs(tx, arg, eventName) { } else if (index === undefined) { index = tx.logs.length - 1; } + if (tx.logs[index].type !== 'mined') { + var _msg = 'getValueFromLogs: transaction has not been mined: ' + tx.logs[index].event; + throw new Error(_msg); + } var result = tx.logs[index].args[arg]; + if (!result) { - var _msg = 'getValueFromLogs: This log does not seem to have a field "' + arg + '": ' + tx.logs[index].args; - throw new Error(_msg); + var _msg2 = 'getValueFromLogs: This log does not seem to have a field "' + arg + '": ' + tx.logs[index].args; + throw new Error(_msg2); } return result; } @@ -157,6 +172,16 @@ function getDefaultAccount() { return defaultAccount; } +/** + * Hash a string the same way solidity does, and to a format that will be properly translated into a bytes32 that solidity expects + * @param str a string + */ +function SHA3(str) { + var result = '0x' + abi.soliditySHA3(["string"], [str]).toString('hex'); + // console.log("SHA3: " + result); + return result; +} + var ExtendTruffleContract = exports.ExtendTruffleContract = function ExtendTruffleContract(superclass) { return function () { function _class(contract) { @@ -191,7 +216,7 @@ var ExtendTruffleContract = exports.ExtendTruffleContract = function ExtendTruff * voteParametersHash * votingMachine -- address * - * for SimpleContributionScheme: + * for ContributionReward: * orgNativeTokenFee -- number * schemeNativeTokenFee -- number */ @@ -202,12 +227,10 @@ var ExtendTruffleContract = exports.ExtendTruffleContract = function ExtendTruff }, { key: '_setParameters', value: async function _setParameters() { - for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } + var _contract, _contract2; - var parametersHash = await this.contract.getParametersHash(args); - await this.contract.setParameters(args); + var parametersHash = await (_contract = this.contract).getParametersHash.apply(_contract, arguments); + await (_contract2 = this.contract).setParameters.apply(_contract2, arguments); return parametersHash; } @@ -223,18 +246,35 @@ var ExtendTruffleContract = exports.ExtendTruffleContract = function ExtendTruff }], [{ key: 'new', value: async function _new() { - contract = await superclass.new(); - return new this(contract); + var _this = this; + + return superclass.new().then(function (contract) { + return new _this(contract); + }, function (ex) { + throw ex; + }); } }, { key: 'at', value: async function at(address) { - return new this((await superclass.at(address))); + var _this2 = this; + + return superclass.at(address).then(function (contract) { + return new _this2(contract); + }, function (ex) { + throw ex; + }); } }, { key: 'deployed', value: async function deployed() { - return new this((await superclass.deployed())); + var _this3 = this; + + return superclass.deployed().then(function (contract) { + return new _this3(contract); + }, function (ex) { + throw ex; + }); } }]); diff --git a/docs/README.md b/docs/README.md index 36228e397..fb7af1da7 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,7 +1,7 @@ # DAOSTACK library -Work in progress. Install via `npm install daostack-arc`. +Work in progress. Install via `npm install daostack-arc-js`. ## API @@ -12,7 +12,7 @@ Work in progress. Install via `npm install daostack-arc`. ## Example Session [next examples are not all working yet, but this is what is should/could look like] - import { Organization } from 'daostack-arc'; + import { Organization } from 'daostack-arc-js'; create an Organization from zero: @@ -52,7 +52,7 @@ for each of these types we have a convenient function that will return the singl We can use our schemeRegistrar to propose to add a new Scheme - say one for making contributions: - const contributionScheme = ContributionScheme.at('0x12345abc'); + const contributionReward = ContributionScheme.at('0x12345abc'); const proposalId = await organization.proposeScheme({ contract: 'ContributionScheme', @@ -81,7 +81,7 @@ Now we can vote for the scheme: Once it is accepted, it should show up in `organization.schemes()`, and we can start adding contributions, for example, we'd like 101 organization tokens for writing documentation: - const contributionId = contributionScheme.submitContribution({ + const contributionId = contributionReward.submitContribution({ organization: organization, description: 'Documentation for daostack', nativeTokenReward: 101, diff --git a/docs/organization.md b/docs/organization.md index dfa16ad5d..a458cf853 100644 --- a/docs/organization.md +++ b/docs/organization.md @@ -88,18 +88,18 @@ These are the options to propose to adopt the SimpleICO scheme: } }); -While the options to adopt the SimpleContributionScheme are simply: +While the options to adopt the ContributionReward are simply: organization.proposeScheme({ - contract: 'SimpleContributionScheme', + contract: 'ContributionReward', }); With all possible options: const proposalId = await organization.proposeScheme({ - contract: 'SimpleContributionScheme', - address: '0x1245', // address of the scheme to use; default is settings.simpleContributionScheme + contract: 'ContributionReward', + address: '0x1245', // address of the scheme to use; default is settings.ContributionReward params: { boolVote: organization.votingMachine, // votingMachine used to accept or reject contributions, default is organizaiton.votingMAchine votePrec: 50, // percentage conditions under which a contribution is accepted, default is 50 diff --git a/images/dao-icon.png b/images/dao-icon.png new file mode 100644 index 000000000..23df17023 Binary files /dev/null and b/images/dao-icon.png differ diff --git a/lib/absoluteVote.js b/lib/absoluteVote.js index 5d5320f2a..84f555a65 100644 --- a/lib/absoluteVote.js +++ b/lib/absoluteVote.js @@ -7,7 +7,7 @@ const SolidityAbsoluteVote = requireContract("AbsoluteVote"); export class AbsoluteVote extends ExtendTruffleContract(SolidityAbsoluteVote) { static async new() { - contract = await SolidityAbsoluteVote.new(); + const contract = await SolidityAbsoluteVote.new(); return new this(contract); } diff --git a/lib/arc.d.ts b/lib/arc.d.ts index 3ae792b62..c8442e094 100644 --- a/lib/arc.d.ts +++ b/lib/arc.d.ts @@ -1,7 +1,7 @@ import * as BigNumber from 'bignumber.js'; import * as Web3 from "web3"; -declare module 'daostack-arc' { +declare module 'daostack-arc-js' { /******************************* * Arc contract information as contained in ArcDeployedContractNames (see settings) @@ -25,7 +25,7 @@ export interface ArcContractInfo { * For all deployed contracts exposed by Arc. */ export interface ArcDeployedContractNames { - SimpleContributionScheme: ArcContractInfo; + ContributionReward: ArcContractInfo; GenesisScheme: ArcContractInfo; GlobalConstraintRegistrar: ArcContractInfo; SchemeRegistrar: ArcContractInfo; @@ -211,8 +211,9 @@ export class Organization { /** * Returns promise of a scheme as ExtendTruffleScheme, or ? if not found * @param contract name of scheme, like "SchemeRegistrar" + * @param scheme optional scheme address */ - scheme(contractName:string) : Promise; + scheme(contractName:string, address? : string) : Promise; // checkSchemeConditions(contractName:string); // proposeScheme(options?); // proposeGlobalConstraint(options?); @@ -313,7 +314,7 @@ export class GlobalConstraintRegistrar extends ExtendTruffleScheme { */ , scheme: string /** - * scheme identifier, like "SchemeRegistrar" or "SimpleContributionScheme". + * scheme identifier, like "SchemeRegistrar" or "ContributionReward". * pass null if registering a non-arc scheme */ , schemeName?: string|null @@ -461,11 +462,11 @@ export class GlobalConstraintRegistrar extends ExtendTruffleScheme { } /******************************** - * SimpleContributionScheme + * ContributionReward */ - export interface SimpleContributionSchemeNewParams extends StandardNewSchemeParams { } + export interface ContributionRewardNewParams extends StandardNewSchemeParams { } - export interface SimpleContributionSchemeParams extends StandardSchemeParams { + export interface ContributionRewardParams extends StandardSchemeParams { orgNativeTokenFee: BigNumber.BigNumber | string, schemeNativeTokenFee: BigNumber.BigNumber | string } @@ -506,15 +507,15 @@ export class GlobalConstraintRegistrar extends ExtendTruffleScheme { beneficiary: string } - export class SimpleContributionScheme extends ExtendTruffleScheme { - static new(options:SimpleContributionSchemeNewParams): SimpleContributionScheme; - static at(address:string): SimpleContributionScheme; - static deployed(): SimpleContributionScheme; + export class ContributionReward extends ExtendTruffleScheme { + static new(options:ContributionRewardNewParams): ContributionReward; + static at(address:string): ContributionReward; + static deployed(): ContributionReward; /** * propose to make a contribution * @param opts ProposeContributionParams */ - proposeContribution(opts: ProposeContributionParams): Promise; - setParams(params: SimpleContributionSchemeParams): Promise; + proposeContributionReward(opts: ProposeContributionParams): Promise; + setParams(params: ContributionRewardParams): Promise; } } \ No newline at end of file diff --git a/lib/arc.js b/lib/arc.js index 89d83caf1..b10e15b1a 100644 --- a/lib/arc.js +++ b/lib/arc.js @@ -2,7 +2,7 @@ export * from './organization.js'; export * from './globalconstraintregistrar.js'; export * from './upgradescheme.js'; export * from './schemeregistrar.js'; -export * from './simplecontributionscheme.js'; +export * from './contributionreward.js'; export * from './utils.js'; export * from './wallet.js'; export * from './absoluteVote.js'; @@ -13,7 +13,7 @@ import { getSettings } from './settings.js'; // import * as BigNumber from 'bignumber.js'; /** - * Configure the daostack-arc module. + * Configure the daostack-arc-js module. * * @return: Web3 web3 as a convenience for the client. * `web3` is set automatically in testing and migration, or elsewhere (development, production) @@ -62,7 +62,7 @@ export async function getDeployedContracts() { contracts.SchemeRegistrar , contracts.UpgradeScheme , contracts.GlobalConstraintRegistrar - , contracts.SimpleContributionScheme + , contracts.ContributionReward ], votingMachines: [ contracts.AbsoluteVote diff --git a/lib/simplecontributionscheme.js b/lib/contributionreward.js similarity index 88% rename from lib/simplecontributionscheme.js rename to lib/contributionreward.js index c9e377963..cd0e55543 100644 --- a/lib/simplecontributionscheme.js +++ b/lib/contributionreward.js @@ -1,12 +1,12 @@ "use strict"; const dopts = require('default-options'); -import { getDefaultAccount, ExtendTruffleContract, requireContract, getWeb3 } from './utils.js'; +import { SHA3, getDefaultAccount, ExtendTruffleContract, requireContract, getWeb3 } from './utils.js'; -const SoliditySimpleContributionScheme = requireContract("SimpleContributionScheme"); +const SolidityContributionReward = requireContract("ContributionReward"); const DAOToken = requireContract("DAOToken"); -class SimpleContributionScheme extends ExtendTruffleContract(SoliditySimpleContributionScheme) { +class ContributionReward extends ExtendTruffleContract(SolidityContributionReward) { static async new(opts={}) { // TODO: provide options to use an existing token or specifiy the new token @@ -27,11 +27,11 @@ class SimpleContributionScheme extends ExtendTruffleContract(SoliditySimpleContr token = await DAOToken.at(options.tokenAddress); } - contract = await SoliditySimpleContributionScheme.new(token.address, options.fee, options.beneficiary); + const contract = await SolidityContributionReward.new(token.address, options.fee, options.beneficiary); return new this(contract); } - async proposeContribution(opts={}) { + async proposeContributionReward(opts={}) { /** * Note that explicitly supplying any property with a value of undefined will prevent the property * from taking on its default value (weird behavior of default-options) @@ -139,14 +139,19 @@ class SimpleContributionScheme extends ExtendTruffleContract(SoliditySimpleContr // console.log(`********* options.externalTokenReward ${options.externalTokenReward} **********`); // console.log(`********* options.beneficiary ${options.beneficiary} **********`); + const tx = await this.contract.submitContribution( options.avatar, - options.description, - nativeTokenReward, - reputationReward, - ethReward, + // web3.utils.soliditySha3(options.description), this is available in web3 1.0 + SHA3(options.description), + [ + nativeTokenReward, + reputationReward, + ethReward, + options.externalToken, + externalTokenReward, + ], options.externalToken, - externalTokenReward, options.beneficiary ); return tx; @@ -161,4 +166,4 @@ class SimpleContributionScheme extends ExtendTruffleContract(SoliditySimpleContr } } -export { SimpleContributionScheme }; +export { ContributionReward }; diff --git a/lib/daostack.js b/lib/daostack.js deleted file mode 100644 index 8ecefbb46..000000000 --- a/lib/daostack.js +++ /dev/null @@ -1,42 +0,0 @@ -import { Organization } from './organization.js'; - -/** - * DEPRECATED. See arc.js - * DAOStack library - * - */ -// TODO: documentation! - -const daostack = (function() { - - // async function _checkForNecessaryFunds() { - // // TODO: this is not working at all yet: the idea is that we check some precodnitions - // // to be able to give some useful user feedback - // return true; - // - // // check if we have tokens in the schemeregistrar for adding an organization - // const schemeRegistrarTokenAddress = await schemeRegistrar.nativeToken(); - // const schemeRegistrarToken = await DAOToken.at(schemeRegistrarTokenAddress); - // const avatarBalance = await schemeRegistrarToken.balanceOf(avatar.address); - // const fee = await schemeRegistrar.fee(); - // - // // check if we have the funds to pay the fee - // if (avatarBalance.toNumber() < fee.toNumber()) { - // throw new Error('The balance of the controller\'s avatar is too low to pay the fee for adding an organization. Balance: ' + ourBalance.valueOf() + 'fee: ' + fee); - // } - // - // const beneficiary = await schemeRegistrar.beneficiary(); - // await controller.ExternalTokenApprove(schemeRegistrarToken, beneficiary, fee.toNumber()); - // // check if externaltokenapprove has indeed approved the right allowance - // // TODO: move this to a separate test on the controller - // const allowance = await schemeRegistrarToken.allowance(avatar.address, beneficiary); - // if (allowance.toNumber() < fee.toNumber()) { - // throw new Error('The allowance of the controllers avatar to the registrars beneficiary is too low to pay the fee for adding an organization. Balance: ' + ourBalance.valueOf() + 'fee: ' + fee); - // } - // } - - return {}; - -}()); - -export { daostack, Organization }; diff --git a/lib/globalconstraintregistrar.js b/lib/globalconstraintregistrar.js index 5aa0f8ace..c12dcad8f 100644 --- a/lib/globalconstraintregistrar.js +++ b/lib/globalconstraintregistrar.js @@ -26,7 +26,7 @@ export class GlobalConstraintRegistrar extends ExtendTruffleContract(SolidityGlo token = await DAOToken.at(options.tokenAddress); } - contract = await SolidityGlobalConstraintRegistrar.new(token.address, options.fee, options.beneficiary); + const contract = await SolidityGlobalConstraintRegistrar.new(token.address, options.fee, options.beneficiary); return new this(contract); } diff --git a/lib/organization.js b/lib/organization.js index 2a980b75b..5873f2e33 100644 --- a/lib/organization.js +++ b/lib/organization.js @@ -17,7 +17,7 @@ import { SchemeRegistrar } from './schemeregistrar.js'; const CONTRACT_SCHEMEREGISTRAR = 'SchemeRegistrar'; const CONTRACT_UPGRADESCHEME = 'UpgradeScheme'; const CONTRACT_GLOBALCONSTRAINTREGISTRAR = 'GlobalConstraintRegistrar'; -// const CONTRACT_SIMPLECONTRIBUTIONSCHEME = 'SimpleContributionScheme'; +// const CONTRACT_ContributionReward = 'ContributionReward'; export class Organization { constructor() { @@ -40,8 +40,8 @@ export class Organization { votingMachine: settings.daostackContracts.AbsoluteVote.address, votePrec: 50, ownerVote: true, - orgNativeTokenFee: 0, // used for SimpleContributionScheme - schemeNativeTokenFee: 0, // used for SimpleContributionScheme + orgNativeTokenFee: 0, // used for ContributionReward + schemeNativeTokenFee: 0, // used for ContributionReward genesisScheme: settings.daostackContracts.GenesisScheme.address, schemes: [ { @@ -71,11 +71,11 @@ export class Organization { options.founders.map(x => x.reputation), ); // get the address of the avatar from the logs - const avatarAddress = getValueFromLogs(tx, '_avatar'); + const avatarAddress = getValueFromLogs(tx, '_avatar', "NewOrg"); const org = new Organization(); - options.avatar = avatarAddress; - org.avatar = await Avatar.at(options.avatar); + org.avatar = await Avatar.at(avatarAddress); + // console.log(`avatar: ${org.avatar}`); const controllerAddress = await org.avatar.owner(); org.controller = await Controller.at(controllerAddress); @@ -117,7 +117,7 @@ export class Organization { } // register the schemes with the organization - await genesisScheme.setInitialSchemes( + await genesisScheme.setSchemes( org.avatar.address, initialSchemesAddresses, initialSchemesParams, @@ -130,13 +130,12 @@ export class Organization { // transfer what we need for fees to register the organization at the given schemes // TODO: check if we have the funds, if not, throw an exception // fee = await org.schemeRegistrar.fee()) - // we must do this after setInitialSchemes, because that one approves the transactions + // we must do this after setSchemes, because that one approves the transactions // (but that logic shoudl change) - let token, fee; for (let i=0; i < initialSchemesAddresses.length; i = i + 1) { - scheme = await SchemeRegistrar.at(initialSchemesAddresses[i]); - token = await DAOToken.at(initialSchemesTokenAddresses[i]); - fee = initialSchemesFees[i]; + const scheme = await SchemeRegistrar.at(initialSchemesAddresses[i]); + const token = await DAOToken.at(initialSchemesTokenAddresses[i]); + const fee = initialSchemesFees[i]; await token.transfer(org.avatar.address, fee); await scheme.registerOrganization(org.avatar.address); } @@ -188,7 +187,7 @@ export class Organization { async _getSchemes() { // private method returns all registered schemes. // TODO: this is *expensive*, we need to cache the results (and perhaps poll for latest changes if necessary) - const schemesMap = new Map(); // + const schemesMap = new Map(); // const controller = this.controller; const arcTypesMap = new Map(); // const settings = await getSettings(); @@ -205,18 +204,21 @@ export class Organization { const registerSchemeEvent = controller.RegisterScheme({}, {fromBlock: 0, toBlock: 'latest'}); await new Promise((resolve) => { - registerSchemeEvent.get((err, eventsArray) => this._handleSchemeEvent(err, eventsArray, true, arcTypesMap, schemesMap).then(() => { resolve(); })); - registerSchemeEvent.stopWatching(); + registerSchemeEvent.get((err, eventsArray) => this._handleSchemeEvent(err, eventsArray, true, arcTypesMap, schemesMap).then(() => { + registerSchemeEvent.stopWatching(); + resolve(); + })); }); - const unRegisterSchemeEvent = controller.UnregisterScheme({}, {fromBlock: 0, toBlock: 'latest'}); + const registeredSchemes = []; - await new Promise((resolve) => { - unRegisterSchemeEvent.get((err, eventsArray) => this._handleSchemeEvent(err, eventsArray, false, arcTypesMap, schemesMap).then(() => { resolve(); })); - unRegisterSchemeEvent.stopWatching(); - }); + for(const scheme of schemesMap.values()) { + if (await this.controller.isSchemeRegistered(scheme.address)) { + registeredSchemes.push(scheme); + } + } - return Array.from(schemesMap.values()); + return registeredSchemes; } async _handleSchemeEvent(err, eventsArray, adding, arcTypesMap, schemesMap) // : Promise @@ -237,19 +239,16 @@ export class Organization { name: arcTypesMap.get(schemeAddress) }; - if (adding) { - schemesMap.set(schemeAddress,schemeInfo); - } else if (schemesMap.has(schemeAddress)) { - schemesMap.delete(schemeAddress); - } + schemesMap.set(schemeAddress,schemeInfo); } } /** * Returns promise of a scheme as ExtendTruffleScheme, or ? if not found * @param contract name of scheme, like "SchemeRegistrar" + * @param optional address */ - async scheme(contract) { + async scheme(contract, address) { // returns the schemes can be used to register other schemes // TODO: error handling: throw an error if such a schem does not exist, and also if there is more htan one const settings = await getSettings(); @@ -258,7 +257,7 @@ export class Organization { // const isSchemeRegistered = await this.controller.isSchemeRegistered(contractInfo.address); // assert.equal(isSchemeRegistered, true, `${contract} is not registered with the controller`); - return contractInfo.contract.at(contractInfo.address); + return contractInfo.contract.at(address ? address : contractInfo.address); } async checkSchemeConditions(scheme) { diff --git a/lib/schemeregistrar.js b/lib/schemeregistrar.js index af5739130..b3ad15ce0 100644 --- a/lib/schemeregistrar.js +++ b/lib/schemeregistrar.js @@ -26,7 +26,7 @@ export class SchemeRegistrar extends ExtendTruffleContract(SoliditySchemeRegistr token = await DAOToken.at(options.tokenAddress); } - contract = await SoliditySchemeRegistrar.new(token.address, options.fee, options.beneficiary); + const contract = await SoliditySchemeRegistrar.new(token.address, options.fee, options.beneficiary); return new this(contract); } @@ -57,7 +57,7 @@ export class SchemeRegistrar extends ExtendTruffleContract(SoliditySchemeRegistr */ , scheme: undefined /** - * scheme identifier, like "SchemeRegistrar" or "SimpleContributionScheme". + * scheme identifier, like "SchemeRegistrar" or "ContributionReward". * pass null if registering a non-arc scheme */ , schemeName: null @@ -93,12 +93,6 @@ export class SchemeRegistrar extends ExtendTruffleContract(SoliditySchemeRegistr * Otherwise we determine it's value based on scheme and schemeName. */ , isRegistering: null - /** - * true to register organization into the scheme when the proposal is approved. - * If false then caller must do it manually via scheme.registerOrganization(avatarAddress). - * Default is true. - */ - , autoRegister:true }; const options = dopts(opts, defaults, { allowUnknown: true }); @@ -127,11 +121,13 @@ export class SchemeRegistrar extends ExtendTruffleContract(SoliditySchemeRegistr let fee = web3.toBigNumber(options.fee); let tokenAddress = options.tokenAddress; let isRegistering; + let autoRegister; if (options.schemeName) { try { const settings = await getSettings(); const newScheme = await settings.daostackContracts[options.schemeName].contract.at(options.scheme); + autoRegister = true; if (!feeIsDefined || !tokenAddressIsDefined) { if (!feeIsDefined) @@ -144,8 +140,6 @@ export class SchemeRegistrar extends ExtendTruffleContract(SoliditySchemeRegistr } } - isRegistering = (permissions & 2) != 0; - // Note that the javascript wrapper "newScheme" we've gotten here is defined in this version of Arc. If newScheme is // actually coming from a different version of Arc, then theoretically the permissions could be different from this version. const permissions = Number(newScheme.getDefaultPermissions()); @@ -153,12 +147,15 @@ export class SchemeRegistrar extends ExtendTruffleContract(SoliditySchemeRegistr if (permissions > this.getDefaultPermissions()) { throw new Error("SchemeRegistrar cannot work with schemes having greater permissions than its own"); } + + isRegistering = (permissions & 2) != 0; } catch(ex) { - throw new Error(`Unable to obtain default information from the given scheme address. The scheme is probably not an Arc scheme and in that case you must supply fee and tokenAddress. ${ex}`); + throw new Error(`Unable to obtain default information from the given scheme address. The address is invalid or the scheme is not an Arc scheme and in that case you must supply fee and tokenAddress. ${ex}`); } } else { isRegistering = options.isRegistering; + autoRegister = false; // see https://github.com/daostack/daostack/issues/181#issuecomment-353210642 if (!feeIsDefined || !tokenAddressIsDefined) { throw new Error("fee/tokenAddress are not defined; they are required for non-Arc schemes (schemeName is undefined)"); @@ -180,7 +177,7 @@ export class SchemeRegistrar extends ExtendTruffleContract(SoliditySchemeRegistr isRegistering, tokenAddress, fee, - options.autoRegister); + autoRegister); return tx; } diff --git a/lib/settings.js b/lib/settings.js index ac1c34bf2..8db8ccdfd 100644 --- a/lib/settings.js +++ b/lib/settings.js @@ -1,8 +1,6 @@ import { requireContract } from './utils.js'; -// TODO: these are settings for testing. Need some way to switch to "production settings" const GenesisScheme = requireContract("GenesisScheme"); -const SimpleICO = requireContract("SimpleICO"); /** * These are uninitialized instances of ExtendTruffleContract, @@ -10,7 +8,7 @@ const SimpleICO = requireContract("SimpleICO"); */ import { GlobalConstraintRegistrar } from './globalconstraintregistrar.js'; import { SchemeRegistrar } from './schemeregistrar.js'; -import { SimpleContributionScheme } from './simplecontributionscheme.js'; +import { ContributionReward } from './contributionreward.js'; import { AbsoluteVote} from "./absoluteVote.js"; import { TokenCapGC} from "./tokenCapGC.js"; import { UpgradeScheme } from './upgradescheme.js'; @@ -22,11 +20,10 @@ const getSettings = async function(){ * * `deployed()` is a static method on each of those classes. **/ - const contributionScheme = await SimpleContributionScheme.deployed(); + const contributionReward = await ContributionReward.deployed(); const genesisScheme = await GenesisScheme.deployed(); const globalConstraintRegistrar = await GlobalConstraintRegistrar.deployed(); const schemeRegistrar = await SchemeRegistrar.deployed(); - const simpleICO = await SimpleICO.deployed(); const tokenCapGC = await TokenCapGC.deployed(); const upgradeScheme = await UpgradeScheme.deployed(); const absoluteVote = await AbsoluteVote.deployed(); @@ -40,9 +37,9 @@ const getSettings = async function(){ return { votingMachine: absoluteVote.address, daostackContracts: { - SimpleContributionScheme: { - contract: SimpleContributionScheme, - address: contributionScheme.address, + ContributionReward: { + contract: ContributionReward, + address: contributionReward.address, }, GenesisScheme: { contract: GenesisScheme, @@ -56,10 +53,6 @@ const getSettings = async function(){ contract: SchemeRegistrar, address: schemeRegistrar.address, }, - SimpleICO: { - contract: SimpleICO, - address: simpleICO.address, - }, TokenCapGC: { contract: TokenCapGC, address: tokenCapGC.address, diff --git a/lib/tokenCapGC.js b/lib/tokenCapGC.js index c1525be0d..89f2b55e4 100644 --- a/lib/tokenCapGC.js +++ b/lib/tokenCapGC.js @@ -7,7 +7,7 @@ const SolidityTokenCapGC = requireContract("TokenCapGC"); export class TokenCapGC extends ExtendTruffleContract(SolidityTokenCapGC) { static async new() { - contract = await SolidityTokenCapGC.new(); + const contract = await SolidityTokenCapGC.new(); return new this(contract); } diff --git a/lib/upgradescheme.js b/lib/upgradescheme.js index 7c130b59a..5e4f0b7d0 100644 --- a/lib/upgradescheme.js +++ b/lib/upgradescheme.js @@ -27,7 +27,7 @@ export class UpgradeScheme extends ExtendTruffleContract(SolidityUpgradeScheme) token = await DAOToken.at(options.tokenAddress); } - contract = await SolidityUpgradeScheme.new(token.address, options.fee, options.beneficiary); + const contract = await SolidityUpgradeScheme.new(token.address, options.fee, options.beneficiary); return new this(contract); } @@ -146,6 +146,7 @@ export class UpgradeScheme extends ExtendTruffleContract(SolidityUpgradeScheme) try { const settings = await getSettings(); const newScheme = await settings.daostackContracts.UpgradeScheme.contract.at(options.scheme); + if (!feeIsDefined) { fee = await newScheme.fee(); @@ -155,7 +156,7 @@ export class UpgradeScheme extends ExtendTruffleContract(SolidityUpgradeScheme) tokenAddress = await newScheme.nativeToken(); } } catch(ex) { - // throw new Error("Unable to obtain default information from the given scheme address. The scheme is probably not an Arc UpgradeScheme and in that case you must supply fee and tokenAddress."); + throw new Error(`Unable to obtain default information from the given scheme address. The address is invalid or the scheme is not an Arc scheme and in that case you must supply fee and tokenAddress. ${ex}`); } } diff --git a/lib/utils.js b/lib/utils.js index 5bac8c1b3..c0826b215 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -2,6 +2,7 @@ const TruffleContract = require('truffle-contract'); import Web3 from "web3"; +const abi = require('ethereumjs-abi'); export const NULL_ADDRESS = '0x0000000000000000000000000000000000000000'; export const NULL_HASH = '0x0000000000000000000000000000000000000000000000000000000000000000'; @@ -22,13 +23,13 @@ export function requireContract(contractName) { try { const myWeb3 = getWeb3(); - const artifact = require(`../build/contracts/${contractName}.json`); + const artifact = require(`../contracts/${contractName}.json`); const contract = new TruffleContract(artifact); contract.setProvider(myWeb3.currentProvider); contract.defaults({ from: getDefaultAccount(), - gas: 0x442168 + gas: 6500000 }); return contract; @@ -82,6 +83,12 @@ export function getWeb3() { export function getValueFromLogs(tx, arg, eventName, index=0) { /** * + * tx is an object with the following values: + * + * tx.tx => transaction hash, string + * tx.logs => array of decoded events that were triggered within this transaction + * tx.receipt => transaction receipt object, which includes gas used + * * tx.logs look like this: * * [ { logIndex: 13, @@ -112,7 +119,12 @@ export function getValueFromLogs(tx, arg, eventName, index=0) { } else if (index === undefined) { index = tx.logs.length - 1; } + if (tx.logs[index].type !== 'mined') { + const msg = `getValueFromLogs: transaction has not been mined: ${tx.logs[index].event}`; + throw new Error(msg); + } const result = tx.logs[index].args[arg]; + if (!result) { const msg = `getValueFromLogs: This log does not seem to have a field "${arg}": ${tx.logs[index].args}`; throw new Error(msg); @@ -136,6 +148,17 @@ export function getDefaultAccount() { return defaultAccount; } + +/** + * Hash a string the same way solidity does, and to a format that will be properly translated into a bytes32 that solidity expects + * @param str a string + */ +export function SHA3(str) { + const result = `0x${abi.soliditySHA3(["string"],[str]).toString('hex')}`; + // console.log("SHA3: " + result); + return result; +} + export const ExtendTruffleContract = (superclass) => class { constructor(contract) { this.contract = contract; @@ -152,16 +175,24 @@ export const ExtendTruffleContract = (superclass) => class { } static async new() { - contract = await superclass.new(); - return new this(contract); + return superclass.new() + .then((contract) => { + return new this(contract); + }, (ex) => { throw ex; }); } static async at(address) { - return new this((await superclass.at(address))); + return superclass.at(address) + .then((contract) => { + return new this(contract); + }, (ex) => { throw ex; }); } static async deployed() { - return new this(await superclass.deployed()); + return superclass.deployed() + .then((contract) => { + return new this(contract); + }, (ex) => { throw ex; }); } /** @@ -176,7 +207,7 @@ export const ExtendTruffleContract = (superclass) => class { * voteParametersHash * votingMachine -- address * - * for SimpleContributionScheme: + * for ContributionReward: * orgNativeTokenFee -- number * schemeNativeTokenFee -- number */ @@ -186,8 +217,8 @@ export const ExtendTruffleContract = (superclass) => class { } async _setParameters(...args) { - const parametersHash = await this.contract.getParametersHash(args); - await this.contract.setParameters(args); + const parametersHash = await this.contract.getParametersHash(...args); + await this.contract.setParameters(...args); return parametersHash; } diff --git a/package-lock.json b/package-lock.json index b3985fbb9..6c7d9ca00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { - "name": "arc", - "version": "0.0.0-alpha.1", + "name": "daostack-arc-js", + "version": "0.0.0-alpha.4", "lockfileVersion": 1, "dependencies": { "@types/bignumber.js": { @@ -8,6 +8,12 @@ "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-4.0.3.tgz", "integrity": "sha512-KoJPKjhlWBry4fk8qcIufXFOU+zcZBfkHQWKbnAMQTMoe2GDeLpjSQHS+22gv+dg7gKdTP2WCjSeCVnfj8e+Gw==" }, + "accepts": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", + "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "dev": true + }, "acorn": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz", @@ -72,18 +78,6 @@ "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", "dev": true }, - "align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", - "dev": true - }, - "amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", - "dev": true - }, "amp": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/amp/-/amp-0.3.1.tgz", @@ -114,12 +108,30 @@ "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", "dev": true }, + "any-shell-escape": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/any-shell-escape/-/any-shell-escape-0.1.1.tgz", + "integrity": "sha1-1Vq5ciRMcaml4asIefML8RCAaVk=", + "dev": true + }, "anymatch": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", "dev": true }, + "archiver": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-2.1.0.tgz", + "integrity": "sha1-0t8ujVdzqCwdzOklzMQUUOqZmv0=", + "dev": true + }, + "archiver-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "dev": true + }, "argparse": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.9.tgz", @@ -138,6 +150,18 @@ "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", + "dev": true + }, "array-includes": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.0.3.tgz", @@ -174,6 +198,12 @@ "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", "dev": true }, + "asn1": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz", + "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=", + "dev": true + }, "asn1.js": { "version": "4.9.2", "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.9.2.tgz", @@ -186,6 +216,12 @@ "integrity": "sha1-mZEtWRg2tab1s0XA8H7vwI/GXZE=", "dev": true }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, "assertion-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz", @@ -204,6 +240,30 @@ "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=", "dev": true }, + "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==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "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=", + "dev": true + }, + "aws4": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz", + "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=", + "dev": true + }, "babel-cli": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", @@ -518,6 +578,13 @@ "integrity": "sha512-dwVUVIXsBZXwTuwnXI9RK8sBmgq09NDHzyR9SAph9eqk76gKK2JSQmZARC2zRC81JC2QTtxD0ARU5qTS25gIGw==", "dev": true }, + "bcrypt-pbkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz", + "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=", + "dev": true, + "optional": true + }, "big.js": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", @@ -540,11 +607,29 @@ "resolved": "https://registry.npmjs.org/bip39/-/bip39-2.4.0.tgz", "integrity": "sha512-1++HywqIyPtWDo7gm4v0ylYbwkLvHkuwVSKbBlZBbTCP/mnkyrlARBny906VLAwxJbC5xw9EvuJasHFIZaIFMQ==" }, + "bl": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.1.tgz", + "integrity": "sha1-ysMo977kVzDUBLaSID/LWQ4XLV4=", + "dev": 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.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.2.tgz", + "integrity": "sha1-h2eKGdhLR9hZuDGZvVm84iKxBFQ=", + "dev": true + }, + "boom": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz", + "integrity": "sha1-T4owBctKfjiJ90kDD9JbluAdLjE=", + "dev": true + }, "brace-expansion": { "version": "1.1.8", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz", @@ -592,6 +677,20 @@ "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", "dev": true }, + "browserify-sha3": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/browserify-sha3/-/browserify-sha3-0.0.1.tgz", + "integrity": "sha1-P/NKMAbvFcD7NWflQbkaI0ASPRE=", + "dev": true, + "dependencies": { + "js-sha3": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.3.1.tgz", + "integrity": "sha1-hhIoAhQvCChQKg0d7h2V4lO7AkM=", + "dev": true + } + } + }, "browserify-sign": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.4.tgz", @@ -610,6 +709,18 @@ "integrity": "sha1-bRu2AbB6TvztlwlBMgkwJ8lbwpg=", "dev": true }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", + "dev": true + }, + "buffer-to-arraybuffer": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.2.tgz", + "integrity": "sha1-0NgFZNwxhmoZdlFUh7OrYg23yEk=", + "dev": true + }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -628,6 +739,12 @@ "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", "dev": true }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", + "dev": true + }, "caller-path": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", @@ -640,16 +757,24 @@ "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", "dev": true }, - "camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", - "dev": true + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "dev": true, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=", + "dev": true + } + } }, - "center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, "chai": { @@ -743,31 +868,11 @@ "integrity": "sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=", "dev": true }, - "cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", - "dev": true, - "dependencies": { - "wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", - "dev": true - } - } - }, "co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" }, - "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=", - "dev": true - }, "coffee-script": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz", @@ -792,12 +897,30 @@ "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", "dev": true }, + "combined-stream": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz", + "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=", + "dev": true + }, "commander": { "version": "2.12.2", "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz", "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==", "dev": true }, + "common-tags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.5.1.tgz", + "integrity": "sha512-NrUYGY5TApAk9KB+IZXkR3GR4tA3g26HDsoiGt4kCMHZ727gOGkC+UNfq0Z22jE15bLkc/6RV5Jw1RBW6Usg6A==", + "dev": true + }, + "compress-commons": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "dev": true + }, "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", @@ -810,6 +933,70 @@ "integrity": "sha1-CqxmL9Ur54lk1VMvaUeE5wEQrPc=", "dev": true }, + "concurrently": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-3.5.1.tgz", + "integrity": "sha512-689HrwGw8Rbk1xtV9C4dY6TPJAvIYZbRbnKSAtfJ7tHqICFGoZ0PCWYjxfmerRyxBG0o3sbG3pe7N8vqPwIHuQ==", + "dev": true, + "dependencies": { + "ansi-regex": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz", + "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=", + "dev": true + }, + "ansi-styles": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz", + "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=", + "dev": true + }, + "chalk": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz", + "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=", + "dev": true, + "dependencies": { + "supports-color": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz", + "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=", + "dev": true + } + } + }, + "commander": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz", + "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=", + "dev": true + }, + "has-ansi": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz", + "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=", + "dev": true + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=", + "dev": true + }, + "strip-ansi": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz", + "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=", + "dev": true + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "dev": true + } + } + }, "configurable": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/configurable/-/configurable-0.0.1.tgz", @@ -848,12 +1035,36 @@ "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", "dev": true }, + "content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ=", + "dev": true + }, + "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==", + "dev": true + }, "convert-source-map": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.5.1.tgz", "integrity": "sha1-uCeAl7m8IpNl3lxiz1/K7YtVmeU=", "dev": true }, + "cookie": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", + "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "dev": true + }, "core-js": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.5.2.tgz", @@ -866,6 +1077,56 @@ "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, + "cors": { + "version": "2.8.4", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.4.tgz", + "integrity": "sha1-K9OB8usgECAQXNUOpZ2mMJBpRoY=", + "dev": true + }, + "cp-file": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-3.2.0.tgz", + "integrity": "sha1-b4NhYlRiTwrViqSqjQdvAmvn4Yg=", + "dev": true + }, + "cpy": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cpy/-/cpy-4.0.1.tgz", + "integrity": "sha1-tnJn66LzlgugalphrJQDNCKDNCQ=", + "dev": true, + "dependencies": { + "glob": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz", + "integrity": "sha1-DwiGD2oVUSey+t1PnOJLGqtuTSI=", + "dev": true + }, + "globby": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz", + "integrity": "sha1-CA9UVJ7BuCpsYOYx/ILhIR2+lfg=", + "dev": true + } + } + }, + "cpy-cli": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cpy-cli/-/cpy-cli-1.0.1.tgz", + "integrity": "sha1-Z/taSi3sKMqKv/N13kuecfanVhw=", + "dev": true + }, + "crc": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.5.0.tgz", + "integrity": "sha1-mLi6fUiWZbo5efWbITgTdBAaGWQ=", + "dev": true + }, + "crc32-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", + "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "dev": true + }, "create-ecdh": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz", @@ -888,12 +1149,32 @@ "integrity": "sha1-YehoxvGPmOi8uIvNern7j66QlFM=", "dev": true }, + "cross-env": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-3.2.4.tgz", + "integrity": "sha1-ngWF8neGTtQhznVvgamA/w1piro=", + "dev": true + }, "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=", "dev": true }, + "cryptiles": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz", + "integrity": "sha1-qJ+7Ig9c4l7FboxKqKT9e1sNKf4=", + "dev": true, + "dependencies": { + "boom": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz", + "integrity": "sha512-Z5BTk6ZRe4tXXQlkqftmsAUANpXmuwlsF5Oov8ThoMbQRzdGTA1ngYRW160GexgOgjsFOKJz0LYhoNi+2AMBUw==", + "dev": true + } + } + }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -905,6 +1186,18 @@ "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-3.1.8.tgz", "integrity": "sha1-cV8HC/YBTyrpkqmLOSkli3E/CNU=" }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true + }, + "cwd": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz", + "integrity": "sha1-FyQAaUBXwioTsM8WFix+S3p/5Wc=", + "dev": true + }, "d": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/d/-/d-1.0.0.tgz", @@ -912,46 +1205,22 @@ "dev": true }, "daostack-arc": { - "version": "0.0.0-alpha.15", - "resolved": "https://registry.npmjs.org/daostack-arc/-/daostack-arc-0.0.0-alpha.15.tgz", - "integrity": "sha512-eqoQnpkTwCpVpU7HHUQLR+8fwQEJrM7jVPjG3TwlwB1aB19tw6MQw0Hkr48Gam2HjIuUC1qqSLwDhC0Al2S98w==", - "dependencies": { - "@types/bignumber.js": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-4.0.3.tgz", - "integrity": "sha512-KoJPKjhlWBry4fk8qcIufXFOU+zcZBfkHQWKbnAMQTMoe2GDeLpjSQHS+22gv+dg7gKdTP2WCjSeCVnfj8e+Gw==" - }, - "bip39": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-2.4.0.tgz", - "integrity": "sha512-1++HywqIyPtWDo7gm4v0ylYbwkLvHkuwVSKbBlZBbTCP/mnkyrlARBny906VLAwxJbC5xw9EvuJasHFIZaIFMQ==" - }, - "default-options": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-options/-/default-options-1.0.0.tgz", - "integrity": "sha1-ZiRmWprA0JiCr3Tm5Eyx2sWMqyo=" - }, - "ethers": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ethers/-/ethers-2.1.3.tgz", - "integrity": "sha512-9vjce4+nLQCNT7bI07rGEIWGmZvZCw+SzV7Ek/H3Los7hC+ZK0L73zp8gaORE+dYuxP1YRRZrRQP+ocuhnJk9w==" - }, - "promisify": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/promisify/-/promisify-0.0.3.tgz", - "integrity": "sha1-dU22HynuZHarVDxFtGTSH171VoY=" - }, - "truffle-contract": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/truffle-contract/-/truffle-contract-3.0.1.tgz", - "integrity": "sha512-uHavvQfKuPRCxk1v+jjbGuxpng0EgyLOF3wASrIrkHHiv2aUZiZr+z0EHyUOSrq4aAKeA8CqpToUyFrGGHXJNA==" - }, - "web3-typescript-typings": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/web3-typescript-typings/-/web3-typescript-typings-0.7.2.tgz", - "integrity": "sha512-6lBSipWCX6wNZYWs+12RR9HkQtcOvtMa8rmV+XIHdYFqAsN/DaSp8Dbj0VyMdL+TbOs/PR549Ot/pFa4ef1ihA==" - } - } + "version": "0.0.0-alpha.19", + "resolved": "https://registry.npmjs.org/daostack-arc/-/daostack-arc-0.0.0-alpha.19.tgz", + "integrity": "sha1-DNF9udb/el4ToRCrvvYjnoJuOg8=", + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true + }, + "date-fns": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.29.0.tgz", + "integrity": "sha512-lbTXWZ6M20cWH8N9S6afb0SBm6tMk+uUg6z3MqHPKE9atmsY3kJkTm8vKe93izJ2B2+q5MV990sM2CHgtAZaOw==", + "dev": true }, "date-now": { "version": "0.1.4", @@ -971,12 +1240,80 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, + "decompress": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", + "integrity": "sha1-eu3YVCflqS2s/lVnSnxQXpbQH50=", + "dev": true + }, + "decompress-tar": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", + "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true + } + } + }, + "decompress-tarbz2": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", + "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, + "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==", + "dev": true + } + } + }, + "decompress-targz": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", + "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, + "dependencies": { + "file-type": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true + } + } + }, + "decompress-unzip": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", + "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "dev": true, + "dependencies": { + "get-stream": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", + "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dev": true + } + } + }, "deep-eql": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", "dev": true }, + "deep-equal": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz", + "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=", + "dev": true + }, "deep-is": { "version": "0.1.3", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", @@ -994,18 +1331,42 @@ "integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=", "dev": true }, + "defined": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", + "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=", + "dev": true + }, "del": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=", + "dev": true + }, "des.js": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz", "integrity": "sha1-wHTS4qpqipoH29YfmhXCzYPsjsw=", "dev": true }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", + "dev": true + }, "detect-indent": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", @@ -1036,12 +1397,37 @@ "integrity": "sha1-6oCxBqh1OHdOijpKWv4pPeSJ4Kk=", "dev": true }, + "dom-walk": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.1.tgz", + "integrity": "sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg=", + "dev": true + }, "domain-browser": { "version": "1.1.7", "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", "dev": true }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz", + "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=", + "dev": true, + "optional": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", + "dev": true + }, "elliptic": { "version": "6.3.3", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", @@ -1053,18 +1439,36 @@ "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", "dev": true }, + "encodeurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", + "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=", + "dev": true + }, "encoding": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", "dev": true }, + "end-of-stream": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz", + "integrity": "sha1-epDYM+/abPpurA9JSduw+tOmMgY=", + "dev": true + }, "enhanced-resolve": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", "dev": true }, + "env-variable": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/env-variable/-/env-variable-0.0.3.tgz", + "integrity": "sha1-uGwWQb5WECZ9UG8YBx6nbXBwl8s=", + "dev": true + }, "errno": { "version": "0.1.5", "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.5.tgz", @@ -1125,6 +1529,12 @@ "integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=", "dev": true }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", + "dev": true + }, "escape-regexp": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/escape-regexp/-/escape-regexp-0.0.1.tgz", @@ -1305,6 +1715,26 @@ "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", "dev": true }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "elliptic": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.4.0.tgz", + "integrity": "sha1-ysmvh2LIWDYYcAPI3+GT5eLq5d8=", + "dev": true + } + } + }, "ethereumjs-testrpc": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/ethereumjs-testrpc/-/ethereumjs-testrpc-6.0.3.tgz", @@ -1360,12 +1790,32 @@ } } }, + "ethjs-unit": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/ethjs-unit/-/ethjs-unit-0.1.6.tgz", + "integrity": "sha1-xmWSHkduh7ziqdWIpv4EBbLEFpk=", + "dev": true, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", + "dev": true + } + } + }, "event-emitter": { "version": "0.3.5", "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", "dev": true }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=", + "dev": true + }, "eventemitter2": { "version": "0.4.14", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz", @@ -1402,6 +1852,38 @@ "integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=", "dev": true }, + "expand-tilde": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-1.2.2.tgz", + "integrity": "sha1-C4HrqJflo9MdHD0QL48BRB5VlEk=", + "dev": true + }, + "express": { + "version": "4.16.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", + "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", + "dev": true, + "dependencies": { + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } + } + }, + "extend": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz", + "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=", + "dev": true + }, "external-editor": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.1.0.tgz", @@ -1414,6 +1896,12 @@ "integrity": "sha1-Lhj/PS9JqydlzskCPwEdqo2DSaE=", "dev": true }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, "fast-deep-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz", @@ -1450,6 +1938,12 @@ } } }, + "fd-slicer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz", + "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=", + "dev": true + }, "figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", @@ -1462,6 +1956,12 @@ "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", "dev": true }, + "file-type": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true + }, "filename-regex": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", @@ -1474,6 +1974,32 @@ "integrity": "sha1-ULd9/X5Gm8dJJHCWNpn+eoSFpyM=", "dev": true }, + "finalhandler": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", + "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "dev": true, + "dependencies": { + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } + } + }, + "find-file-up": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/find-file-up/-/find-file-up-0.1.3.tgz", + "integrity": "sha1-z2gJG8+fMApA2kEbN9pczlovvqA=", + "dev": true + }, + "find-pkg": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/find-pkg/-/find-pkg-0.1.2.tgz", + "integrity": "sha1-G9wiwG42NlUy4qJIBGhUuXiNpVc=", + "dev": true + }, "find-up": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", @@ -1486,6 +2012,12 @@ "integrity": "sha1-0wMLMrOBVPTjt+nHCfSQ9++XxIE=", "dev": true }, + "for-each": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.2.tgz", + "integrity": "sha1-LEBFC5NI6X8oEyJZO6lnBLmr1NQ=", + "dev": true + }, "for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -1504,6 +2036,48 @@ "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=", "dev": true }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz", + "integrity": "sha1-b7lPvXGIUwbXPRXMSX/kzE7NRL8=", + "dev": true + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "dev": true + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=", + "dev": true + }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=", + "dev": true + }, + "fs-exists-sync": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz", + "integrity": "sha1-mC1ok6+RjnLQjeyehnP/K1qNat0=", + "dev": true + }, "fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", @@ -2200,12 +2774,24 @@ "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", "dev": true }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=", + "dev": true + }, "get-stream": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", "dev": true }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true + }, "glob": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", @@ -2224,6 +2810,48 @@ "integrity": "sha1-gTg9ctsFT8zPUzbaqQLxgvbtuyg=", "dev": true }, + "global": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/global/-/global-4.3.2.tgz", + "integrity": "sha1-52mJJopsdMOJCLEwWxD8DjlOnQ8=", + "dev": true, + "dependencies": { + "process": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/process/-/process-0.5.2.tgz", + "integrity": "sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=", + "dev": true + } + } + }, + "global-modules": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", + "integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=", + "dev": true, + "dependencies": { + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "dev": true + } + } + }, + "global-prefix": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz", + "integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=", + "dev": true, + "dependencies": { + "is-windows": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-0.2.0.tgz", + "integrity": "sha1-3hqm1j6indJIc3tp8f+LgALSEIw=", + "dev": true + } + } + }, "globals": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", @@ -2242,18 +2870,24 @@ "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", "dev": true }, - "graceful-readlink": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz", - "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=", - "dev": true - }, "growl": { "version": "1.10.3", "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.3.tgz", "integrity": "sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q==", "dev": true }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz", + "integrity": "sha1-ukAsJmGU8VlW7xXg/PJCmT9qff0=", + "dev": true + }, "has": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has/-/has-1.0.1.tgz", @@ -2282,24 +2916,60 @@ "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==" }, + "hawk": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz", + "integrity": "sha512-miowhl2+U7Qle4vdLqDdPt9m09K6yZhkLDTWGoUiUzrQCn+mHHSmfJgAyGaLRZbPmTqfFFjRV1QWCW0VWUJBbQ==", + "dev": true + }, "he": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/he/-/he-1.1.1.tgz", "integrity": "sha1-k0EP0hsAlzUVH4howvJx80J+I/0=", "dev": true }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "dev": true + }, + "hoek": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz", + "integrity": "sha512-v0XCLxICi9nPfYrS9RL8HbYnXi9obYAeLbSP00BmnZwCK9+Ih9WOjoZ8YoHCoav2csqn4FOz4Orldsy2dmDwmQ==", + "dev": true + }, "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=", "dev": true }, + "homedir-polyfill": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz", + "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=", + "dev": true + }, "hosted-git-info": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.5.0.tgz", "integrity": "sha512-pNgbURSuab90KbTqvRPsseaTxOJCZBD0a7t+haSN33piP9cCM4l0CqdzAif2hUqm716UovKB2ROmiabGAKVXyg==", "dev": true }, + "http-errors": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.2.tgz", + "integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=", + "dev": true + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true + }, "https-browserify": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", @@ -2324,17 +2994,18 @@ "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==", "dev": true }, - "ikt": { - "version": "git+http://ikt.pm2.io/ikt.git#3325a3e39a502418dc2e2e4bf21529cbbde96228", - "dev": true, - "optional": true - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", "dev": true }, + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "dev": true + }, "indexof": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", @@ -2352,6 +3023,12 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, "inquirer": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", @@ -2408,6 +3085,12 @@ "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", "dev": true }, + "ipaddr.js": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", + "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=", + "dev": true + }, "is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", @@ -2494,6 +3177,12 @@ "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", "dev": true }, + "is-function": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-function/-/is-function-1.0.1.tgz", + "integrity": "sha1-Es+5i2W1fdPRk6MSH19uL0N2ArU=", + "dev": true + }, "is-glob": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", @@ -2505,12 +3194,24 @@ "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=", + "dev": true + }, "is-number": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", "integrity": "sha1-Afy7s5NGOlSPL0ZszhbezknbkI8=", "dev": true }, + "is-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-object/-/is-object-1.0.1.tgz", + "integrity": "sha1-iVJojF7C/9awPsyF52ngKQMINHA=", + "dev": true + }, "is-path-cwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", @@ -2571,6 +3272,18 @@ "integrity": "sha1-PMWfAAJRlLarLjjbrmaJJWtmBXI=", "dev": true }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-windows": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.1.tgz", + "integrity": "sha1-MQ23D3QtJZoWo2kgK1GvhCMzENk=", + "dev": true + }, "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", @@ -2595,6 +3308,12 @@ "integrity": "sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=", "dev": true }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, "js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", @@ -2618,6 +3337,13 @@ "integrity": "sha512-O2v52ffjLa9VeM43J4XocZE//WT9N0IiwDa3KSHH7Tu8CtH+1qM8SIZvnsTh6v+4yFy5KUY3BHUVwjpfAWsjIA==", "dev": true }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true, + "optional": true + }, "jsesc": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", @@ -2630,6 +3356,12 @@ "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==", "dev": true }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, "json-schema-traverse": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", @@ -2653,6 +3385,12 @@ "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", "dev": true }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true + }, "jstransformer": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz", @@ -2665,10 +3403,10 @@ "integrity": "sha1-6AGxs5mF4g//yHtA43SAgOLcrH8=", "dev": true }, - "keypress": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz", - "integrity": "sha1-SjGI1CkbZrT2XtuZ+AaqmuKTWSo=", + "keccakjs": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/keccakjs/-/keccakjs-0.2.1.tgz", + "integrity": "sha1-HWM6+QfvMFu/ny+mFtVsRFYd+k0=", "dev": true }, "kind-of": { @@ -2683,10 +3421,10 @@ "integrity": "sha1-2qBoIGKCVCwIgojpdcKXwa53tpA=", "dev": true }, - "lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=", + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", "dev": true }, "lcid": { @@ -2719,20 +3457,6 @@ "integrity": "sha1-yYrvSIvM7aL/teLeZG1qdUQp9c0=", "dev": true }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "dependencies": { - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - } - } - }, "lodash": { "version": "4.17.4", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz", @@ -2744,24 +3468,56 @@ "integrity": "sha1-9HGh2khr5g9quVXRcRVSPdHSVdU=", "dev": true }, - "longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=", - "dev": true - }, "loose-envify": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.3.1.tgz", "integrity": "sha1-0aitM/qc4OcT1l/dCsi3SNR4yEg=", "dev": true }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true + }, "lru-cache": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.1.tgz", "integrity": "sha512-q4spe4KTfsAS1SUHLO0wz8Qiyf1+vMIAgpRYioFYDMNqKfHQbg+AVDH3i4fvpl71/P1L0dBl+fQi+P37UYf0ew==", "dev": true }, + "make-dir": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz", + "integrity": "sha512-0Pkui4wLJ7rxvmfUvs87skoEaxmu0hCUApF8nonzpl7q//FWp9zu8W61Scz4sd/kUiqDxvUhtoam2efDyiBzcA==", + "dev": true, + "dependencies": { + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "manage-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/manage-path/-/manage-path-2.0.0.tgz", + "integrity": "sha1-9M+EV7km7u4qg7FzUBQUvHbrlZc=", + "dev": true + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=", + "dev": true + }, "md5.js": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.4.tgz", @@ -2776,6 +3532,12 @@ } } }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, "mem": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", @@ -2788,6 +3550,62 @@ "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", "dev": true }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "dev": true, + "dependencies": { + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "dev": true + }, + "minimist": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "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=", + "dev": true + }, + "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=", + "dev": true + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "dev": true + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, "micromatch": { "version": "2.3.11", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", @@ -2800,17 +3618,47 @@ "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", "dev": true }, + "mime": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.4.1.tgz", + "integrity": "sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==", + "dev": true + }, + "mime-db": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz", + "integrity": "sha1-dMZD2i3Z1qRTmZY0ZbJtXKfXHwE=", + "dev": true + }, + "mime-types": { + "version": "2.1.17", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz", + "integrity": "sha1-Cdejk/A+mVp5+K+Fe3Cp4KsWVXo=", + "dev": true + }, "mimic-fn": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz", "integrity": "sha1-5md4PZLonb00KBi1IwudYqZyrRg=", "dev": true }, + "min-document": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz", + "integrity": "sha1-e9KC4/WELtKVu3SM3Z8f+iyCRoU=", + "dev": true + }, "minimalistic-assert": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz", "integrity": "sha1-cCvi3aazf0g2vLP121ZkG2Sh09M=" }, + "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=", + "dev": true + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -2883,8 +3731,13 @@ "version": "2.8.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.8.0.tgz", "integrity": "sha1-7XFfP+neArV6XmJS2QqWZ14fCFo=", - "dev": true, - "optional": true + "dev": true + }, + "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=", + "dev": true }, "natural-compare": { "version": "1.4.0", @@ -2892,6 +3745,24 @@ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", "dev": true }, + "ncp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz", + "integrity": "sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=", + "dev": true + }, + "negotiator": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz", + "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=", + "dev": true + }, + "nested-error-stacks": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz", + "integrity": "sha1-GfYZWRUZ8JZ2mlupqG5u7sgjw88=", + "dev": true + }, "node-fetch": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-1.7.3.tgz", @@ -2922,6 +3793,44 @@ "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", "dev": true }, + "nps": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/nps/-/nps-5.7.1.tgz", + "integrity": "sha512-pWfkK+mydy/MrXDp8MtVJ9GV7NQYTA+Yb6BGXqE66b57WhCI2eROq3IfKzUTDapgXJNjfAPxqiTTGlnXu36cww==", + "dev": true, + "dependencies": { + "ansi-styles": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz", + "integrity": "sha512-NnSOmMEYtVR2JVMIGTzynRkkaxtiq1xnFBcdQD/DnNCYPoEPsVJhM98BDyaoNOQIi7p4okdi3E27eN7GQbsUug==", + "dev": true + }, + "chalk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.3.0.tgz", + "integrity": "sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==", + "dev": true + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "dev": true + } + } + }, + "nps-utils": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/nps-utils/-/nps-utils-1.5.0.tgz", + "integrity": "sha1-0gtYSN0gYi1NUclVyLF5A0i1doY=", + "dev": true + }, "nssocket": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/nssocket/-/nssocket-0.6.0.tgz", @@ -2946,12 +3855,24 @@ } } }, + "oauth-sign": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz", + "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=", + "dev": true + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, + "object-inspect": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", + "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=", + "dev": true + }, "object-keys": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.0.11.tgz", @@ -2964,6 +3885,12 @@ "integrity": "sha1-Gpx0SCnznbuFjHbKNXmuKlTr0fo=", "dev": true }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "dev": true + }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2976,6 +3903,26 @@ "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", "dev": true }, + "opn": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/opn/-/opn-4.0.2.tgz", + "integrity": "sha1-erwi5kTf9jsKltWrfyeQwPAavJU=", + "dev": true + }, + "opn-cli": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/opn-cli/-/opn-cli-3.1.0.tgz", + "integrity": "sha1-+BmubK4LQRvQFJuFYP5siK2tIPg=", + "dev": true, + "dependencies": { + "get-stdin": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz", + "integrity": "sha1-Ei4WFZHiH/TFJTAwVpPyDmOTo5g=", + "dev": true + } + } + }, "optionator": { "version": "0.8.2", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz", @@ -3012,22 +3959,10 @@ "integrity": "sha1-0KM+7+YaIF+suQCS6CZZjVJFznY=", "dev": true }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.1.0.tgz", - "integrity": "sha1-sH/y2aXYi+yAYDWJWiurZqJ5iLw=", - "dev": true - }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", "dev": true }, "pako": { @@ -3048,12 +3983,30 @@ "integrity": "sha1-ssN2z7EfNVE7rdFz7wu246OIORw=", "dev": true }, + "parse-headers": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/parse-headers/-/parse-headers-2.0.1.tgz", + "integrity": "sha1-aug6eqJanZtwCswoaYzR8e1+lTY=", + "dev": true + }, "parse-json": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", "dev": true }, + "parse-passwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", + "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "dev": true + }, + "parseurl": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz", + "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=", + "dev": true + }, "path-browserify": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz", @@ -3090,23 +4043,53 @@ "integrity": "sha1-PBrfhx6pzWyUMbbqK9dKD/BVxME=", "dev": true }, + "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=", + "dev": true + }, "path-type": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", "dev": true }, + "path.join": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/path.join/-/path.join-1.0.0.tgz", + "integrity": "sha1-C0Agkr2BEosoGeeAVwxJ3j3fGd4=", + "dev": true + }, "pathval": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.0.tgz", "integrity": "sha1-uULm1L3mUwBe9rcTYd74cn0GReA=", "dev": true }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=", + "dev": true + }, "pbkdf2": { "version": "3.0.14", "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.14.tgz", "integrity": "sha512-gjsZW9O34fm0R7PaLHRJmLLVfSoesxztjPjE9o6R+qtVJij90ltg1joIovN9GKrRW3t1PzhDDG3UMEMFfZ+1wA==" }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, "pidusage": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pidusage/-/pidusage-1.2.0.tgz", @@ -3259,6 +4242,12 @@ "integrity": "sha1-j51ttHB+puxzgwU3R1EDZ80fYzI=", "dev": true }, + "prefix-matches": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prefix-matches/-/prefix-matches-1.0.1.tgz", + "integrity": "sha1-AuNM4n8zr0jmi7/OKqwqAEvCt2w=", + "dev": true + }, "prelude-ls": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", @@ -3312,12 +4301,24 @@ "integrity": "sha1-zq8IMCL8RrSjX2nhPvda7Q1jmFY=", "dev": true }, + "proxy-addr": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", + "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "dev": true + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", "dev": true }, + "ps-tree": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz", + "integrity": "sha1-tCGyQUDWID8e08dplrRCewjowBQ=", + "dev": true + }, "pseudomap": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", @@ -3422,6 +4423,18 @@ "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", "dev": true }, + "qs": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz", + "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==", + "dev": true + }, + "query-string": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-2.4.2.tgz", + "integrity": "sha1-fbBmZCCAS6qSrp8miWKFWnYUPfs=", + "dev": true + }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -3473,6 +4486,24 @@ "integrity": "sha512-YL6GrhrWoic0Eq8rXVbMptH7dAxCs0J+mh5Y0euNekPPYaxEmdVGim6GdoxoRzKW2yJoU8tueifS7mYxvcFDEQ==", "dev": true }, + "randomhex": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/randomhex/-/randomhex-0.1.5.tgz", + "integrity": "sha1-us7vmCMpCRQA8qKRLGzQLxCU9YU=", + "dev": true + }, + "range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=", + "dev": true + }, + "raw-body": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.2.tgz", + "integrity": "sha1-vNYMd9Prk83gBQKVw/N5OJvIj4k=", + "dev": true + }, "read-pkg": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", @@ -3505,6 +4536,18 @@ "integrity": "sha1-TtCtBg3zBzMAxIRANz9y0cxkLXg=", "dev": true }, + "readline-sync": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/readline-sync/-/readline-sync-1.4.7.tgz", + "integrity": "sha1-ABv91MBhEMPAhMY798alYCIhPzA=", + "dev": true + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "dev": true + }, "regenerate": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.3.3.tgz", @@ -3579,6 +4622,20 @@ "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", "dev": true }, + "request": { + "version": "2.83.0", + "resolved": "https://registry.npmjs.org/request/-/request-2.83.0.tgz", + "integrity": "sha512-lR3gD69osqm6EYLk9wB/G1W/laGWjzH90t1vEa2xuxHD5KUrSzp9pUSfTm+YC5Nxt2T8nMPEvKlhbQayU7bgFw==", + "dev": true, + "dependencies": { + "uuid": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz", + "integrity": "sha512-DIWtzUkw04M4k3bf1IcpS2tngXEL26YUD2M0tMDUpnUrz2hgzUBlD55a4FjdLGPvfHxS6uluGWvaVEqgBcVa+g==", + "dev": true + } + } + }, "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", @@ -3603,6 +4660,12 @@ "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==", "dev": true }, + "resolve-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz", + "integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=", + "dev": true + }, "resolve-from": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", @@ -3615,10 +4678,10 @@ "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", "dev": true }, - "right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "resumer": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", "dev": true }, "rimraf": { @@ -3638,6 +4701,12 @@ "integrity": "sha1-A3GrSuC91yDUFm19/aZP96RFpsA=", "dev": true }, + "rx": { + "version": "2.3.24", + "resolved": "https://registry.npmjs.org/rx/-/rx-2.3.24.tgz", + "integrity": "sha1-FPlQpCF9fjXapxu8vljv9o6ksrc=", + "dev": true + }, "rx-lite": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", @@ -3660,12 +4729,52 @@ "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" }, + "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=", + "dev": true, + "dependencies": { + "commander": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz", + "integrity": "sha1-Br42f+v9oMMwqh4qBy09yXYkJdQ=", + "dev": true + } + } + }, "semver": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.4.1.tgz", "integrity": "sha512-WfG/X9+oATh81XtllIo/I8gOiY9EXRdv1cQdyykeXK17YcUW3EXUAi2To4pcH6nZtJPr7ZOpM5OMyWJZm+8Rsg==", "dev": true }, + "send": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", + "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "dev": true, + "dependencies": { + "statuses": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", + "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", + "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "dev": true + }, + "servify": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/servify/-/servify-0.1.12.tgz", + "integrity": "sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw==", + "dev": true + }, "set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", @@ -3683,11 +4792,23 @@ "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" }, + "setprototypeof": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.3.tgz", + "integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ=", + "dev": true + }, "sha.js": { "version": "2.4.9", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.9.tgz", "integrity": "sha512-G8zektVqbiPHrylgew9Zg1VRB1L/DtXNUVAM6q4QLy8NE3qtHlFXTf8VLL4k1Yl6c7NMjtZUTdXV+X44nFaT6A==" }, + "sha3": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/sha3/-/sha3-1.2.0.tgz", + "integrity": "sha1-aYnxtwpJhwWHajc+LGKs6WqpOZo=", + "dev": true + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -3706,12 +4827,24 @@ "integrity": "sha1-zh7YN7Sw5Vtew9q4QlGrnb3Ax+w=", "dev": true }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", "dev": true }, + "simple-get": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz", + "integrity": "sha1-6XVe2kB+ltpAxeUVjJ6jezO+y+s=", + "dev": true + }, "slash": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", @@ -3724,6 +4857,12 @@ "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "dev": true }, + "sntp": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz", + "integrity": "sha512-FL1b58BDrqS3A11lJ0zEdnJ3UOKqVxawAkF3k7F0CVN7VQ34aZrV+G8BZ1WC9ZL7NyrwsW0oviwsWDgRuVYtJg==", + "dev": true + }, "source-list-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.0.tgz", @@ -3742,6 +4881,18 @@ "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true }, + "spawn-command": { + "version": "0.0.2-1", + "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz", + "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=", + "dev": true + }, + "spawn-command-with-kill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spawn-command-with-kill/-/spawn-command-with-kill-1.0.0.tgz", + "integrity": "sha1-gDrXny9W5E3ZJhg3aKrC+ux9DOY=", + "dev": true + }, "spdx-correct": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz", @@ -3760,24 +4911,60 @@ "integrity": "sha1-yd96NCRZSt5r0RkA1ZZpbcBrrFc=", "dev": true }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=", + "dev": true + }, "sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, + "sshpk": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz", + "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=", + "dev": true + }, + "starts-with": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/starts-with/-/starts-with-1.0.2.tgz", + "integrity": "sha1-Fnk6cp2J1M89T7LtovkIrjV/GW8=", + "dev": true + }, + "statuses": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.4.0.tgz", + "integrity": "sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==", + "dev": true + }, "stream-browserify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz", "integrity": "sha1-ZiZu5fm9uZQKTkUUyvtDu3Hlyds=", "dev": true }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true + }, "stream-http": { "version": "2.7.2", "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.7.2.tgz", "integrity": "sha512-c0yTD2rbQzXtSsFSVhtpvY/vS6u066PcXOX9kBB3mSO76RiUQzL340uJkGBWnlBg4/HZzqiUXtaVA7wcRcJgEw==", "dev": true }, + "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=", + "dev": true + }, "string_decoder": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", @@ -3804,6 +4991,12 @@ } } }, + "stringstream": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", + "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=", + "dev": true + }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -3816,6 +5009,12 @@ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", "dev": true }, + "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==", + "dev": true + }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -3827,6 +5026,12 @@ "resolved": "https://registry.npmjs.org/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz", "integrity": "sha1-DF8VX+8RUTczd96du1iNoFUA428=" }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "dev": true + }, "strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", @@ -3871,6 +5076,44 @@ "integrity": "sha1-mTcqXJmb8t8WCvwNdL7U9HlIzSI=", "dev": true }, + "tape": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/tape/-/tape-3.6.1.tgz", + "integrity": "sha1-SJPdU+KApfWMDOswwsDrs7zVHh8=", + "dev": true, + "dependencies": { + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true + } + } + }, + "tar-stream": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz", + "integrity": "sha512-mQdgLPc/Vjfr3VWqWbfxW8yQNiJCbAZ+Gf6GDu1Cy0bdb33ofyiNGBtAY96jHFhDuivCwgW1H9DgTON+INiXgg==", + "dev": true + }, + "temp-write": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/temp-write/-/temp-write-2.1.0.tgz", + "integrity": "sha1-WYkJGODvCdVIqqNC9L00CdhATpY=", + "dev": true + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -3883,6 +5126,12 @@ "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", "dev": true }, + "timed-out": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz", + "integrity": "sha1-84sK6B03R9YoAB9B2vxlKs5nHAo=", + "dev": true + }, "timers-browserify": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.4.tgz", @@ -3913,6 +5162,30 @@ "integrity": "sha1-zu78cXp2xDFvEm0LnbqlXX598Bo=", "dev": true }, + "tough-cookie": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz", + "integrity": "sha1-C2GKVWW23qkL80JdBNVe3EdadWE=", + "dev": true + }, + "tree-kill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.0.tgz", + "integrity": "sha512-DlX6dR0lOIRDFxI0mjL9IYg6OTncLm/Zt+JiBhE5OlFcAR8yc9S7FFXU9so0oda47frdM/JFsk7UjNt9vscKcg==", + "dev": true + }, + "trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", + "dev": true + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=", + "dev": true + }, "trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", @@ -3953,12 +5226,25 @@ "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", "dev": true }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true + }, "tv4": { "version": "1.0.18", "resolved": "https://registry.npmjs.org/tv4/-/tv4-1.0.18.tgz", "integrity": "sha1-c5d2nwA1jjO/Uo3FyHZMYbbegkU=", "dev": true }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true, + "optional": true + }, "type-check": { "version": "0.3.2", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", @@ -3971,6 +5257,12 @@ "integrity": "sha512-N9IvkQslUGYGC24RkJk1ba99foK6TkwC2FHAEBlQFBP0RxQZS8ZpJuAZcwiY/w9ZJHFQb1aOXBI60OdxhTrwEQ==", "dev": true }, + "type-is": { + "version": "1.6.15", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", + "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "dev": true + }, "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", @@ -4016,16 +5308,36 @@ "integrity": "sha1-5hjYAtf//Si3CPzOzHMVYIusR/I=", "dev": true }, - "underscore": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz", - "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=", + "ultron": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", + "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", "dev": true }, - "underscore.string": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz", - "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=", + "unbzip2-stream": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz", + "integrity": "sha512-izD3jxT8xkzwtXRUZjtmRwKnZoeECrfZ8ra/ketwOcusbZEp4mjULMnJOCfTDZBgGQAAY1AJ/IgxcwkavcX9Og==", + "dev": true, + "dependencies": { + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha1-EQHpVE9KdrG8OybUUsqW16NeeXg=", + "dev": true + }, + "buffer": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz", + "integrity": "sha1-pyyTb3e5a/UvX357RnGAYoVR3vs=", + "dev": true + } + } + }, + "underscore": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz", + "integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=", "dev": true }, "unorm": { @@ -4033,6 +5345,18 @@ "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=", + "dev": true + }, + "unzip-response": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", + "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=", + "dev": true + }, "url": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", @@ -4047,6 +5371,12 @@ } } }, + "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=", + "dev": true + }, "user-home": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", @@ -4078,6 +5408,12 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, "uuid": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", @@ -4095,6 +5431,18 @@ "integrity": "sha1-KAS6vnEq0zeUWaz74kdGqywwP7w=", "dev": true }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true + }, "vizion": { "version": "0.2.13", "resolved": "https://registry.npmjs.org/vizion/-/vizion-0.2.13.tgz", @@ -4142,6 +5490,26 @@ "resolved": "https://registry.npmjs.org/web3-typescript-typings/-/web3-typescript-typings-0.7.2.tgz", "integrity": "sha512-6lBSipWCX6wNZYWs+12RR9HkQtcOvtMa8rmV+XIHdYFqAsN/DaSp8Dbj0VyMdL+TbOs/PR549Ot/pFa4ef1ihA==" }, + "web3-utils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.27.tgz", + "integrity": "sha1-0JfVwzaha59sqbYK9o3RXAZDIUs=", + "dev": true, + "dependencies": { + "bn.js": { + "version": "4.11.6", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.6.tgz", + "integrity": "sha1-UzRK2xRhehP26N0s4okF0cC6MhU=", + "dev": true + }, + "utf8": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/utf8/-/utf8-2.1.1.tgz", + "integrity": "sha1-LgHbAvfY0JRPdxBPFgnrDDBM92g=", + "dev": true + } + } + }, "webpack": { "version": "3.10.0", "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.10.0.tgz", @@ -4193,12 +5561,6 @@ "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", - "dev": true - }, "with": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/with/-/with-5.1.1.tgz", @@ -4219,26 +5581,6 @@ "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", "dev": true }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "dependencies": { - "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=", - "dev": true - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true - } - } - }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -4251,6 +5593,38 @@ "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", "dev": true }, + "ws": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", + "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", + "dev": true + }, + "xhr": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/xhr/-/xhr-2.4.1.tgz", + "integrity": "sha512-pAIU5vBr9Hiy5cpFIbPnwf0C18ZF86DBsZKrlsf87N5De/JbA6RJ83UP/cv+aljl4S40iRVMqP4pr4sF9Dnj0A==", + "dev": true + }, + "xhr-request": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.0.1.tgz", + "integrity": "sha1-g/CKSyC+7Geowcco6BAvTJ7svdo=", + "dev": true, + "dependencies": { + "object-assign": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", + "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=", + "dev": true + } + } + }, + "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=", + "dev": true + }, "xhr2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.1.4.tgz", @@ -4352,6 +5726,18 @@ "dev": true } } + }, + "yauzl": { + "version": "2.9.1", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.9.1.tgz", + "integrity": "sha1-qBmB6nCleUYTOIPwKcWCGok1mn8=", + "dev": true + }, + "zip-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "dev": true } } } diff --git a/package-scripts.js b/package-scripts.js new file mode 100644 index 000000000..73b809b86 --- /dev/null +++ b/package-scripts.js @@ -0,0 +1,148 @@ +const {series, crossEnv, concurrent, rimraf, copy, ifWindows, runInNewWindow, mkdirp} = require('nps-utils') +const env = require('env-variable')(); +const joinPath = require('path.join'); +const cwd = require('cwd')(); +/** + * environment variables you can use to configure stuff like migrateContracts + */ +const pathArcJs = env.pathArcJs || cwd; +const pathArcJsContracts = env.pathArcJsContracts || "./contracts"; +const pathDaostackArcRepo = env.pathDaostackArcRepo || "../daostack"; +const pathDaostackArcRepoContracts = env.pathDaostackArcRepoContracts || joinPath(pathDaostackArcRepo,"build/contracts"); +const pathDaostackArcTestrpcDb = "./testrpcDb"; +const pathDaostackArcTestrpcDbZip = "./testrpcDb.zip"; +const network = env.ETH_ENV; + +// "console.log(`cwd: ${cwd}`)" +// console.log(`network: ${network ? network: "testrpc"}`) +// console.log(`pathArcJs: ${pathArcJs}`) +// console.log(`pathDaostackArcRepo: ${pathDaostackArcRepo}`) +// console.log(`pathArcJsContracts: ${pathArcJsContracts}`), +// console.log(`pathDaostackArcRepoContracts: ${pathDaostackArcRepoContracts}`), + +module.exports = { + scripts: { + lint: { + default: "eslint .", + fix: 'nps "lint --fix ."' + }, + test: { + default: series( + "nps lint", + "nps test.automated" + ), + automated: "mocha --require babel-register --require chai --timeout 15000", + watch: 'nps "test.automated --watch"', + debug: 'nps "test.automated --debug"', + bail: 'nps "test.automated --bail"', + testrpc: { + /** the same command as is used by default by daostack-arc */ + run: `testrpc -l 6500000 --account=\"0x0191ecbd1b150b8a3c27c27010ba51b45521689611e669109e034fd66ae69621,9999999999999999999999999999999999999999999\" --account=\"0x00f360233e89c65970a41d4a85990ec6669526b2230e867c352130151453180d,9999999999999999999999999999999999999999999\" --account=\"0x987a26abca7432016104ce2f24ce639340e25afe06ac69f68791399e7a5d1028,9999999999999999999999999999999999999999999\" --account=\"0x89af34b1b7347834048b99423dad174a14bf14540d720d72c16ae92e94b987cb,9999999999999999999999999999999999999999999\" --account=\"0xc867be647eb2bc51e4c0d61066859875cf3634fe949b6f5f85c69ab90e485b37,9999999999999999999999999999999999999999999\" --account=\"0xefabcc2377dee5e51b5a9e65a3854aec85fbbec3cb584d8ad4f9679869fb33c6,9999999999999999999999999999999999999999999\"` + }, + testrpcDb: { + /** + * Full workflow to create custom contracts. This can take a long time as there may + * be thousands of files to delete. + * + * npm start test.testrpcDb.clean + * + * The following will open a window with testrpc running in it. + * + * npm start test.testrpcDb.runAsync + * + * This will go into the daostack-arc repo, at pathDaostackArcRepo, and do a truffle migrate for the + * network given by env.ETH_ENV. + * + * npm start test.testrpcDb.create + * + * If the contracts haven't for practical purposes changed, you can skip the next two steps. + * Otherwise we must regenerate this testrpc database so that Travis tests will be running against + * the correct contracts. + * + * Kill the window in which testrpc is running. (You have to do that yourself, in your OS.) + * + * Zip up the virgin testrpc database that was just created, before anything changes. + * The zip will fail in any case if testrpc is still running against it. The zip is used by + * Travis automated tests when you commit the changes. + * + * npm start test.testrpcDb.zip + * + * Now we are ready to build daostack-arc-js using the newly-deployed contracts: + * + * npm start build (or deploy.pack or deploy.publish) + * + * If you want you can run the tests: + * + * npm start test.testrpcDb.runAsync + * npm start test + * + * (Note that Travis will use test.testrpcDb.run when it runs the tests.) + */ + run: `testrpc --db ${pathDaostackArcTestrpcDb} --networkId 1512051714758 --mnemonic "behave pipe turkey animal voyage dial relief menu blush match jeans general"` + , runAsync: series( + mkdirp(pathDaostackArcTestrpcDb), + runInNewWindow(`npm start test.testrpcDb.run`) + ) + , create: series( + 'nps migrateContracts.cleanDaoStackRepoContracts' + , 'nps migrateContracts.andFetch' + ) + , clean: rimraf(pathDaostackArcTestrpcDb) + , zip: `node ./package-scripts/archiveTestrpcDb.js ${pathDaostackArcTestrpcDbZip} ${pathDaostackArcTestrpcDb}` + , unzip: `node ./package-scripts/unArchiveTestrpcDb.js ${pathDaostackArcTestrpcDbZip} ${pathArcJs}` + , restoreFromZip: series( + 'nps test.testrpcDb.clean' + , 'nps test.testrpcDb.unzip' + ) + } + }, + build: { + default: series( + rimraf('dist') + , "babel lib --presets babel-preset-es2015 --out-dir dist" + ) + }, + deploy: { + pack: series( + "nps build", + "npm pack" + ) + , publish: series( + "nps build", + "npm publish" + ) + } + /** + * migrateContracts requires that you have installed the daostack-arc repo, or equivalent, + * wherein the .sol and deploy*.js files can be found in the folder structure + * that truffle expects. + * + * It will look in pathDaostackArcRepo for the daostack repo, pathArcJs for daostack-arc-js (this library) + * + * It will delete and replace all the contract js files in pathDaostackArcRepoContracts + * + * The final output goes to the local contracts folder after running migrateContracts.fetchContractsFromDaoStackRepo. + */ + , migrateContracts: { + default: series( + `cd ${pathDaostackArcRepo}` + , `truffle migrate ${network ? `--network ${network}` : ''}` + , `cd ${pathArcJs}` + ) + , cleanDaoStackRepoContracts: rimraf(joinPath(pathDaostackArcRepoContracts,'*')) + , cleanArcContracts: rimraf(joinPath(pathArcJsContracts,'*')) + /** + * Fetch the newly-compiled contract .json files from the daostack-arc repo into the local + * contracts folder which is where the code expects to find them. + */ + , fetchContractsFromDaoStackRepo: series( + 'nps migrateContracts.cleanArcContracts' + , copy(`${joinPath(pathDaostackArcRepoContracts, "*")} ${pathArcJsContracts}`) + ) + , andFetch: series( + "nps migrateContracts", + "nps migrateContracts.fetchContractsFromDaoStackRepo" + ) + } + } +} diff --git a/package-scripts/archiveTestrpcDb.js b/package-scripts/archiveTestrpcDb.js new file mode 100644 index 000000000..7c6b1a9de --- /dev/null +++ b/package-scripts/archiveTestrpcDb.js @@ -0,0 +1,26 @@ +const archiver = require('archiver'); +const fs = require("fs"); + +const pathDaostackArcTestrpcDbZip = process.argv[2]; +const pathDaostackArcTestrpcDb = process.argv[3]; +const _archiver = archiver('zip', { zlib: { level: 9 } /* Sets the compression level. */ }); + +// console.log(`archiveTestrpcDb(${pathDaostackArcTestrpcDbZip}, ${pathDaostackArcTestrpcDb}`); + +const stream = fs.createWriteStream(pathDaostackArcTestrpcDbZip); + +// stream.on('end', function() { +// console.log('stream end'); +// }); +// stream.on('close', function() { +// console.log('stream close'); +// }); +// stream.on('finish', function() { +// console.log('stream finish'); +// }); + +_archiver.pipe(stream); + +_archiver + .directory(pathDaostackArcTestrpcDb, 'testrpcDb') + .finalize(); \ No newline at end of file diff --git a/package-scripts/unArchiveTestrpcDb.js b/package-scripts/unArchiveTestrpcDb.js new file mode 100644 index 000000000..c61cd2c31 --- /dev/null +++ b/package-scripts/unArchiveTestrpcDb.js @@ -0,0 +1,5 @@ +const decompress = require('decompress'); +const pathDaostackArcTestrpcDbZip = process.argv[2]; +const pathDaostackArcTestrpcDb = process.argv[3]; +// console.log(`unArchiveTestrpcDb(${pathDaostackArcTestrpcDbZip}, ${pathDaostackArcTestrpcDb}`); +decompress(pathDaostackArcTestrpcDbZip, pathDaostackArcTestrpcDb); \ No newline at end of file diff --git a/package.json b/package.json index a33601d1b..8e8f91d20 100644 --- a/package.json +++ b/package.json @@ -1,19 +1,24 @@ { - "name": "arc-js", - "version": "0.0.0-alpha.1", - "description": "Javascript library providing access to DAOStack ethereum smart contracts (daostack-arc)", - "main": "lib/arc.js", + "name": "daostack-arc-js", + "version": "0.0.0-alpha.9", + "description": "Javascript library providing access to DAOStack Arc ethereum smart contracts (daostack-arc)", + "main": "dist/arc.js", + "types": "lib/arc.d.ts", "directories": { "lib": "./lib", "doc": "./docs", - "contracts": "./contracts/" + "contracts": "./contracts" }, + "files": [ + "dist/", + "lib/", + "docs/", + "contracts/" + ], "scripts": { - "build": "babel lib --presets babel-preset-es2015 --out-dir dist", - "prepublishOnly": "npm run build", - "lint": "eslint .", - "lint --fix": "eslint --fix .", - "test": "mocha --require babel-register --require chai" + "start": "nps", + "test": "nps test", + "build": "nps build" }, "repository": { "type": "git", @@ -37,14 +42,15 @@ "dependencies": { "@types/bignumber.js": "^4.0.3", "bip39": "^2.4.0", - "daostack-arc": "0.0.0-alpha.15", "default-options": "^1.0.0", + "ethereumjs-abi": "^0.6.5", "ethers": "^2.1.3", "promisify": "0.0.3", "truffle-contract": "^3.0.1", "web3-typescript-typings": "^0.7.2" }, "devDependencies": { + "archiver": "^2.1.0", "babel-cli": "^6.26.0", "babel-eslint": "^7.2.3", "babel-plugin-syntax-async-functions": "^6.1.4", @@ -53,6 +59,10 @@ "babel-register": "^6.24.1", "bignumber.js": "^4.1.0", "chai": "^4.1.2", + "cwd": "^0.10.0", + "daostack-arc": "0.0.0-alpha.19", + "decompress": "^4.2.0", + "env-variable": "0.0.3", "eslint": "^4.10.0", "eslint-config-defaults": "^9.0.0", "eslint-config-standard": "^10.2.1", @@ -62,7 +72,11 @@ "eslint-plugin-react": "^7.4.0", "eslint-plugin-standard": "^3.0.1", "ethereumjs-testrpc": "^6.0.3", + "fs": "0.0.1-security", "mocha": "^4.0.1", + "nps": "^5.7.1", + "nps-utils": "^1.5.0", + "path.join": "^1.0.0", "pm2": "^1.1.3", "pug": "^2.0.0-rc.1", "uint32": "^0.2.1" diff --git a/test/simplecontribution.js b/test/contributionreward.js similarity index 74% rename from test/simplecontribution.js rename to test/contributionreward.js index 53384a406..f50db4246 100644 --- a/test/simplecontribution.js +++ b/test/contributionreward.js @@ -1,19 +1,19 @@ import * as helpers from './helpers'; -import { getValueFromLogs, requireContract } from '../lib/utils.js'; +import { SHA3, getValueFromLogs, requireContract } from '../lib/utils.js'; const DAOToken = requireContract("DAOToken"); -const SimpleContributionScheme = requireContract("SimpleContributionScheme"); +const ContributionReward = requireContract("ContributionReward"); -export async function proposeSimpleContributionScheme(org, accounts) { +export async function proposeContributionReward(org, accounts) { const schemeRegistrar = await org.scheme("SchemeRegistrar"); - const simpleContributionScheme = await org.scheme('SimpleContributionScheme'); + const ContributionReward = await org.scheme('ContributionReward'); const votingMachineHash = await org.votingMachine.getParametersHash(org.reputation.address, 50, true); await org.votingMachine.setParameters(org.reputation.address, 50, true); const votingMachineAddress = org.votingMachine.address; - const schemeParametersHash = await simpleContributionScheme.setParams({ + const schemeParametersHash = await ContributionReward.setParams({ orgNativeTokenFee: 0, schemeNativeTokenFee: 0, voteParametersHash: votingMachineHash, @@ -22,30 +22,27 @@ export async function proposeSimpleContributionScheme(org, accounts) { const tx = await schemeRegistrar.proposeToAddModifyScheme({ avatar: org.avatar.address, - scheme: simpleContributionScheme.address, - schemeName: "SimpleContributionScheme", - schemeParametersHash: schemeParametersHash + scheme: ContributionReward.address, + schemeName: "ContributionReward", + schemeParametersHash: schemeParametersHash, + autoRegister: true }); const proposalId = getValueFromLogs(tx, '_proposalId'); org.vote(proposalId, 1, {from: accounts[2]}); - return simpleContributionScheme; + return ContributionReward; } -contract('SimpleContribution scheme', (accounts) => { +describe('ContributionReward scheme', () => { let params, paramsHash, tx, proposal; - before(() => { - helpers.etherForEveryone(); - }); - it("submit and accept a contribution - complete workflow", async () => { const organization = await helpers.forgeOrganization(); - const scheme = await proposeSimpleContributionScheme(organization, accounts); + const scheme = await proposeContributionReward(organization, accounts); - tx = await scheme.proposeContribution({ + tx = await scheme.proposeContributionReward({ avatar: organization.avatar.address, // Avatar _avatar, description: 'A new contribution', // string _contributionDesciption, beneficiary: accounts[1], // address _beneficiary @@ -83,22 +80,22 @@ contract('SimpleContribution scheme', (accounts) => { const avatar = org.avatar; const controller = org.controller; - // we creaet a SimpleContributionScheme + // we creaet a ContributionReward const tokenAddress = await controller.nativeToken(); const votingMachine = org.votingMachine; // create a contribution Scheme - const contributionScheme = (await SimpleContributionScheme.new( + const contributionReward = (await ContributionReward.new( tokenAddress, 0, // register with 0 fee accounts[0], )); // check if we have the fee to register the contribution - const contributionSchemeRegisterFee = await contributionScheme.fee(); - // console.log('contributionSchemeRegisterFee: ' + contributionSchemeRegisterFee); + const contributionRewardRegisterFee = await contributionReward.fee(); + // console.log('contributionRewardRegisterFee: ' + contributionRewardRegisterFee); // our fee is 0, so that's easy (TODO: write a test with non-zero fees) - assert.equal(contributionSchemeRegisterFee, 0); + assert.equal(contributionRewardRegisterFee, 0); const votingMachineHash = await votingMachine.getParametersHash(org.reputation.address, 50, true); await votingMachine.setParameters(org.reputation.address, 50, true); @@ -107,14 +104,14 @@ contract('SimpleContribution scheme', (accounts) => { // console.log(`****** votingMachineHash ${votingMachineHash} ******`); // console.log(`****** votingMachineAddress ${votingMachineAddress} ******`); - const schemeParametersHash = await contributionScheme.getParametersHash( + const schemeParametersHash = await contributionReward.getParametersHash( 0, 0, votingMachineHash, votingMachineAddress ); - await contributionScheme.setParameters( + await contributionReward.setParameters( 0, 0, votingMachineHash, @@ -125,9 +122,10 @@ contract('SimpleContribution scheme', (accounts) => { tx = await schemeRegistrar.proposeToAddModifyScheme({ avatar: avatar.address, - scheme: contributionScheme.address, - schemeName: "SimpleContributionScheme", - schemeParametersHash: schemeParametersHash + scheme: contributionReward.address, + schemeName: "ContributionReward", + schemeParametersHash: schemeParametersHash, + autoRegister: true }); const proposalId = getValueFromLogs(tx, '_proposalId'); @@ -136,38 +134,41 @@ contract('SimpleContribution scheme', (accounts) => { tx = await votingMachine.vote(proposalId, 1, {from: accounts[1]}); // now our scheme should be registered on the controller - const schemeFromController = await controller.schemes(contributionScheme.address); + const schemeFromController = await controller.schemes(contributionReward.address); // we expect to have only the first bit set (it is a registered scheme without nay particular permissions) assert.equal(schemeFromController[1], '0x00000001'); // is the organization registered? - const orgFromContributionScheme = await contributionScheme.organizations(avatar.address); + const orgFromContributionScheme = await contributionReward.organizations(avatar.address); // console.log('orgFromContributionScheme after registering'); assert.equal(orgFromContributionScheme, true); // check the configuration for proposing new contributions - paramsHash = await controller.getSchemeParameters(contributionScheme.address); + paramsHash = await controller.getSchemeParameters(contributionReward.address); // console.log(`****** paramsHash ${paramsHash} ******`); // params are: uint orgNativeTokenFee; bytes32 voteApproveParams; uint schemeNativeTokenFee; BoolVoteInterface boolVote; - params = await contributionScheme.parameters(paramsHash); + params = await contributionReward.parameters(paramsHash); // check if they are not trivial - the 4th item should be a valid boolVote address assert.notEqual(params[3], '0x0000000000000000000000000000000000000000'); assert.equal(params[3], votingMachine.address); // now we can propose a contribution - tx = await contributionScheme.submitContribution( + tx = await contributionReward.submitContribution( avatar.address, // Avatar _avatar, - 'a fair play', // string _contributionDesciption, - 0, // uint _nativeTokenReward, - 0, // uint _reputationReward, - 0, // uint _ethReward, + // web3.utils.soliditySha3('a fair play'), this is available in web3 1.0 + SHA3("a fair play"), + [ + 0, // uint _nativeTokenReward, + 0, // uint _reputationReward, + 0, // uint _ethReward, + 0 + ], // uint _externalTokenReward, '0x0008e8314d3f08fd072e06b6253d62ed526038a0', // StandardToken _externalToken, we provide some arbitrary address - 0, // uint _externalTokenReward, accounts[2], // address _beneficiary ); // console.log(tx.logs); const contributionId = tx.logs[0].args._proposalId; - // let us vote for it (is there a way to get the votingmachine from the contributionScheme?) + // let us vote for it (is there a way to get the votingmachine from the contributionReward?) // this is a minority vote for 'yes' // check preconditions for the vote proposal = await votingMachine.proposals(contributionId); @@ -183,15 +184,15 @@ contract('SimpleContribution scheme', (accounts) => { // X.mapping(address=>int) voted; // save the amount of reputation voted by an agent (positive sign is yes, negatice is no) // 7. bool opened; // voting opened flag assert.isOk(proposal[6]); // proposal.opened is true - // first we check if our executable (proposal[3]) is indeed the contributionScheme - assert.equal(proposal[3], contributionScheme.address); + // first we check if our executable (proposal[3]) is indeed the contributionReward + assert.equal(proposal[3], contributionReward.address); tx = await votingMachine.vote(contributionId, 1, {from: accounts[0]}); // and this is the majority vote (which will also call execute on the executable tx = await votingMachine.vote(contributionId, 1, {from: accounts[1]}); // TODO: check if proposal was deleted from contribution Scheme - // proposal = await contributionScheme.proposals(contributionId); + // proposal = await contributionReward.proposals(contributionId); // assert.equal(proposal[0], helpers.NULL_HASH); // check if proposal was deleted from voting machine @@ -209,13 +210,13 @@ contract('SimpleContribution scheme', (accounts) => { const token = await DAOToken.new(); // create a contribution Scheme - const contributionScheme = await SimpleContributionScheme.new({ + const contributionReward = await ContributionReward.new({ tokenAddress: token.address, fee: 0, // register with 0 fee beneficiary: accounts[1], }); - const contributionSchemeParamsHash = await contributionScheme.getParametersHash( + const contributionRewardParamsHash = await contributionReward.getParametersHash( 0, 0, helpers.SOME_HASH, @@ -223,18 +224,18 @@ contract('SimpleContribution scheme', (accounts) => { ); // these parameters are not registered yet at this point - params = await contributionScheme.parameters(contributionSchemeParamsHash); + params = await contributionReward.parameters(contributionRewardParamsHash); assert.equal(params[3], '0x0000000000000000000000000000000000000000'); // register the parameters are registers in the contribution scheme - await contributionScheme.setParameters( + await contributionReward.setParameters( 0, 0, helpers.SOME_HASH, helpers.SOME_ADDRESS, ); - params = await contributionScheme.parameters(contributionSchemeParamsHash); + params = await contributionReward.parameters(contributionRewardParamsHash); assert.notEqual(params[3], '0x0000000000000000000000000000000000000000'); }); diff --git a/test/globalconstraintregistrar.js b/test/globalconstraintregistrar.js index f1e8000d6..39f95b123 100644 --- a/test/globalconstraintregistrar.js +++ b/test/globalconstraintregistrar.js @@ -6,13 +6,9 @@ import { GlobalConstraintRegistrar } from '../lib/globalconstraintregistrar.js'; const DAOToken = requireContract("DAOToken"); const TokenCapGC = requireContract("TokenCapGC"); -contract('GlobalConstraintRegistrar', (accounts) => { +describe('GlobalConstraintRegistrar', () => { let tx, proposalId; - before(() => { - helpers.etherForEveryone(); - }); - it("proposeToAddModifyGlobalConstraint javascript wrapper should work", async () => { const organization = await helpers.forgeOrganization(); diff --git a/test/helpers.js b/test/helpers.js index 353f90fdc..fe368bf6a 100644 --- a/test/helpers.js +++ b/test/helpers.js @@ -1,6 +1,16 @@ /** helpers for tests */ +import { getWeb3 } from '../lib/utils.js'; +import { assert } from 'chai'; + +beforeEach(async () => { + global.web3 = getWeb3(); + global.assert = assert; + global.accounts = []; + await etherForEveryone(); +}); + import { Organization } from '../lib/organization.js'; import { getSettings } from '../lib/settings.js'; @@ -23,8 +33,9 @@ export async function getProposal(tx) { export async function etherForEveryone() { // give all web3.eth.accounts some ether - const accounts = web3.eth.accounts; - for (let i=0; i < 10; i++) { + accounts = web3.eth.accounts; + const count = accounts.length; + for (let i=0; i < count; i++) { await web3.eth.sendTransaction({to: accounts[i], from: accounts[0], value: web3.toWei(0.1, "ether")}); } } diff --git a/test/organization.js b/test/organization.js index ef3047396..f82f7b3a6 100644 --- a/test/organization.js +++ b/test/organization.js @@ -1,16 +1,12 @@ import { Organization } from '../lib/organization.js'; import * as helpers from './helpers'; -import { proposeSimpleContributionScheme } from './simplecontribution.js'; +import { proposeContributionReward } from './contributionreward.js'; -contract('Organization', (accounts) => { +describe('Organization', () => { let organization; - before(() => { - helpers.etherForEveryone(); - }); - it("can be created with 'new' using default settings", async () => { organization = await Organization.new({ orgName: 'Skynet', @@ -63,11 +59,11 @@ contract('Organization', (accounts) => { // now we add another known scheme - await proposeSimpleContributionScheme(organization, accounts); + await proposeContributionReward(organization, accounts); assert.equal((await organization.schemes()).length, 4); // TODO: the organizaiton must be registered with the scheme before the next works - // assert.equal((await organization.scheme('SimpleContributionScheme')).address, settings.daostackContracts.ContributionScheme.address); + // assert.equal((await organization.scheme('ContributionReward')).address, settings.daostackContracts.ContributionScheme.address); }); // it("has a working proposeScheme function for SimpleICO", async function(){ @@ -103,7 +99,7 @@ contract('Organization', (accounts) => { // }); // proposalId = await organization.proposeScheme({ - // contract: 'SimpleContributionScheme', + // contract: 'ContributionReward', // }); // // // assert.isOk(proposalId); diff --git a/test/schemeregistrar.js b/test/schemeregistrar.js index afcd1954c..2faf4e052 100644 --- a/test/schemeregistrar.js +++ b/test/schemeregistrar.js @@ -4,25 +4,26 @@ import { forgeOrganization, settingsForTest } from './helpers'; const DAOToken = requireContract("DAOToken"); -contract('SchemeRegistrar', (accounts) => { +describe('SchemeRegistrar', () => { it("proposeToAddModifyScheme javascript wrapper should add new scheme", async () => { const organization = await forgeOrganization(); const settings = await settingsForTest(); const schemeRegistrar = await organization.scheme('SchemeRegistrar'); - const simpleContributionScheme = await organization.schemes('SimpleContributionScheme'); - assert.equal(simpleContributionScheme.length,0, "scheme is already present"); + const ContributionReward = await organization.schemes('ContributionReward'); + assert.equal(ContributionReward.length,0, "scheme is already present"); - const simpleContributionSchemeAddress = settings.daostackContracts.SimpleContributionScheme.address; + const ContributionRewardAddress = settings.daostackContracts.ContributionReward.address; - assert.isFalse(await organization.controller.isSchemeRegistered(simpleContributionSchemeAddress), "scheme is registered into the controller"); + assert.isFalse(await organization.controller.isSchemeRegistered(ContributionRewardAddress), "scheme is registered into the controller"); const tx = await schemeRegistrar.proposeToAddModifyScheme({ avatar: organization.avatar.address, - scheme: simpleContributionSchemeAddress, - schemeName: "SimpleContributionScheme", - schemeParametersHash: NULL_HASH + scheme: ContributionRewardAddress, + schemeName: "ContributionReward", + schemeParametersHash: NULL_HASH, + autoRegister: true }); @@ -30,7 +31,7 @@ contract('SchemeRegistrar', (accounts) => { organization.vote(proposalId, 1, {from: accounts[2]}); - assert.isTrue(await organization.controller.isSchemeRegistered(simpleContributionSchemeAddress), "scheme is not registered into the controller"); + assert.isTrue(await organization.controller.isSchemeRegistered(ContributionRewardAddress), "scheme is not registered into the controller"); }); it("proposeToAddModifyScheme javascript wrapper should modify existing scheme", async () => { @@ -46,7 +47,8 @@ contract('SchemeRegistrar', (accounts) => { avatar: organization.avatar.address, scheme: modifiedSchemeAddress, schemeName: "SchemeRegistrar", - schemeParametersHash: NULL_HASH + schemeParametersHash: NULL_HASH, + autoRegister: true }); diff --git a/test/upgradescheme.js b/test/upgradescheme.js index 2b0e72cbb..690e11433 100644 --- a/test/upgradescheme.js +++ b/test/upgradescheme.js @@ -2,25 +2,35 @@ import { Organization } from '../lib/organization.js'; import { getValueFromLogs, requireContract } from '../lib/utils.js'; const Controller = requireContract("Controller"); const AbsoluteVote = requireContract('AbsoluteVote'); +const DAOToken = requireContract('DAOToken'); +const Avatar = requireContract('Avatar'); +const Reputation = requireContract('Reputation'); const UpgradeScheme = requireContract('UpgradeScheme'); -import { forgeOrganization, settingsForTest, SOME_HASH } from './helpers'; +import { forgeOrganization, settingsForTest, SOME_HASH, NULL_ADDRESS } from './helpers'; -contract('UpgradeScheme', (accounts) => { - before(() => { - helpers.etherForEveryone(); +describe('UpgradeScheme', () => { + + let avatar; + + beforeEach(async () => { + // let accounts = web3.eth.accounts; + const token = await DAOToken.new("TEST","TST"); + // set up a reputaiton system + const reputation = await Reputation.new(); + avatar = await Avatar.new('name', token.address, reputation.address); }); it("proposeController javascript wrapper should change controller", async () => { - const organization = await forgeOrganization(); + const org = await forgeOrganization(); - const upgradeScheme = await organization.scheme('UpgradeScheme'); - const newController = await Controller.new(null, null, null, [], [], []); + const upgradeScheme = await org.scheme('UpgradeScheme'); + const newController = await Controller.new(avatar.address, [], [], []); - assert.equal(await organization.controller.newController(), helpers.NULL_ADDRESS, "there is already a new contoller"); + assert.equal(await org.controller.newController(), NULL_ADDRESS, "there is already a new contoller"); const tx = await upgradeScheme.proposeController({ - avatar: organization.avatar.address, + avatar: org.avatar.address, controller: newController.address }); @@ -28,18 +38,19 @@ contract('UpgradeScheme', (accounts) => { const proposalId = getValueFromLogs(tx, '_proposalId'); - organization.vote(proposalId, 1, {from: accounts[2]}); + org.vote(proposalId, 1, {from: accounts[2]}); // now the ugprade should have been executed - assert.equal(await organization.controller.newController(), newController.address); + assert.equal(await org.controller.newController(), newController.address); // avatar, token and reputation ownership shold have been transferred to the new controller - assert.equal(await organization.token.owner(), newController.address); - assert.equal(await organization.reputation.owner(), newController.address); - assert.equal(await organization.avatar.owner(), newController.address); + assert.equal(await org.token.owner(), newController.address); + assert.equal(await org.reputation.owner(), newController.address); + assert.equal(await org.avatar.owner(), newController.address); }); it('controller upgrade should work as expected', async () => { + const founders = [ { address: accounts[0], @@ -64,10 +75,10 @@ contract('UpgradeScheme', (accounts) => { const votingMachine = await AbsoluteVote.at(settings.votingMachine); // the organization has not bene upgraded yet, so newController is the NULL address - assert.equal(await organization.controller.newController(), helpers.NULL_ADDRESS); + assert.equal(await organization.controller.newController(), NULL_ADDRESS); - // we create a new controller to upgrade to - const newController = await Controller.new(null, null, null, [], [], []); + // we create a new controller to which to upgrade + const newController = await Controller.new(avatar.address, [], [], []); let tx = await upgradeScheme.proposeUpgrade(organization.avatar.address, newController.address); const proposalId = getValueFromLogs(tx, '_proposalId'); diff --git a/test/utils.js b/test/utils.js index e0964e6ce..d520f8eba 100644 --- a/test/utils.js +++ b/test/utils.js @@ -2,9 +2,9 @@ import { ExtendTruffleContract, requireContract } from '../lib/utils.js'; import * as helpers from './helpers'; -const SoliditySimpleContributionScheme = requireContract("SimpleContributionScheme"); +const ContributionRewardContract = requireContract("ContributionReward"); -class SimpleContributionScheme extends ExtendTruffleContract(SoliditySimpleContributionScheme) { +class ContributionReward extends ExtendTruffleContract(ContributionRewardContract) { foo() { // console.log('foo() called'); @@ -28,11 +28,12 @@ class SimpleContributionScheme extends ExtendTruffleContract(SoliditySimpleContr } -contract('ExtendTruffleContract', () => { +describe('ExtendTruffleContract', () => { it("Must have sane inheritance", async () => { let x; - x = await SimpleContributionScheme.new(); + + x = await ContributionReward.new(); assert.isOk(x.nativeToken()); assert.equal(x.foo(), 'bar'); assert.equal(x.submitContribution(), 'abc'); @@ -40,13 +41,13 @@ contract('ExtendTruffleContract', () => { assert.equal(await x.setParams({ orgNativeTokenFee: 0, schemeNativeTokenFee: 0, voteParametersHash: helpers.SOME_HASH, votingMachine: helpers.SOME_ADDRESS }), '0xb6660b30e997e8e19cd58699fbf81c41450f200dbcb9f6a85c07b08483c86ee9'); assert.equal(x.getDefaultPermissions(), '0x00000009'); - x = await SimpleContributionScheme.at((await SoliditySimpleContributionScheme.deployed()).address); + x = await ContributionReward.at((await ContributionRewardContract.deployed()).address); assert.isOk(x.nativeToken()); assert.equal(x.foo(), 'bar'); assert.equal(x.submitContribution(), 'abc'); assert.equal(await x.nativeToken(), await x.contract.nativeToken()); - x = await SimpleContributionScheme.at((await SoliditySimpleContributionScheme.deployed()).address); + x = await ContributionReward.at((await ContributionRewardContract.deployed()).address); assert.isOk(x.nativeToken()); assert.equal(x.foo(), 'bar'); assert.equal(x.submitContribution(), 'abc'); diff --git a/test/wallet.js b/test/wallet.js index c1aff9e65..9223a70f3 100644 --- a/test/wallet.js +++ b/test/wallet.js @@ -6,7 +6,7 @@ import * as ethers from 'ethers'; import { Wallet } from '../lib/wallet.js'; import * as helpers from './helpers'; -contract('Wallet', (accounts) => { +describe('Wallet', () => { it('creates a new wallet on the blockchain', async function() { this.timeout(10000); const wallet = Wallet.new(); @@ -37,24 +37,24 @@ contract('Wallet', (accounts) => { it('can send and receive ether', async function() { this.timeout(10000); const wallet = Wallet.new(); - await web3.eth.sendTransaction({to: wallet.getPublicAddress(), from: accounts[0], value: web3.toWei(100, "ether")}); + await web3.eth.sendTransaction({to: wallet.getPublicAddress(), from: accounts[0], value: web3.toWei(2, "ether")}); let balance = await wallet.getEtherBalance(); - assert.equal(balance, 100.0); + assert.equal(balance, 2.0); const toBalanceBefore = await web3.eth.getBalance(accounts[2]); - await wallet.sendEther(accounts[2], 10); + await wallet.sendEther(accounts[2], 1); balance = await wallet.getEtherBalance(); - assert.equal(balance, 89.99958); + assert.equal(balance, 0.99958); const toBalanceAfter = await web3.eth.getBalance(accounts[2]); - assert(toBalanceAfter.equals(toBalanceBefore.plus(web3.toWei(10, "ether")))); + assert(toBalanceAfter.equals(toBalanceBefore.plus(web3.toWei(1, "ether")))); }); it('can send and receive org tokens', async function() { this.timeout(10000); // TODO: easier way to get the private key from the testrpc accounts? - const wallet1 = Wallet.fromPrivateKey("0x0191ecbd1b150b8a3c27c27010ba51b45521689611e669109e034fd66ae69621"); - const wallet2 = Wallet.fromPrivateKey("0x00f360233e89c65970a41d4a85990ec6669526b2230e867c352130151453180d"); + const wallet1 = Wallet.fromPrivateKey("0x8d4408014d165ec69d8cc9f091d8f4578ac5564f376f21887e98a6d33a6e3549"); + const wallet2 = Wallet.fromPrivateKey("0x2215f0a41dd3bb93f03049514949aaafcf136e6965f4a066d6bf42cc9f75a106"); const orgOptions = { founders: [ diff --git a/testrpcDb.zip b/testrpcDb.zip new file mode 100644 index 000000000..ba3fb4d97 Binary files /dev/null and b/testrpcDb.zip differ diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000..7d855ba78 --- /dev/null +++ b/yarn.lock @@ -0,0 +1,5468 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@types/bignumber.js@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@types/bignumber.js/-/bignumber.js-4.0.3.tgz#e8ce5f28c3025a01c6af7fc6d944494903a9e348" + +abbrev@1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" + +accepts@~1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.4.tgz#86246758c7dd6d21a6474ff084a4740ec05eb21f" + dependencies: + mime-types "~2.1.16" + negotiator "0.6.1" + +acorn-dynamic-import@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz#c752bd210bef679501b6c6cb7fc84f8f47158cc4" + dependencies: + acorn "^4.0.3" + +acorn-globals@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-3.1.0.tgz#fd8270f71fbb4996b004fa880ee5d46573a731bf" + dependencies: + acorn "^4.0.4" + +acorn-jsx@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b" + dependencies: + acorn "^3.0.4" + +acorn@^3.0.4, acorn@^3.1.0, acorn@~3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a" + +acorn@^4.0.3, acorn@^4.0.4, acorn@~4.0.2: + version "4.0.13" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-4.0.13.tgz#105495ae5361d697bd195c825192e1ad7f253787" + +acorn@^5.0.0, acorn@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-5.2.1.tgz#317ac7821826c22c702d66189ab8359675f135d7" + +aes-js@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" + +ajv-keywords@^2.0.0, ajv-keywords@^2.1.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762" + +ajv@^4.9.1: + version "4.11.8" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" + dependencies: + co "^4.6.0" + json-stable-stringify "^1.0.1" + +ajv@^5.1.0, ajv@^5.1.1, ajv@^5.1.5, ajv@^5.2.3, ajv@^5.3.0: + version "5.5.2" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965" + dependencies: + co "^4.6.0" + fast-deep-equal "^1.0.0" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.3.0" + +align-text@^0.1.1, align-text@^0.1.3: + version "0.1.4" + resolved "https://registry.yarnpkg.com/align-text/-/align-text-0.1.4.tgz#0cd90a561093f35d0a99256c22b7069433fad117" + dependencies: + kind-of "^3.0.2" + longest "^1.0.1" + repeat-string "^1.5.2" + +amdefine@>=0.0.4: + version "1.0.1" + resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" + +amp-message@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/amp-message/-/amp-message-0.1.2.tgz#a78f1c98995087ad36192a41298e4db49e3dfc45" + dependencies: + amp "0.3.1" + +amp@0.3.1, amp@~0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/amp/-/amp-0.3.1.tgz#6adf8d58a74f361e82c1fa8d389c079e139fc47d" + +ansi-escapes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.0.0.tgz#ec3e8b4e9f8064fc02c3ac9b65f1c275bda8ef92" + +ansi-regex@^0.2.0, ansi-regex@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-0.2.1.tgz#0d8e946967a3d8143f93e24e298525fc1b2235f9" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" + +ansi-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" + +ansi-styles@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-1.1.0.tgz#eaecbf66cd706882760b2f4691582b8f55d7a7de" + +ansi-styles@^2.1.0, ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe" + +ansi-styles@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.0.tgz#c159b8d5be0f9e5a6f346dab94f16ce022161b88" + dependencies: + color-convert "^1.9.0" + +any-shell-escape@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/any-shell-escape/-/any-shell-escape-0.1.1.tgz#d55ab972244c71a9a5e1ab0879f30bf110806959" + +anymatch@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-1.3.2.tgz#553dcb8f91e3c889845dfdba34c77721b90b9d7a" + dependencies: + micromatch "^2.1.5" + normalize-path "^2.0.0" + +aproba@^1.0.3: + version "1.2.0" + resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" + +archiver-utils@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/archiver-utils/-/archiver-utils-1.3.0.tgz#e50b4c09c70bf3d680e32ff1b7994e9f9d895174" + dependencies: + glob "^7.0.0" + graceful-fs "^4.1.0" + lazystream "^1.0.0" + lodash "^4.8.0" + normalize-path "^2.0.0" + readable-stream "^2.0.0" + +archiver@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/archiver/-/archiver-2.1.0.tgz#d2df2e8d5773a82c1dcce925ccc41450ea999afd" + dependencies: + archiver-utils "^1.3.0" + async "^2.0.0" + buffer-crc32 "^0.2.1" + glob "^7.0.0" + lodash "^4.8.0" + readable-stream "^2.0.0" + tar-stream "^1.5.0" + zip-stream "^1.2.0" + +are-we-there-yet@~1.1.2: + version "1.1.4" + resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz#bb5dca382bb94f05e15194373d16fd3ba1ca110d" + dependencies: + delegates "^1.0.0" + readable-stream "^2.0.6" + +argparse@^0.1.15: + version "0.1.16" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-0.1.16.tgz#cfd01e0fbba3d6caed049fbd758d40f65196f57c" + dependencies: + underscore "~1.7.0" + underscore.string "~2.4.0" + +argparse@^1.0.7: + version "1.0.9" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.9.tgz#73d83bc263f86e97f8cc4f6bae1b0e90a7d22c86" + dependencies: + sprintf-js "~1.0.2" + +arr-diff@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf" + dependencies: + arr-flatten "^1.0.1" + +arr-flatten@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" + +array-find-index@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-find-index/-/array-find-index-1.0.2.tgz#df010aa1287e164bbda6f9723b0a96a1ec4187a1" + +array-flatten@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + +array-includes@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.0.3.tgz#184b48f62d92d7452bb31b323165c7f8bd02266d" + dependencies: + define-properties "^1.1.2" + es-abstract "^1.7.0" + +array-union@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" + dependencies: + array-uniq "^1.0.1" + +array-uniq@^1.0.1: + version "1.0.3" + resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" + +array-unique@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" + +arrify@^1.0.0, arrify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" + +asap@~2.0.3: + version "2.0.6" + resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" + +asn1.js@^4.0.0: + version "4.9.2" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.2.tgz#8117ef4f7ed87cd8f89044b5bff97ac243a16c9a" + dependencies: + bn.js "^4.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +asn1@~0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" + +assert-plus@1.0.0, assert-plus@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" + +assert-plus@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" + +assert@^1.1.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/assert/-/assert-1.4.1.tgz#99912d591836b5a6f5b345c0f07eefc08fc65d91" + dependencies: + util "0.10.3" + +assertion-error@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" + +async-each@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" + +async-limiter@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.0.tgz#78faed8c3d074ab81f22b4e985d79e8738f720f8" + +async@1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.4.2.tgz#6c9edcb11ced4f0dd2f2d40db0d49a109c088aab" + +async@1.5: + version "1.5.2" + resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" + +async@^2.0.0, async@^2.1.2: + version "2.6.0" + resolved "https://registry.yarnpkg.com/async/-/async-2.6.0.tgz#61a29abb6fcc026fea77e56d1c6ec53a795951f4" + dependencies: + lodash "^4.14.0" + +asynckit@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" + +aws-sign2@~0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.6.0.tgz#14342dd38dbcc94d0e5b87d763cd63612c0e794f" + +aws-sign2@~0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" + +aws4@^1.2.1, aws4@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" + +babel-cli@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1" + dependencies: + babel-core "^6.26.0" + babel-polyfill "^6.26.0" + babel-register "^6.26.0" + babel-runtime "^6.26.0" + commander "^2.11.0" + convert-source-map "^1.5.0" + fs-readdir-recursive "^1.0.0" + glob "^7.1.2" + lodash "^4.17.4" + output-file-sync "^1.1.2" + path-is-absolute "^1.0.1" + slash "^1.0.0" + source-map "^0.5.6" + v8flags "^2.1.1" + optionalDependencies: + chokidar "^1.6.1" + +babel-code-frame@^6.22.0, babel-code-frame@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b" + dependencies: + chalk "^1.1.3" + esutils "^2.0.2" + js-tokens "^3.0.2" + +babel-core@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.26.0.tgz#af32f78b31a6fcef119c87b0fd8d9753f03a0bb8" + dependencies: + babel-code-frame "^6.26.0" + babel-generator "^6.26.0" + 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.5.0" + debug "^2.6.8" + json5 "^0.5.1" + lodash "^4.17.4" + minimatch "^3.0.4" + path-is-absolute "^1.0.1" + private "^0.1.7" + slash "^1.0.0" + source-map "^0.5.6" + +babel-eslint@^7.2.3: + version "7.2.3" + resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-7.2.3.tgz#b2fe2d80126470f5c19442dc757253a897710827" + dependencies: + babel-code-frame "^6.22.0" + babel-traverse "^6.23.1" + babel-types "^6.23.0" + babylon "^6.17.0" + +babel-generator@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.26.0.tgz#ac1ae20070b79f6e3ca1d3269613053774f20dc5" + dependencies: + 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.4" + source-map "^0.5.6" + trim-right "^1.0.1" + +babel-helper-call-delegate@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz#ece6aacddc76e41c3461f88bfc575bd0daa2df8d" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-define-map@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz#a5f56dab41a25f97ecb498c7ebaca9819f95be5f" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz#d3475b8c03ed98242a25b48351ab18399d3580a9" + dependencies: + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helper-get-function-arity@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz#8f7782aa93407c41d3aa50908f89b031b1b6853d" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-hoist-variables@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz#1ecb27689c9d25513eadbc9914a73f5408be7a76" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-optimise-call-expression@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz#f7a13427ba9f73f8f4fa993c54a97882d1244257" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-helper-regex@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz#325c59f902f82f24b74faceed0363954f6495e72" + dependencies: + babel-runtime "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-helper-replace-supers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz#bf6dbfe43938d17369a213ca8a8bf74b6a90ab1a" + dependencies: + babel-helper-optimise-call-expression "^6.24.1" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-helpers@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-messages@^6.23.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-check-es2015-constants@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz#35157b101426fd2ffd3da3f75c7d1e91835bbf8a" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-syntax-async-functions@^6.1.4: + version "6.13.0" + resolved "https://registry.yarnpkg.com/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz#cad9cad1191b5ad634bf30ae0872391e0647be95" + +babel-plugin-transform-es2015-arrow-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz#452692cb711d5f79dc7f85e440ce41b9f244d221" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoped-functions@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz#bbc51b49f964d70cb8d8e0b94e820246ce3a6141" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-block-scoping@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz#d70f5299c1308d05c12f463813b0a09e73b1895f" + dependencies: + babel-runtime "^6.26.0" + babel-template "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + lodash "^4.17.4" + +babel-plugin-transform-es2015-classes@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz#5a4c58a50c9c9461e564b4b2a3bfabc97a2584db" + dependencies: + babel-helper-define-map "^6.24.1" + 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.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-computed-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz#6fe2a8d16895d5634f4cd999b6d3480a308159b3" + dependencies: + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-destructuring@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz#997bb1f1ab967f682d2b0876fe358d60e765c56d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-duplicate-keys@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz#73eb3d310ca969e3ef9ec91c53741a6f1576423e" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-for-of@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz#f47c95b2b613df1d3ecc2fdb7573623c75248691" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-function-name@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz#834c89853bc36b1af0f3a4c5dbaa94fd8eacaa8b" + dependencies: + babel-helper-function-name "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz#4f54a02d6cd66cf915280019a31d31925377ca2e" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-modules-amd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz#3b3e54017239842d6d19c3011c4bd2f00a00d154" + dependencies: + babel-plugin-transform-es2015-modules-commonjs "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-commonjs@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.0.tgz#0d8394029b7dc6abe1a97ef181e00758dd2e5d8a" + dependencies: + 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@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz#ff89a142b9119a906195f5f106ecf305d9407d23" + dependencies: + babel-helper-hoist-variables "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-modules-umd@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz#ac997e6285cd18ed6176adb607d602344ad38468" + dependencies: + babel-plugin-transform-es2015-modules-amd "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + +babel-plugin-transform-es2015-object-super@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz#24cef69ae21cb83a7f8603dad021f572eb278f8d" + dependencies: + babel-helper-replace-supers "^6.24.1" + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-parameters@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz#57ac351ab49caf14a97cd13b09f66fdf0a625f2b" + dependencies: + babel-helper-call-delegate "^6.24.1" + babel-helper-get-function-arity "^6.24.1" + babel-runtime "^6.22.0" + babel-template "^6.24.1" + babel-traverse "^6.24.1" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-shorthand-properties@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz#24f875d6721c87661bbd99a4622e51f14de38aa0" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-spread@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz#d6d68a99f89aedc4536c81a542e8dd9f1746f8d1" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-sticky-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz#00c1cdb1aca71112cdf0cf6126c2ed6b457ccdbc" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-plugin-transform-es2015-template-literals@^6.22.0: + version "6.22.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz#a84b3450f7e9f8f1f6839d6d687da84bb1236d8d" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-typeof-symbol@^6.22.0: + version "6.23.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz#dec09f1cddff94b52ac73d505c84df59dcceb372" + dependencies: + babel-runtime "^6.22.0" + +babel-plugin-transform-es2015-unicode-regex@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz#d38b12f42ea7323f729387f18a7c5ae1faeb35e9" + dependencies: + babel-helper-regex "^6.24.1" + babel-runtime "^6.22.0" + regexpu-core "^2.0.0" + +babel-plugin-transform-regenerator@^6.24.1: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz#e0703696fbde27f0a3efcacf8b4dca2f7b3a8f2f" + dependencies: + regenerator-transform "^0.10.0" + +babel-plugin-transform-strict-mode@^6.24.1: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758" + dependencies: + babel-runtime "^6.22.0" + babel-types "^6.24.1" + +babel-polyfill@^6.23.0, babel-polyfill@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153" + dependencies: + babel-runtime "^6.26.0" + core-js "^2.5.0" + regenerator-runtime "^0.10.5" + +babel-preset-es2015@^6.6.0: + version "6.24.1" + resolved "https://registry.yarnpkg.com/babel-preset-es2015/-/babel-preset-es2015-6.24.1.tgz#d44050d6bc2c9feea702aaf38d727a0210538939" + dependencies: + babel-plugin-check-es2015-constants "^6.22.0" + 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.24.1" + babel-plugin-transform-es2015-classes "^6.24.1" + babel-plugin-transform-es2015-computed-properties "^6.24.1" + babel-plugin-transform-es2015-destructuring "^6.22.0" + babel-plugin-transform-es2015-duplicate-keys "^6.24.1" + babel-plugin-transform-es2015-for-of "^6.22.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.24.1" + 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.22.0" + babel-plugin-transform-es2015-unicode-regex "^6.24.1" + babel-plugin-transform-regenerator "^6.24.1" + +babel-register@^6.24.1, babel-register@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071" + dependencies: + babel-core "^6.26.0" + babel-runtime "^6.26.0" + core-js "^2.5.0" + home-or-tmp "^2.0.0" + lodash "^4.17.4" + mkdirp "^0.5.1" + source-map-support "^0.4.15" + +babel-runtime@^6.18.0, babel-runtime@^6.22.0, babel-runtime@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" + dependencies: + core-js "^2.4.0" + regenerator-runtime "^0.11.0" + +babel-template@^6.24.1, babel-template@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02" + dependencies: + babel-runtime "^6.26.0" + babel-traverse "^6.26.0" + babel-types "^6.26.0" + babylon "^6.18.0" + lodash "^4.17.4" + +babel-traverse@^6.23.1, babel-traverse@^6.24.1, babel-traverse@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee" + dependencies: + 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.8" + globals "^9.18.0" + invariant "^2.2.2" + lodash "^4.17.4" + +babel-types@^6.19.0, babel-types@^6.23.0, babel-types@^6.24.1, babel-types@^6.26.0: + version "6.26.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497" + dependencies: + babel-runtime "^6.26.0" + esutils "^2.0.2" + lodash "^4.17.4" + to-fast-properties "^1.0.3" + +babylon@^6.17.0, babylon@^6.18.0: + version "6.18.0" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3" + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + +base64-js@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-0.0.8.tgz#1101e9544f4a76b1bc3b26d452ca96d7a35e7978" + +base64-js@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.1.tgz#a91947da1f4a516ea38e5b4ec0ec3773675e0886" + +bcrypt-pbkdf@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" + dependencies: + tweetnacl "^0.14.3" + +big.js@^3.1.3: + version "3.2.0" + resolved "https://registry.yarnpkg.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e" + +bignumber.js@^4.0.2, bignumber.js@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-4.1.0.tgz#db6f14067c140bd46624815a7916c92d9b6c24b1" + +"bignumber.js@git+https://github.com/frozeman/bignumber.js-nolookahead.git": + version "2.0.7" + resolved "git+https://github.com/frozeman/bignumber.js-nolookahead.git#57692b3ecfc98bbdd6b3a516cb2353652ea49934" + +binary-extensions@^1.0.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.11.0.tgz#46aa1751fb6a2f93ee5e689bb1087d4b14c6c205" + +bindings@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.3.0.tgz#b346f6ecf6a95f5a815c5839fc7cdb22502f1ed7" + +bip39@^2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-2.4.0.tgz#a0b8adbf163f53495f00f05d9ede7c25369ccf13" + dependencies: + create-hash "^1.1.0" + pbkdf2 "^3.0.9" + randombytes "^2.0.1" + safe-buffer "^5.0.1" + unorm "^1.3.3" + +bip66@^1.1.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" + dependencies: + safe-buffer "^5.0.1" + +bl@^1.0.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.1.tgz#cac328f7bee45730d404b692203fcb590e172d5e" + dependencies: + readable-stream "^2.0.5" + +block-stream@*: + version "0.0.9" + resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" + dependencies: + inherits "~2.0.0" + +bn.js@4.11.6: + version "4.11.6" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" + +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.10.0, bn.js@^4.11.3, bn.js@^4.11.6, bn.js@^4.4.0, bn.js@^4.8.0: + version "4.11.8" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" + +body-parser@1.18.2, body-parser@^1.16.0: + version "1.18.2" + resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.18.2.tgz#87678a19d84b47d859b83199bd59bce222b10454" + dependencies: + bytes "3.0.0" + content-type "~1.0.4" + debug "2.6.9" + depd "~1.1.1" + http-errors "~1.6.2" + iconv-lite "0.4.19" + on-finished "~2.3.0" + qs "6.5.1" + raw-body "2.3.2" + type-is "~1.6.15" + +boom@2.x.x: + version "2.10.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" + dependencies: + hoek "2.x.x" + +boom@4.x.x: + version "4.3.1" + resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" + dependencies: + hoek "4.x.x" + +boom@5.x.x: + version "5.2.0" + resolved "https://registry.yarnpkg.com/boom/-/boom-5.2.0.tgz#5dd9da6ee3a5f302077436290cb717d3f4a54e02" + dependencies: + hoek "4.x.x" + +brace-expansion@^1.0.0, brace-expansion@^1.1.7: + version "1.1.8" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.8.tgz#c07b211c7c952ec1f8efd51a77ef0d1d3990a292" + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^1.8.2: + version "1.8.5" + resolved "https://registry.yarnpkg.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7" + dependencies: + expand-range "^1.8.1" + preserve "^0.2.0" + repeat-element "^1.1.2" + +brorand@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" + +browser-stdout@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.0.tgz#f351d32969d32fa5d7a5567154263d928ae3bd1f" + +browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6: + version "1.1.1" + resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.1.1.tgz#38b7ab55edb806ff2dcda1a7f1620773a477c49f" + dependencies: + buffer-xor "^1.0.3" + cipher-base "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.3" + inherits "^2.0.1" + safe-buffer "^5.0.1" + +browserify-cipher@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.0.tgz#9988244874bf5ed4e28da95666dcd66ac8fc363a" + dependencies: + browserify-aes "^1.0.4" + browserify-des "^1.0.0" + evp_bytestokey "^1.0.0" + +browserify-des@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.0.tgz#daa277717470922ed2fe18594118a175439721dd" + dependencies: + cipher-base "^1.0.1" + des.js "^1.0.0" + inherits "^2.0.1" + +browserify-rsa@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" + dependencies: + bn.js "^4.1.0" + randombytes "^2.0.1" + +browserify-sha3@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.1.tgz#3ff34a3006ef15c0fb3567e541b91a2340123d11" + dependencies: + js-sha3 "^0.3.1" + +browserify-sign@^4.0.0: + version "4.0.4" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.0.4.tgz#aa4eb68e5d7b658baa6bf6a57e630cbd7a93d298" + dependencies: + bn.js "^4.1.1" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.2" + elliptic "^6.0.0" + inherits "^2.0.1" + parse-asn1 "^5.0.0" + +browserify-zlib@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" + dependencies: + pako "~1.0.5" + +buffer-crc32@^0.2.1, buffer-crc32@~0.2.3: + version "0.2.13" + resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" + +buffer-to-arraybuffer@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.2.tgz#d0d80564dc31866a1976515487b3ab620db7c849" + dependencies: + tape "^3.0.3" + +buffer-xor@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" + +buffer@^3.0.1: + version "3.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-3.6.0.tgz#a72c936f77b96bf52f5f7e7b467180628551defb" + dependencies: + base64-js "0.0.8" + ieee754 "^1.1.4" + isarray "^1.0.0" + +buffer@^4.3.0: + version "4.9.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + isarray "^1.0.0" + +builtin-modules@^1.0.0, builtin-modules@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" + +builtin-status-codes@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" + +bytes@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" + +caller-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f" + dependencies: + callsites "^0.2.0" + +callsites@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca" + +camelcase-keys@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-2.1.0.tgz#308beeaffdf28119051efa1d932213c91b8f92e7" + dependencies: + camelcase "^2.0.0" + map-obj "^1.0.0" + +camelcase@^1.0.2: + version "1.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" + +camelcase@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" + +camelcase@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" + +caseless@~0.12.0: + version "0.12.0" + resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" + +center-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/center-align/-/center-align-0.1.3.tgz#aa0d32629b6ee972200411cbd4461c907bc2b7ad" + dependencies: + align-text "^0.1.3" + lazy-cache "^1.0.3" + +chai@^4.1.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/chai/-/chai-4.1.2.tgz#0f64584ba642f0f2ace2806279f4f06ca23ad73c" + dependencies: + assertion-error "^1.0.1" + check-error "^1.0.1" + deep-eql "^3.0.0" + get-func-name "^2.0.0" + pathval "^1.0.0" + type-detect "^4.0.0" + +chalk@0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-0.5.1.tgz#663b3a648b68b55d04690d49167aa837858f2174" + dependencies: + ansi-styles "^1.1.0" + escape-string-regexp "^1.0.0" + has-ansi "^0.1.0" + strip-ansi "^0.3.0" + supports-color "^0.2.0" + +chalk@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.1.tgz#509afb67066e7499f7eb3535c77445772ae2d019" + dependencies: + ansi-styles "^2.1.0" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba" + dependencies: + ansi-styles "^3.1.0" + escape-string-regexp "^1.0.5" + supports-color "^4.0.0" + +character-parser@^2.1.1: + version "2.2.0" + resolved "https://registry.yarnpkg.com/character-parser/-/character-parser-2.2.0.tgz#c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0" + dependencies: + is-regex "^1.0.3" + +chardet@^0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2" + +charm@~0.1.1: + version "0.1.2" + resolved "https://registry.yarnpkg.com/charm/-/charm-0.1.2.tgz#06c21eed1a1b06aeb67553cdc53e23274bac2296" + +check-error@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" + +chokidar@^1.6.1, chokidar@^1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +chokidar@~1.4.0: + version "1.4.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.4.3.tgz#5fe733a4d9acaea51b26454b7e59559163d0dbb2" + dependencies: + anymatch "^1.3.0" + async-each "^1.0.0" + glob-parent "^2.0.0" + inherits "^2.0.1" + is-binary-path "^1.0.0" + is-glob "^2.0.0" + path-is-absolute "^1.0.0" + readdirp "^2.0.0" + optionalDependencies: + fsevents "^1.0.0" + +cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +circular-json@^0.3.1: + version "0.3.3" + resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66" + +clean-css@^3.3.0: + version "3.4.28" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-3.4.28.tgz#bf1945e82fc808f55695e6ddeaec01400efd03ff" + dependencies: + commander "2.8.x" + source-map "0.4.x" + +cli-cursor@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" + dependencies: + restore-cursor "^2.0.0" + +cli-table@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cli-table/-/cli-table-0.3.1.tgz#f53b05266a8b1a0b934b3d0821e6e2dc5914ae23" + dependencies: + colors "1.0.3" + +cli-width@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639" + +cliui@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1" + dependencies: + center-align "^0.1.1" + right-align "^0.1.1" + wordwrap "0.0.2" + +cliui@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + wrap-ansi "^2.0.0" + +co@^4.6.0: + version "4.6.0" + resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" + +code-point-at@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" + +coffee-script@~1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/coffee-script/-/coffee-script-1.10.0.tgz#12938bcf9be1948fa006f92e0c4c9e81705108c0" + +color-convert@^1.9.0: + version "1.9.1" + resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.1.tgz#c1261107aeb2f294ebffec9ed9ecad529a6097ed" + dependencies: + color-name "^1.1.1" + +color-name@^1.1.1: + version "1.1.3" + resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" + +colors@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.0.3.tgz#0433f44d809680fdeb60ed260f1b0c262e82a40b" + +combined-stream@^1.0.5, combined-stream@~1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.5.tgz#938370a57b4a51dea2c77c15d5c5fdf895164009" + dependencies: + delayed-stream "~1.0.0" + +commander@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/commander/-/commander-1.0.5.tgz#457295bb976e388e9dd0db52de4333e249f3d88c" + dependencies: + keypress "0.1.x" + +commander@2.11.0: + version "2.11.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" + +commander@2.6.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.6.0.tgz#9df7e52fb2a0cb0fb89058ee80c3104225f37e1d" + +commander@2.8.x, commander@~2.8.1: + version "2.8.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.8.1.tgz#06be367febfda0c330aa1e2a072d3dc9762425d4" + dependencies: + graceful-readlink ">= 1.0.0" + +commander@^2.11.0, commander@^2.9: + version "2.12.2" + resolved "https://registry.yarnpkg.com/commander/-/commander-2.12.2.tgz#0f5946c427ed9ec0d91a46bb9def53e54650e555" + +common-tags@^1.4.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.6.0.tgz#788e4bcc582f16993e5b2c92f76b1ccb80731537" + dependencies: + babel-runtime "^6.26.0" + +compress-commons@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/compress-commons/-/compress-commons-1.2.2.tgz#524a9f10903f3a813389b0225d27c48bb751890f" + dependencies: + buffer-crc32 "^0.2.1" + crc32-stream "^2.0.0" + normalize-path "^2.0.0" + readable-stream "^2.0.0" + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + +concat-stream@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" + dependencies: + inherits "^2.0.3" + readable-stream "^2.2.2" + typedarray "^0.0.6" + +concurrently@^3.4.0: + version "3.5.1" + resolved "https://registry.yarnpkg.com/concurrently/-/concurrently-3.5.1.tgz#ee8b60018bbe86b02df13e5249453c6ececd2521" + dependencies: + chalk "0.5.1" + commander "2.6.0" + date-fns "^1.23.0" + lodash "^4.5.1" + rx "2.3.24" + spawn-command "^0.0.2-1" + supports-color "^3.2.3" + tree-kill "^1.1.0" + +configurable@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/configurable/-/configurable-0.0.1.tgz#47d75b727b51b4eb84c1dadafe3f8240313833b1" + +console-browserify@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10" + dependencies: + date-now "^0.1.4" + +console-control-strings@^1.0.0, console-control-strings@~1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" + +constantinople@^3.0.1: + version "3.1.0" + resolved "https://registry.yarnpkg.com/constantinople/-/constantinople-3.1.0.tgz#7569caa8aa3f8d5935d62e1fa96f9f702cd81c79" + dependencies: + acorn "^3.1.0" + is-expression "^2.0.1" + +constants-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" + +contains-path@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/contains-path/-/contains-path-0.1.0.tgz#fe8cf184ff6670b6baef01a9d4861a5cbec4120a" + +content-disposition@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.2.tgz#0cf68bb9ddf5f2be7961c3a85178cb85dba78cb4" + +content-type@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" + +convert-source-map@^1.5.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.1.tgz#b8278097b9bc229365de5c62cf5fcaed8b5599e5" + +cookie-signature@1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + +cookie@0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" + +core-js@^1.0.0: + version "1.2.7" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" + +core-js@^2.4.0, core-js@^2.5.0: + version "2.5.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.5.3.tgz#8acc38345824f16d8365b7c9b4259168e8ed603e" + +core-util-is@1.0.2, core-util-is@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" + +cors@^2.8.1: + version "2.8.4" + resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.4.tgz#2bd381f2eb201020105cd50ea59da63090694686" + dependencies: + object-assign "^4" + vary "^1" + +cp-file@^3.1.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/cp-file/-/cp-file-3.2.0.tgz#6f83616254624f0ad58aa4aa8d076f026be7e188" + dependencies: + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + nested-error-stacks "^1.0.1" + object-assign "^4.0.1" + pify "^2.3.0" + pinkie-promise "^2.0.0" + readable-stream "^2.1.4" + +cpy-cli@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/cpy-cli/-/cpy-cli-1.0.1.tgz#67fb5a4a2dec28ca8abff375de4b9e71f6a7561c" + dependencies: + cpy "^4.0.0" + meow "^3.6.0" + +cpy@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/cpy/-/cpy-4.0.1.tgz#b67267eba2f3960ba06a5a61ac94033422833424" + dependencies: + cp-file "^3.1.0" + globby "^4.0.0" + meow "^3.6.0" + nested-error-stacks "^1.0.0" + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +crc32-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/crc32-stream/-/crc32-stream-2.0.0.tgz#e3cdd3b4df3168dd74e3de3fbbcb7b297fe908f4" + dependencies: + crc "^3.4.4" + readable-stream "^2.0.0" + +crc@^3.4.4: + version "3.5.0" + resolved "https://registry.yarnpkg.com/crc/-/crc-3.5.0.tgz#98b8ba7d489665ba3979f59b21381374101a1964" + +create-ecdh@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.0.tgz#888c723596cdf7612f6498233eebd7a35301737d" + dependencies: + bn.js "^4.1.0" + elliptic "^6.0.0" + +create-hash@^1.1.0, create-hash@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd" + dependencies: + cipher-base "^1.0.1" + inherits "^2.0.1" + ripemd160 "^2.0.0" + sha.js "^2.4.0" + +create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4: + version "1.1.6" + resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.6.tgz#acb9e221a4e17bdb076e90657c42b93e3726cf06" + dependencies: + cipher-base "^1.0.3" + create-hash "^1.1.0" + inherits "^2.0.1" + ripemd160 "^2.0.0" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +cron@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/cron/-/cron-1.1.0.tgz#61e868c6f18f98e8bcb88bcd7ab9fb8fae909453" + dependencies: + moment-timezone "~0.3.0" + +cross-env@^3.1.4: + version "3.2.4" + resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-3.2.4.tgz#9e0585f277864ed421ce756f81a980ff0d698aba" + dependencies: + cross-spawn "^5.1.0" + is-windows "^1.0.0" + +cross-spawn@^5.0.1, cross-spawn@^5.1.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" + dependencies: + lru-cache "^4.0.1" + shebang-command "^1.2.0" + which "^1.2.9" + +cryptiles@2.x.x: + version "2.0.5" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-2.0.5.tgz#3bdfecdc608147c1c67202fa291e7dca59eaa3b8" + dependencies: + boom "2.x.x" + +cryptiles@3.x.x: + version "3.1.2" + resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.2.tgz#a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe" + dependencies: + boom "5.x.x" + +crypto-browserify@^3.11.0: + version "3.12.0" + resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" + dependencies: + browserify-cipher "^1.0.0" + browserify-sign "^4.0.0" + create-ecdh "^4.0.0" + create-hash "^1.1.0" + create-hmac "^1.1.0" + diffie-hellman "^5.0.0" + inherits "^2.0.1" + pbkdf2 "^3.0.3" + public-encrypt "^4.0.0" + randombytes "^2.0.0" + randomfill "^1.0.3" + +crypto-js@^3.1.4: + version "3.1.8" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.8.tgz#715f070bf6014f2ae992a98b3929258b713f08d5" + +crypto-js@^3.1.9-1: + version "3.1.9-1" + resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.9-1.tgz#fda19e761fc077e01ffbfdc6e9fdfc59e8806cd8" + +currently-unhandled@^0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/currently-unhandled/-/currently-unhandled-0.4.1.tgz#988df33feab191ef799a61369dd76c17adf957ea" + dependencies: + array-find-index "^1.0.1" + +cwd@^0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/cwd/-/cwd-0.10.0.tgz#172400694057c22a13b0cf16162c7e4b7a7fe567" + dependencies: + find-pkg "^0.1.2" + fs-exists-sync "^0.1.0" + +d@1: + version "1.0.0" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.0.tgz#754bb5bfe55451da69a58b94d45f4c5b0462d58f" + dependencies: + es5-ext "^0.10.9" + +daostack-arc@0.0.0-alpha.19: + version "0.0.0-alpha.19" + resolved "https://registry.yarnpkg.com/daostack-arc/-/daostack-arc-0.0.0-alpha.19.tgz#0cd17db9d6ff7a5e13a110abbef6239e826e3a0f" + dependencies: + "@types/bignumber.js" "^4.0.3" + bip39 "^2.4.0" + default-options "^1.0.0" + ethers "^2.1.2" + promisify "^0.0.3" + truffle-contract "^3.0.0" + web3-typescript-typings "^0.7.2" + web3-utils "^1.0.0-beta.26" + +dashdash@^1.12.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" + dependencies: + assert-plus "^1.0.0" + +date-fns@^1.23.0: + version "1.29.0" + resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-1.29.0.tgz#12e609cdcb935127311d04d33334e2960a2a54e6" + +date-now@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" + +debug@*, debug@3.1.0, debug@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" + dependencies: + ms "2.0.0" + +debug@2.2.0, debug@~2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" + dependencies: + ms "0.7.1" + +debug@2.6.9, debug@^2.2, debug@^2.2.0, debug@^2.6.8: + version "2.6.9" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + dependencies: + ms "2.0.0" + +decamelize@^1.0.0, decamelize@^1.1.1, decamelize@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" + +decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" + dependencies: + file-type "^5.2.0" + is-stream "^1.1.0" + tar-stream "^1.5.2" + +decompress-tarbz2@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" + dependencies: + decompress-tar "^4.1.0" + file-type "^6.1.0" + is-stream "^1.1.0" + seek-bzip "^1.0.5" + unbzip2-stream "^1.0.9" + +decompress-targz@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" + dependencies: + decompress-tar "^4.1.1" + file-type "^5.2.0" + is-stream "^1.1.0" + +decompress-unzip@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" + dependencies: + file-type "^3.8.0" + get-stream "^2.2.0" + pify "^2.3.0" + yauzl "^2.4.2" + +decompress@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.0.tgz#7aedd85427e5a92dacfe55674a7c505e96d01f9d" + dependencies: + decompress-tar "^4.0.0" + decompress-tarbz2 "^4.0.0" + decompress-targz "^4.0.0" + decompress-unzip "^4.0.1" + graceful-fs "^4.1.10" + make-dir "^1.0.0" + pify "^2.3.0" + strip-dirs "^2.0.0" + +deep-eql@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" + dependencies: + type-detect "^4.0.0" + +deep-equal@~0.2.0: + version "0.2.2" + resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-0.2.2.tgz#84b745896f34c684e98f2ce0e42abaf43bba017d" + +deep-extend@~0.4.0: + version "0.4.2" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.4.2.tgz#48b699c27e334bf89f10892be432f6e4c7d34a7f" + +deep-is@~0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" + +default-options@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-options/-/default-options-1.0.0.tgz#6624665a9ac0d09882af74e6e44cb1dac58cab2a" + dependencies: + lodash "^4.0.0" + +define-properties@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.2.tgz#83a73f2fea569898fb737193c8f873caf6d45c94" + dependencies: + foreach "^2.0.5" + object-keys "^1.0.8" + +defined@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/defined/-/defined-0.0.0.tgz#f35eea7d705e933baf13b2f03b3f83d921403b3e" + +del@^2.0.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" + dependencies: + globby "^5.0.0" + is-path-cwd "^1.0.0" + is-path-in-cwd "^1.0.0" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + rimraf "^2.2.8" + +delayed-stream@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" + +depd@1.1.1, depd@~1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.1.tgz#5783b4e1c459f06fa5ca27f991f3d06e7a310359" + +des.js@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc" + dependencies: + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + +destroy@~1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" + +detect-indent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" + dependencies: + repeating "^2.0.0" + +detect-libc@^1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + +diff@3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.3.1.tgz#aa8567a6eed03c531fc89d3f711cd0e5259dec75" + +diffie-hellman@^5.0.0: + version "5.0.2" + resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.2.tgz#b5835739270cfe26acf632099fded2a07f209e5e" + dependencies: + bn.js "^4.1.0" + miller-rabin "^4.0.0" + randombytes "^2.0.0" + +doctrine@1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-1.5.0.tgz#379dce730f6166f76cefa4e6707a159b02c5a6fa" + dependencies: + esutils "^2.0.2" + isarray "^1.0.0" + +doctrine@^2.0.0, doctrine@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.0.2.tgz#68f96ce8efc56cc42651f1faadb4f175273b0075" + dependencies: + esutils "^2.0.2" + +doctypes@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/doctypes/-/doctypes-1.1.0.tgz#ea80b106a87538774e8a3a4a5afe293de489e0a9" + +dom-walk@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" + +domain-browser@^1.1.1: + version "1.1.7" + resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.1.7.tgz#867aa4b093faa05f1de08c06f4d7b21fdf8698bc" + +drbg.js@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" + dependencies: + browserify-aes "^1.0.6" + create-hash "^1.1.2" + create-hmac "^1.1.4" + +duplexer@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" + +ecc-jsbn@~0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" + dependencies: + jsbn "~0.1.0" + +ee-first@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" + +elliptic@6.3.3: + version "6.3.3" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + inherits "^2.0.1" + +elliptic@^6.0.0, elliptic@^6.2.3, elliptic@^6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" + dependencies: + bn.js "^4.4.0" + brorand "^1.0.1" + hash.js "^1.0.0" + hmac-drbg "^1.0.0" + inherits "^2.0.1" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.0" + +emojis-list@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" + +encodeurl@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" + +encoding@^0.1.11: + version "0.1.12" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" + dependencies: + iconv-lite "~0.4.13" + +end-of-stream@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.0.tgz#7a90d833efda6cfa6eac0f4949dbb0fad3a63206" + dependencies: + once "^1.4.0" + +enhanced-resolve@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz#0421e339fd71419b3da13d129b3979040230476e" + dependencies: + graceful-fs "^4.1.2" + memory-fs "^0.4.0" + object-assign "^4.0.1" + tapable "^0.2.7" + +env-variable@0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/env-variable/-/env-variable-0.0.3.tgz#b86c1641be5610267d506f18071ea76d707097cb" + +errno@^0.1.3: + version "0.1.6" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.6.tgz#c386ce8a6283f14fc09563b71560908c9bf53026" + dependencies: + prr "~1.0.1" + +error-ex@^1.2.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.1.tgz#f855a86ce61adc4e8621c3cda21e7a7612c3a8dc" + dependencies: + is-arrayish "^0.2.1" + +es-abstract@^1.7.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.10.0.tgz#1ecb36c197842a00d8ee4c2dfd8646bb97d60864" + dependencies: + es-to-primitive "^1.1.1" + function-bind "^1.1.1" + has "^1.0.1" + is-callable "^1.1.3" + is-regex "^1.0.4" + +es-to-primitive@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.1.1.tgz#45355248a88979034b6792e19bb81f2b7975dd0d" + dependencies: + is-callable "^1.1.1" + is-date-object "^1.0.1" + is-symbol "^1.0.1" + +es5-ext@^0.10.14, es5-ext@^0.10.35, es5-ext@^0.10.9, es5-ext@~0.10.14: + version "0.10.37" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.37.tgz#0ee741d148b80069ba27d020393756af257defc3" + dependencies: + es6-iterator "~2.0.1" + es6-symbol "~3.1.1" + +es6-iterator@^2.0.1, es6-iterator@~2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + dependencies: + d "1" + es5-ext "^0.10.35" + es6-symbol "^3.1.1" + +es6-map@^0.1.3: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-map/-/es6-map-0.1.5.tgz#9136e0503dcc06a301690f0bb14ff4e364e949f0" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-set "~0.1.5" + es6-symbol "~3.1.1" + event-emitter "~0.3.5" + +es6-set@~0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/es6-set/-/es6-set-0.1.5.tgz#d2b3ec5d4d800ced818db538d28974db0a73ccb1" + dependencies: + d "1" + es5-ext "~0.10.14" + es6-iterator "~2.0.1" + es6-symbol "3.1.1" + event-emitter "~0.3.5" + +es6-symbol@3.1.1, es6-symbol@^3.1.1, es6-symbol@~3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.1.tgz#bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77" + dependencies: + d "1" + es5-ext "~0.10.14" + +es6-weak-map@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.2.tgz#5e3ab32251ffd1538a1f8e5ffa1357772f92d96f" + dependencies: + d "1" + es5-ext "^0.10.14" + es6-iterator "^2.0.1" + es6-symbol "^3.1.1" + +escape-html@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + +escape-regexp@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/escape-regexp/-/escape-regexp-0.0.1.tgz#f44bda12d45bbdf9cb7f862ee7e4827b3dd32254" + +escape-string-regexp@1.0.5, escape-string-regexp@^1.0.0, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" + +escope@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/escope/-/escope-3.6.0.tgz#e01975e812781a163a6dadfdd80398dc64c889c3" + dependencies: + es6-map "^0.1.3" + es6-weak-map "^2.0.1" + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-config-defaults@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/eslint-config-defaults/-/eslint-config-defaults-9.0.0.tgz#a090adc13b2935e3f43b3cd048a92701654e5ad5" + +eslint-config-standard@^10.2.1: + version "10.2.1" + resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-10.2.1.tgz#c061e4d066f379dc17cd562c64e819b4dd454591" + +eslint-import-resolver-node@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.1.tgz#4422574cde66a9a7b099938ee4d508a199e0e3cc" + dependencies: + debug "^2.6.8" + resolve "^1.2.0" + +eslint-module-utils@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.1.1.tgz#abaec824177613b8a95b299639e1b6facf473449" + dependencies: + debug "^2.6.8" + pkg-dir "^1.0.0" + +eslint-plugin-import@^2.7.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz#fa1b6ef31fcb3c501c09859c1b86f1fc5b986894" + dependencies: + builtin-modules "^1.1.1" + contains-path "^0.1.0" + debug "^2.6.8" + doctrine "1.5.0" + eslint-import-resolver-node "^0.3.1" + eslint-module-utils "^2.1.1" + has "^1.0.1" + lodash.cond "^4.3.0" + minimatch "^3.0.3" + read-pkg-up "^2.0.0" + +eslint-plugin-node@^5.1.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-5.2.1.tgz#80df3253c4d7901045ec87fa660a284e32bdca29" + dependencies: + ignore "^3.3.6" + minimatch "^3.0.4" + resolve "^1.3.3" + semver "5.3.0" + +eslint-plugin-promise@^3.5.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-3.6.0.tgz#54b7658c8f454813dc2a870aff8152ec4969ba75" + +eslint-plugin-react@^7.4.0: + version "7.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.5.1.tgz#52e56e8d80c810de158859ef07b880d2f56ee30b" + dependencies: + doctrine "^2.0.0" + has "^1.0.1" + jsx-ast-utils "^2.0.0" + prop-types "^15.6.0" + +eslint-plugin-standard@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-3.0.1.tgz#34d0c915b45edc6f010393c7eef3823b08565cf2" + +eslint-scope@^3.7.1: + version "3.7.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-3.7.1.tgz#3d63c3edfda02e06e01a452ad88caacc7cdcb6e8" + dependencies: + esrecurse "^4.1.0" + estraverse "^4.1.1" + +eslint-visitor-keys@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d" + +eslint@^4.10.0: + version "4.14.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-4.14.0.tgz#96609768d1dd23304faba2d94b7fefe5a5447a82" + dependencies: + ajv "^5.3.0" + babel-code-frame "^6.22.0" + chalk "^2.1.0" + concat-stream "^1.6.0" + cross-spawn "^5.1.0" + debug "^3.1.0" + doctrine "^2.0.2" + eslint-scope "^3.7.1" + eslint-visitor-keys "^1.0.0" + espree "^3.5.2" + esquery "^1.0.0" + esutils "^2.0.2" + file-entry-cache "^2.0.0" + functional-red-black-tree "^1.0.1" + glob "^7.1.2" + globals "^11.0.1" + ignore "^3.3.3" + imurmurhash "^0.1.4" + inquirer "^3.0.6" + is-resolvable "^1.0.0" + js-yaml "^3.9.1" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.3.0" + lodash "^4.17.4" + minimatch "^3.0.2" + mkdirp "^0.5.1" + natural-compare "^1.4.0" + optionator "^0.8.2" + path-is-inside "^1.0.2" + pluralize "^7.0.0" + progress "^2.0.0" + require-uncached "^1.0.3" + semver "^5.3.0" + strip-ansi "^4.0.0" + strip-json-comments "~2.0.1" + table "^4.0.1" + text-table "~0.2.0" + +espree@^3.5.2: + version "3.5.2" + resolved "https://registry.yarnpkg.com/espree/-/espree-3.5.2.tgz#756ada8b979e9dcfcdb30aad8d1a9304a905e1ca" + dependencies: + acorn "^5.2.1" + acorn-jsx "^3.0.0" + +esprima@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.0.tgz#4499eddcd1110e0b218bacf2fa7f7f59f55ca804" + +esquery@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.0.tgz#cfba8b57d7fba93f17298a8a006a04cda13d80fa" + dependencies: + estraverse "^4.0.0" + +esrecurse@^4.1.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.0.tgz#fa9568d98d3823f9a41d91e902dcab9ea6e5b163" + dependencies: + estraverse "^4.1.0" + object-assign "^4.0.1" + +estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1: + version "4.2.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" + +esutils@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" + +etag@~1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" + +eth-lib@^0.1.27: + version "0.1.27" + resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.27.tgz#f0b0fd144f865d2d6bf8257a40004f2e75ca1dd6" + dependencies: + bn.js "^4.11.6" + elliptic "^6.4.0" + keccakjs "^0.2.1" + nano-json-stream-parser "^0.1.2" + servify "^0.1.12" + ws "^3.0.0" + xhr-request-promise "^0.1.2" + +ethereumjs-abi@^0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.5.tgz#5a637ef16ab43473fa72a29ad90871405b3f5241" + dependencies: + bn.js "^4.10.0" + ethereumjs-util "^4.3.0" + +ethereumjs-testrpc@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/ethereumjs-testrpc/-/ethereumjs-testrpc-6.0.3.tgz#7a0b87bf3670f92f607f98fa6a78801d9741b124" + dependencies: + webpack "^3.0.0" + +ethereumjs-util@^4.3.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-4.5.0.tgz#3e9428b317eebda3d7260d854fddda954b1f1bc6" + dependencies: + bn.js "^4.8.0" + create-hash "^1.1.2" + keccakjs "^0.2.0" + rlp "^2.0.0" + secp256k1 "^3.0.1" + +ethers-contracts@^2.1.5: + version "2.1.8" + resolved "https://registry.yarnpkg.com/ethers-contracts/-/ethers-contracts-2.1.8.tgz#cdcfdd21239a624474efb8333b838756c821a4c6" + dependencies: + ethers-utils "^2.1.0" + +ethers-providers@^2.1.8: + version "2.1.14" + resolved "https://registry.yarnpkg.com/ethers-providers/-/ethers-providers-2.1.14.tgz#836db6799b04fa1451ff877483dce0cf8cc3cc06" + dependencies: + ethers-utils "^2.1.0" + inherits "2.0.1" + xmlhttprequest "1.8.0" + +ethers-utils@^2.1.0, ethers-utils@^2.1.6: + version "2.1.8" + resolved "https://registry.yarnpkg.com/ethers-utils/-/ethers-utils-2.1.8.tgz#fe4726e0dac45cb81145f712d576f04c87cbd18e" + dependencies: + bn.js "^4.4.0" + hash.js "^1.0.0" + js-sha3 "0.5.7" + xmlhttprequest "1.8.0" + +ethers-wallet@^2.1.4: + version "2.1.6" + resolved "https://registry.yarnpkg.com/ethers-wallet/-/ethers-wallet-2.1.6.tgz#8fa59263fd1269161f1556ad556cb1c2a49d2af6" + dependencies: + aes-js "3.0.0" + elliptic "6.3.3" + ethers-utils "^2.1.0" + scrypt-js "2.0.3" + setimmediate "1.0.4" + uuid "2.0.1" + +ethers@^2.1.2, ethers@^2.1.3: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-2.1.3.tgz#0267bebbda183fa5e7c50d42925a3aabac4ef886" + dependencies: + ethers-contracts "^2.1.5" + ethers-providers "^2.1.8" + ethers-utils "^2.1.6" + ethers-wallet "^2.1.4" + +ethjs-abi@0.1.8: + version "0.1.8" + resolved "https://registry.yarnpkg.com/ethjs-abi/-/ethjs-abi-0.1.8.tgz#cd288583ed628cdfadaf8adefa3ba1dbcbca6c18" + dependencies: + bn.js "4.11.6" + js-sha3 "0.5.5" + number-to-bn "1.7.0" + +ethjs-unit@0.1.6: + version "0.1.6" + resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" + dependencies: + bn.js "4.11.6" + number-to-bn "1.7.0" + +event-emitter@~0.3.5: + version "0.3.5" + resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" + dependencies: + d "1" + es5-ext "~0.10.14" + +event-stream@~3.3.0: + version "3.3.4" + resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571" + dependencies: + duplexer "~0.1.1" + from "~0" + map-stream "~0.1.0" + pause-stream "0.0.11" + split "0.3" + stream-combiner "~0.0.4" + through "~2.3.1" + +eventemitter2@0.4.14, eventemitter2@~0.4.14: + version "0.4.14" + resolved "https://registry.yarnpkg.com/eventemitter2/-/eventemitter2-0.4.14.tgz#8f61b75cde012b2e9eb284d4545583b5643b61ab" + +events@^1.0.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/events/-/events-1.1.1.tgz#9ebdb7635ad099c70dcc4c2a1f5004288e8bd924" + +evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" + dependencies: + md5.js "^1.3.4" + safe-buffer "^5.1.1" + +execa@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/execa/-/execa-0.7.0.tgz#944becd34cc41ee32a63a9faf27ad5a65fc59777" + dependencies: + cross-spawn "^5.0.1" + get-stream "^3.0.0" + is-stream "^1.1.0" + npm-run-path "^2.0.0" + p-finally "^1.0.0" + signal-exit "^3.0.0" + strip-eof "^1.0.0" + +expand-brackets@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b" + dependencies: + is-posix-bracket "^0.1.0" + +expand-range@^1.8.1: + version "1.8.2" + resolved "https://registry.yarnpkg.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337" + dependencies: + fill-range "^2.1.0" + +expand-tilde@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/expand-tilde/-/expand-tilde-1.2.2.tgz#0b81eba897e5a3d31d1c3d102f8f01441e559449" + dependencies: + os-homedir "^1.0.1" + +express@^4.14.0: + version "4.16.2" + resolved "https://registry.yarnpkg.com/express/-/express-4.16.2.tgz#e35c6dfe2d64b7dca0a5cd4f21781be3299e076c" + dependencies: + accepts "~1.3.4" + array-flatten "1.1.1" + body-parser "1.18.2" + 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.1" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.8.1" + finalhandler "1.1.0" + 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.2" + qs "6.5.1" + range-parser "~1.2.0" + safe-buffer "5.1.1" + send "0.16.1" + serve-static "1.13.1" + setprototypeof "1.1.0" + statuses "~1.3.1" + type-is "~1.6.15" + utils-merge "1.0.1" + vary "~1.1.2" + +extend@~3.0.0, extend@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.1.tgz#a755ea7bc1adfcc5a31ce7e762dbaadc5e636444" + +external-editor@^2.0.4: + version "2.1.0" + resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-2.1.0.tgz#3d026a21b7f95b5726387d4200ac160d372c3b48" + dependencies: + chardet "^0.4.0" + iconv-lite "^0.4.17" + tmp "^0.0.33" + +extglob@^0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1" + dependencies: + is-extglob "^1.0.0" + +extsprintf@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" + +extsprintf@^1.2.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" + +fast-deep-equal@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz#96256a3bc975595eb36d82e9929d060d893439ff" + +fast-json-stable-stringify@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2" + +fast-levenshtein@~2.0.4: + version "2.0.6" + resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + +fbjs@^0.8.16: + version "0.8.16" + resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.16.tgz#5e67432f550dc41b572bf55847b8aca64e5337db" + dependencies: + core-js "^1.0.0" + isomorphic-fetch "^2.1.1" + loose-envify "^1.0.0" + object-assign "^4.1.0" + promise "^7.1.1" + setimmediate "^1.0.5" + ua-parser-js "^0.7.9" + +fd-slicer@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.0.1.tgz#8b5bcbd9ec327c5041bf9ab023fd6750f1177e65" + dependencies: + pend "~1.2.0" + +figures@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962" + dependencies: + escape-string-regexp "^1.0.5" + +file-entry-cache@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361" + dependencies: + flat-cache "^1.2.1" + object-assign "^4.0.1" + +file-type@^3.6.0, file-type@^3.8.0: + version "3.9.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" + +file-type@^5.2.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" + +file-type@^6.1.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" + +filename-regex@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26" + +fill-range@^2.1.0: + version "2.2.3" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-2.2.3.tgz#50b77dfd7e469bc7492470963699fe7a8485a723" + dependencies: + is-number "^2.1.0" + isobject "^2.0.0" + randomatic "^1.1.3" + repeat-element "^1.1.2" + repeat-string "^1.5.2" + +finalhandler@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5" + dependencies: + debug "2.6.9" + encodeurl "~1.0.1" + escape-html "~1.0.3" + on-finished "~2.3.0" + parseurl "~1.3.2" + statuses "~1.3.1" + unpipe "~1.0.0" + +find-file-up@^0.1.2: + version "0.1.3" + resolved "https://registry.yarnpkg.com/find-file-up/-/find-file-up-0.1.3.tgz#cf68091bcf9f300a40da411b37da5cce5a2fbea0" + dependencies: + fs-exists-sync "^0.1.0" + resolve-dir "^0.1.0" + +find-pkg@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/find-pkg/-/find-pkg-0.1.2.tgz#1bdc22c06e36365532e2a248046854b9788da557" + dependencies: + find-file-up "^0.1.2" + +find-up@^1.0.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" + dependencies: + path-exists "^2.0.0" + pinkie-promise "^2.0.0" + +find-up@^2.0.0, find-up@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + dependencies: + locate-path "^2.0.0" + +flat-cache@^1.2.1: + version "1.3.0" + resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-1.3.0.tgz#d3030b32b38154f4e3b7e9c709f490f7ef97c481" + dependencies: + circular-json "^0.3.1" + del "^2.0.2" + graceful-fs "^4.1.2" + write "^0.2.1" + +for-each@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4" + dependencies: + is-function "~1.0.0" + +for-in@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" + +for-own@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce" + dependencies: + for-in "^1.0.1" + +foreach@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" + +forever-agent@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" + +form-data@~2.1.1: + version "2.1.4" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.1.4.tgz#33c183acf193276ecaa98143a69e94bfee1750d1" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +form-data@~2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.1.tgz#6fb94fbd71885306d73d15cc497fe4cc4ecd44bf" + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.5" + mime-types "^2.1.12" + +forwarded@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" + +fresh@0.5.2: + version "0.5.2" + resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + +from@~0: + version "0.1.7" + resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe" + +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + +fs-readdir-recursive@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + +fs@0.0.1-security: + version "0.0.1-security" + resolved "https://registry.yarnpkg.com/fs/-/fs-0.0.1-security.tgz#8a7bd37186b6dddf3813f23858b57ecaaf5e41d4" + +fsevents@^1.0.0: + version "1.1.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-1.1.3.tgz#11f82318f5fe7bb2cd22965a108e9306208216d8" + dependencies: + nan "^2.3.0" + node-pre-gyp "^0.6.39" + +fstream-ignore@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/fstream-ignore/-/fstream-ignore-1.0.5.tgz#9c31dae34767018fe1d249b24dada67d092da105" + dependencies: + fstream "^1.0.0" + inherits "2" + minimatch "^3.0.0" + +fstream@^1.0.0, fstream@^1.0.10, fstream@^1.0.2: + version "1.0.11" + resolved "https://registry.yarnpkg.com/fstream/-/fstream-1.0.11.tgz#5c1fb1f117477114f0632a0eb4b71b3cb0fd3171" + dependencies: + graceful-fs "^4.1.2" + inherits "~2.0.0" + mkdirp ">=0.5 0" + rimraf "2" + +function-bind@^1.0.2, function-bind@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + +functional-red-black-tree@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + +gauge@~2.7.3: + version "2.7.4" + resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7" + dependencies: + aproba "^1.0.3" + console-control-strings "^1.0.0" + has-unicode "^2.0.0" + object-assign "^4.1.0" + signal-exit "^3.0.0" + string-width "^1.0.1" + strip-ansi "^3.0.1" + wide-align "^1.1.0" + +get-caller-file@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" + +get-func-name@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" + +get-stdin@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-4.0.1.tgz#b968c6b0a04384324902e8bf1a5df32579a450fe" + +get-stdin@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-5.0.1.tgz#122e161591e21ff4c52530305693f20e6393a398" + +get-stream@^2.2.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +get-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" + +getpass@^0.1.1: + version "0.1.7" + resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" + dependencies: + assert-plus "^1.0.0" + +glob-base@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" + dependencies: + glob-parent "^2.0.0" + is-glob "^2.0.0" + +glob-parent@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" + dependencies: + is-glob "^2.0.0" + +glob@7.1.2, glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.2: + version "7.1.2" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^4.0.0: + version "4.5.3" + resolved "https://registry.yarnpkg.com/glob/-/glob-4.5.3.tgz#c6cb73d3226c1efef04de3c56d012f03377ee15f" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "^2.0.1" + once "^1.3.0" + +glob@^6.0.1: + version "6.0.4" + resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" + dependencies: + inflight "^1.0.4" + inherits "2" + minimatch "2 || 3" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@~3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/glob/-/glob-3.2.11.tgz#4a973f635b9190f715d10987d5c00fd2815ebe3d" + dependencies: + inherits "2" + minimatch "0.3" + +global-modules@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/global-modules/-/global-modules-0.2.3.tgz#ea5a3bed42c6d6ce995a4f8a1269b5dae223828d" + dependencies: + global-prefix "^0.1.4" + is-windows "^0.2.0" + +global-prefix@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/global-prefix/-/global-prefix-0.1.5.tgz#8d3bc6b8da3ca8112a160d8d496ff0462bfef78f" + dependencies: + homedir-polyfill "^1.0.0" + ini "^1.3.4" + is-windows "^0.2.0" + which "^1.2.12" + +global@~4.3.0: + version "4.3.2" + resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" + dependencies: + min-document "^2.19.0" + process "~0.5.1" + +globals@^11.0.1: + version "11.1.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-11.1.0.tgz#632644457f5f0e3ae711807183700ebf2e4633e4" + +globals@^9.18.0: + version "9.18.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a" + +globby@^4.0.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-4.1.0.tgz#080f54549ec1b82a6c60e631fc82e1211dbe95f8" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^6.0.1" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +globby@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" + dependencies: + array-union "^1.0.1" + arrify "^1.0.0" + glob "^7.0.3" + object-assign "^4.0.1" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +graceful-fs@^4.1.0, graceful-fs@^4.1.10, graceful-fs@^4.1.2, graceful-fs@^4.1.4: + version "4.1.11" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" + +"graceful-readlink@>= 1.0.0": + version "1.0.1" + resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" + +growl@1.10.3: + version "1.10.3" + resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" + +har-schema@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" + +har-schema@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" + +har-validator@~4.2.1: + version "4.2.1" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-4.2.1.tgz#33481d0f1bbff600dd203d75812a6a5fba002e2a" + dependencies: + ajv "^4.9.1" + har-schema "^1.0.5" + +har-validator@~5.0.3: + version "5.0.3" + resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.0.3.tgz#ba402c266194f15956ef15e0fcf242993f6a7dfd" + dependencies: + ajv "^5.1.0" + har-schema "^2.0.0" + +has-ansi@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-0.1.0.tgz#84f265aae8c0e6a88a12d7022894b7568894c62e" + dependencies: + ansi-regex "^0.2.0" + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91" + dependencies: + ansi-regex "^2.0.0" + +has-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" + +has-flag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" + +has-unicode@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" + +has@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" + dependencies: + function-bind "^1.0.2" + +hash-base@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1" + dependencies: + inherits "^2.0.1" + +hash-base@^3.0.0: + version "3.0.4" + resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.0.4.tgz#5fc8686847ecd73499403319a6b0a3f3f6ae4918" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +hash.js@^1.0.0, hash.js@^1.0.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" + dependencies: + inherits "^2.0.3" + minimalistic-assert "^1.0.0" + +hawk@3.1.3, hawk@~3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-3.1.3.tgz#078444bd7c1640b0fe540d2c9b73d59678e8e1c4" + dependencies: + boom "2.x.x" + cryptiles "2.x.x" + hoek "2.x.x" + sntp "1.x.x" + +hawk@~6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/hawk/-/hawk-6.0.2.tgz#af4d914eb065f9b5ce4d9d11c1cb2126eecc3038" + dependencies: + boom "4.x.x" + cryptiles "3.x.x" + hoek "4.x.x" + sntp "2.x.x" + +he@1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" + +hmac-drbg@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" + dependencies: + hash.js "^1.0.3" + minimalistic-assert "^1.0.0" + minimalistic-crypto-utils "^1.0.1" + +hoek@2.x.x: + version "2.16.3" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" + +hoek@4.x.x: + version "4.2.0" + resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.0.tgz#72d9d0754f7fe25ca2d01ad8f8f9a9449a89526d" + +home-or-tmp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.1" + +homedir-polyfill@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz#4c2bbc8a758998feebf5ed68580f76d46768b4bc" + dependencies: + parse-passwd "^1.0.0" + +hosted-git-info@^2.1.4: + version "2.5.0" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.5.0.tgz#6d60e34b3abbc8313062c3b798ef8d901a07af3c" + +http-errors@1.6.2, http-errors@~1.6.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.2.tgz#0a002cc85707192a7e7946ceedc11155f60ec736" + dependencies: + depd "1.1.1" + inherits "2.0.3" + setprototypeof "1.0.3" + statuses ">= 1.3.1 < 2" + +http-signature@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" + dependencies: + assert-plus "^0.2.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +http-signature@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" + dependencies: + assert-plus "^1.0.0" + jsprim "^1.2.2" + sshpk "^1.7.0" + +https-browserify@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" + +iconv-lite@0.4.19, iconv-lite@^0.4.17, iconv-lite@~0.4.13: + version "0.4.19" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.19.tgz#f7468f60135f5e5dad3399c0a81be9a1603a082b" + +ieee754@^1.1.4: + version "1.1.8" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" + +ignore@^3.3.3, ignore@^3.3.6: + version "3.3.7" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.7.tgz#612289bfb3c220e186a58118618d5be8c1bab021" + +"ikt@git+http://ikt.pm2.io/ikt.git#master": + version "0.0.0" + resolved "git+http://ikt.pm2.io/ikt.git#3325a3e39a502418dc2e2e4bf21529cbbde96228" + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + +indent-string@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-2.1.0.tgz#8e2d48348742121b4a8218b7a137e9a52049dc80" + dependencies: + repeating "^2.0.0" + +indexof@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2, inherits@2.0.3, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" + +inherits@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" + +ini@^1.3.4, ini@~1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" + +inquirer@^3.0.6: + version "3.3.0" + resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9" + dependencies: + ansi-escapes "^3.0.0" + chalk "^2.0.0" + cli-cursor "^2.1.0" + cli-width "^2.0.0" + external-editor "^2.0.4" + figures "^2.0.0" + lodash "^4.3.0" + mute-stream "0.0.7" + run-async "^2.2.0" + rx-lite "^4.0.8" + rx-lite-aggregates "^4.0.8" + string-width "^2.1.0" + strip-ansi "^4.0.0" + through "^2.3.6" + +interpret@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.1.0.tgz#7ed1b1410c6a0e0f78cf95d3b8440c63f78b8614" + +invariant@^2.2.2: + version "2.2.2" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" + dependencies: + loose-envify "^1.0.0" + +invert-kv@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" + +ipaddr.js@1.5.2: + version "1.5.2" + resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.5.2.tgz#d4b505bde9946987ccf0fc58d9010ff9607e3fa0" + +is-arrayish@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + +is-binary-path@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898" + dependencies: + binary-extensions "^1.0.0" + +is-buffer@^1.1.5: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + +is-builtin-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-1.0.0.tgz#540572d34f7ac3119f8f76c30cbc1b1e037affbe" + dependencies: + builtin-modules "^1.0.0" + +is-callable@^1.1.1, is-callable@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" + +is-date-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" + +is-dotfile@^1.0.0: + version "1.0.3" + resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" + +is-equal-shallow@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534" + dependencies: + is-primitive "^2.0.0" + +is-expression@^2.0.1: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-2.1.0.tgz#91be9d47debcfef077977e9722be6dcfb4465ef0" + dependencies: + acorn "~3.3.0" + object-assign "^4.0.1" + +is-expression@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-expression/-/is-expression-3.0.0.tgz#39acaa6be7fd1f3471dc42c7416e61c24317ac9f" + dependencies: + acorn "~4.0.2" + object-assign "^4.0.1" + +is-extendable@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + +is-extglob@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" + +is-finite@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" + dependencies: + number-is-nan "^1.0.0" + +is-fullwidth-code-point@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" + +is-function@^1.0.1, is-function@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.1.tgz#12cfb98b65b57dd3d193a3121f5f6e2f437602b5" + +is-glob@^2.0.0, is-glob@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" + dependencies: + is-extglob "^1.0.0" + +is-hex-prefixed@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" + +is-natural-number@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" + +is-number@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + dependencies: + kind-of "^3.0.2" + +is-number@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" + dependencies: + kind-of "^3.0.2" + +is-object@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.1.tgz#8952688c5ec2ffd6b03ecc85e769e02903083470" + +is-path-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" + +is-path-in-cwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" + dependencies: + is-path-inside "^1.0.0" + +is-path-inside@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" + dependencies: + path-is-inside "^1.0.1" + +is-posix-bracket@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" + +is-primitive@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" + +is-promise@^2.0.0, is-promise@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" + +is-regex@^1.0.3, is-regex@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" + dependencies: + has "^1.0.1" + +is-resolvable@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-resolvable/-/is-resolvable-1.0.1.tgz#acca1cd36dbe44b974b924321555a70ba03b1cf4" + +is-stream@^1.0.1, is-stream@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" + +is-symbol@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" + +is-typedarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" + +is-utf8@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72" + +is-windows@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-0.2.0.tgz#de1aa6d63ea29dd248737b69f1ff8b8002d2108c" + +is-windows@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.1.tgz#310db70f742d259a16a369202b51af84233310d9" + +isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + +isobject@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" + dependencies: + isarray "1.0.0" + +isomorphic-fetch@^2.1.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" + dependencies: + node-fetch "^1.0.1" + whatwg-fetch ">=0.10.0" + +isstream@~0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" + +js-sha3@0.5.5: + version "0.5.5" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.5.tgz#baf0c0e8c54ad5903447df96ade7a4a1bca79a4a" + +js-sha3@0.5.7: + version "0.5.7" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" + +js-sha3@^0.3.1: + version "0.3.1" + resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.3.1.tgz#86122802142f0828502a0d1dee1d95e253bb0243" + +js-stringify@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/js-stringify/-/js-stringify-1.0.2.tgz#1736fddfd9724f28a3682adc6230ae7e4e9679db" + +js-tokens@^3.0.0, js-tokens@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b" + +js-yaml@^3.9.0, js-yaml@^3.9.1: + version "3.10.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.10.0.tgz#2e78441646bd4682e963f22b6e92823c309c62dc" + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + +jsbn@~0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" + +jsesc@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b" + +jsesc@~0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" + +json-loader@^0.5.4: + version "0.5.7" + resolved "https://registry.yarnpkg.com/json-loader/-/json-loader-0.5.7.tgz#dca14a70235ff82f0ac9a3abeb60d337a365185d" + +json-schema-traverse@^0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340" + +json-schema@0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" + +json-stable-stringify-without-jsonify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + +json-stable-stringify@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz#9a759d39c5f2ff503fd5300646ed445f88c4f9af" + dependencies: + jsonify "~0.0.0" + +json-stringify-safe@*, json-stringify-safe@^5.0, json-stringify-safe@~5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" + +json5@^0.5.0, json5@^0.5.1: + version "0.5.1" + resolved "https://registry.yarnpkg.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821" + +jsonify@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" + +jsprim@^1.2.2: + version "1.4.1" + resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.1.tgz#313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2" + dependencies: + assert-plus "1.0.0" + extsprintf "1.3.0" + json-schema "0.2.3" + verror "1.10.0" + +jstransformer@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/jstransformer/-/jstransformer-1.0.0.tgz#ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3" + dependencies: + is-promise "^2.0.0" + promise "^7.0.1" + +jsx-ast-utils@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-2.0.1.tgz#e801b1b39985e20fffc87b40e3748080e2dcac7f" + dependencies: + array-includes "^3.0.3" + +keccakjs@^0.2.0, keccakjs@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/keccakjs/-/keccakjs-0.2.1.tgz#1d633af907ef305bbf9f2fa616d56c44561dfa4d" + dependencies: + browserify-sha3 "^0.0.1" + sha3 "^1.1.0" + +keypress@0.1.x: + version "0.1.0" + resolved "https://registry.yarnpkg.com/keypress/-/keypress-0.1.0.tgz#4a3188d4291b66b4f65edb99f806aa9ae293592a" + +kind-of@^3.0.2: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + dependencies: + is-buffer "^1.1.5" + +lazy-cache@^1.0.3: + version "1.0.4" + resolved "https://registry.yarnpkg.com/lazy-cache/-/lazy-cache-1.0.4.tgz#a1d78fc3a50474cb80845d3b3b6e1da49a446e8e" + +lazy@~1.0.11: + version "1.0.11" + resolved "https://registry.yarnpkg.com/lazy/-/lazy-1.0.11.tgz#daa068206282542c088288e975c297c1ae77b690" + +lazystream@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lazystream/-/lazystream-1.0.0.tgz#f6995fe0f820392f61396be89462407bb77168e4" + dependencies: + readable-stream "^2.0.5" + +lcid@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" + dependencies: + invert-kv "^1.0.0" + +levn@^0.3.0, levn@~0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" + dependencies: + prelude-ls "~1.1.2" + type-check "~0.3.2" + +load-json-file@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + pinkie-promise "^2.0.0" + strip-bom "^2.0.0" + +load-json-file@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" + dependencies: + graceful-fs "^4.1.2" + parse-json "^2.2.0" + pify "^2.0.0" + strip-bom "^3.0.0" + +loader-runner@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.3.0.tgz#f482aea82d543e07921700d5a46ef26fdac6b8a2" + +loader-utils@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.1.0.tgz#c98aef488bcceda2ffb5e2de646d6a754429f5cd" + dependencies: + big.js "^3.1.3" + emojis-list "^2.0.0" + json5 "^0.5.0" + +locate-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + dependencies: + p-locate "^2.0.0" + path-exists "^3.0.0" + +lodash.cond@^4.3.0: + version "4.5.2" + resolved "https://registry.yarnpkg.com/lodash.cond/-/lodash.cond-4.5.2.tgz#f471a1da486be60f6ab955d17115523dd1d255d5" + +lodash@^4.0.0, lodash@^4.14.0, lodash@^4.17.4, lodash@^4.3.0, lodash@^4.5.1, lodash@^4.8.0: + version "4.17.4" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" + +longest@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" + +loose-envify@^1.0.0, loose-envify@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" + dependencies: + js-tokens "^3.0.0" + +loud-rejection@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/loud-rejection/-/loud-rejection-1.6.0.tgz#5b46f80147edee578870f086d04821cf998e551f" + dependencies: + currently-unhandled "^0.4.1" + signal-exit "^3.0.0" + +lru-cache@2: + version "2.7.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" + +lru-cache@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.1.tgz#622e32e82488b49279114a4f9ecf45e7cd6bba55" + dependencies: + pseudomap "^1.0.2" + yallist "^2.1.2" + +make-dir@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.1.0.tgz#19b4369fe48c116f53c2af95ad102c0e39e85d51" + dependencies: + pify "^3.0.0" + +manage-path@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/manage-path/-/manage-path-2.0.0.tgz#f4cf8457b926eeee2a83b173501414bc76eb9597" + +map-obj@^1.0.0, map-obj@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" + +map-stream@~0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194" + +md5.js@^1.3.4: + version "1.3.4" + resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.4.tgz#e9bdbde94a20a5ac18b04340fc5764d5b09d901d" + dependencies: + hash-base "^3.0.0" + inherits "^2.0.1" + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + +mem@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mem/-/mem-1.1.0.tgz#5edd52b485ca1d900fe64895505399a0dfa45f76" + dependencies: + mimic-fn "^1.0.0" + +memory-fs@^0.4.0, memory-fs@~0.4.1: + version "0.4.1" + resolved "https://registry.yarnpkg.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552" + dependencies: + errno "^0.1.3" + readable-stream "^2.0.1" + +meow@^3.6.0, meow@^3.7.0: + version "3.7.0" + resolved "https://registry.yarnpkg.com/meow/-/meow-3.7.0.tgz#72cb668b425228290abbfa856892587308a801fb" + dependencies: + camelcase-keys "^2.0.0" + decamelize "^1.1.2" + loud-rejection "^1.0.0" + map-obj "^1.0.1" + minimist "^1.1.3" + normalize-package-data "^2.3.4" + object-assign "^4.0.1" + read-pkg-up "^1.0.1" + redent "^1.0.0" + trim-newlines "^1.0.0" + +merge-descriptors@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + +methods@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + +micromatch@^2.1.5: + version "2.3.11" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565" + dependencies: + arr-diff "^2.0.0" + array-unique "^0.2.1" + braces "^1.8.2" + expand-brackets "^0.1.4" + extglob "^0.3.1" + filename-regex "^2.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.1" + kind-of "^3.0.2" + normalize-path "^2.0.1" + object.omit "^2.0.0" + parse-glob "^3.0.4" + regex-cache "^0.4.2" + +miller-rabin@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" + dependencies: + bn.js "^4.0.0" + brorand "^1.0.1" + +mime-db@~1.30.0: + version "1.30.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.30.0.tgz#74c643da2dd9d6a45399963465b26d5ca7d71f01" + +mime-types@^2.1.12, mime-types@~2.1.15, mime-types@~2.1.16, mime-types@~2.1.17, mime-types@~2.1.7: + version "2.1.17" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.17.tgz#09d7a393f03e995a79f8af857b70a9e0ab16557a" + dependencies: + mime-db "~1.30.0" + +mime@1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/mime/-/mime-1.4.1.tgz#121f9ebc49e3766f311a76e1fa1c8003c4b03aa6" + +mimic-fn@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.1.0.tgz#e667783d92e89dbd342818b5230b9d62a672ad18" + +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + dependencies: + dom-walk "^0.1.0" + +minimalistic-assert@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz#702be2dda6b37f4836bcb3f5db56641b64a1d3d3" + +minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" + +minimatch@0.3: + version "0.3.0" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-0.3.0.tgz#275d8edaac4f1bb3326472089e7949c8394699dd" + dependencies: + lru-cache "2" + sigmund "~1.0.0" + +"minimatch@2 || 3", minimatch@^3.0.0, minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + dependencies: + brace-expansion "^1.1.7" + +minimatch@^2.0.1: + version "2.0.10" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-2.0.10.tgz#8d087c39c6b38c001b97fca7ce6d0e1e80afbac7" + dependencies: + brace-expansion "^1.0.0" + +minimist@0.0.8: + version "0.0.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" + +minimist@^1.1.3, minimist@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" + +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: + version "0.5.1" + resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" + dependencies: + minimist "0.0.8" + +mocha@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-4.0.1.tgz#0aee5a95cf69a4618820f5e51fa31717117daf1b" + dependencies: + browser-stdout "1.3.0" + commander "2.11.0" + debug "3.1.0" + diff "3.3.1" + escape-string-regexp "1.0.5" + glob "7.1.2" + growl "1.10.3" + he "1.1.1" + mkdirp "0.5.1" + supports-color "4.4.0" + +moment-timezone@~0.3.0: + version "0.3.1" + resolved "https://registry.yarnpkg.com/moment-timezone/-/moment-timezone-0.3.1.tgz#3ef47856b02d53b718a10a5ec2023aa299e07bf5" + dependencies: + moment ">= 2.6.0" + +"moment@>= 2.6.0", moment@^2.12: + version "2.20.1" + resolved "https://registry.yarnpkg.com/moment/-/moment-2.20.1.tgz#d6eb1a46cbcc14a2b2f9434112c1ff8907f313fd" + +ms@0.7.1: + version "0.7.1" + resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" + +ms@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + +mute-stream@0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" + +nan@^2.0.5, nan@^2.2.1, nan@^2.3.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.8.0.tgz#ed715f3fe9de02b57a5e6252d90a96675e1f085a" + +nano-json-stream-parser@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + +ncp@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" + +negotiator@0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" + +nested-error-stacks@^1.0.0, nested-error-stacks@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz#19f619591519f096769a5ba9a86e6eeec823c3cf" + dependencies: + inherits "~2.0.1" + +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-libs-browser@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.1.0.tgz#5f94263d404f6e44767d726901fff05478d600df" + dependencies: + assert "^1.1.1" + browserify-zlib "^0.2.0" + buffer "^4.3.0" + console-browserify "^1.1.0" + constants-browserify "^1.0.0" + crypto-browserify "^3.11.0" + domain-browser "^1.1.1" + events "^1.0.0" + https-browserify "^1.0.0" + os-browserify "^0.3.0" + path-browserify "0.0.0" + process "^0.11.10" + punycode "^1.2.4" + querystring-es3 "^0.2.0" + readable-stream "^2.3.3" + stream-browserify "^2.0.1" + stream-http "^2.7.2" + string_decoder "^1.0.0" + timers-browserify "^2.0.4" + tty-browserify "0.0.0" + url "^0.11.0" + util "^0.10.3" + vm-browserify "0.0.4" + +node-pre-gyp@^0.6.39: + version "0.6.39" + resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz#c00e96860b23c0e1420ac7befc5044e1d78d8649" + dependencies: + detect-libc "^1.0.2" + hawk "3.1.3" + mkdirp "^0.5.1" + nopt "^4.0.1" + npmlog "^4.0.2" + rc "^1.1.7" + request "2.81.0" + rimraf "^2.6.1" + semver "^5.3.0" + tar "^2.2.1" + tar-pack "^3.4.0" + +nopt@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.1.tgz#d0d4685afd5415193c8c7505602d0d17cd64474d" + dependencies: + abbrev "1" + osenv "^0.1.4" + +normalize-package-data@^2.3.2, normalize-package-data@^2.3.4: + version "2.4.0" + resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.4.0.tgz#12f95a307d58352075a04907b84ac8be98ac012f" + dependencies: + hosted-git-info "^2.1.4" + is-builtin-module "^1.0.0" + semver "2 || 3 || 4 || 5" + validate-npm-package-license "^3.0.1" + +normalize-path@^2.0.0, normalize-path@^2.0.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9" + dependencies: + remove-trailing-separator "^1.0.1" + +npm-run-path@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" + dependencies: + path-key "^2.0.0" + +npmlog@^4.0.2: + version "4.1.2" + resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b" + dependencies: + are-we-there-yet "~1.1.2" + console-control-strings "~1.1.0" + gauge "~2.7.3" + set-blocking "~2.0.0" + +nps-utils@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/nps-utils/-/nps-utils-1.5.0.tgz#d20b5848dd20622d4d51c955c8b1790348b57686" + dependencies: + any-shell-escape "^0.1.1" + common-tags "^1.4.0" + concurrently "^3.4.0" + cpy-cli "^1.0.1" + cross-env "^3.1.4" + is-windows "^1.0.0" + mkdirp "^0.5.1" + ncp "2.0.0" + opn-cli "^3.1.0" + rimraf "^2.6.1" + +nps@^5.7.1: + version "5.7.1" + resolved "https://registry.yarnpkg.com/nps/-/nps-5.7.1.tgz#12cbfc635a6535ccb4f6eb516e6011f3af6bef42" + dependencies: + arrify "^1.0.1" + chalk "^2.0.1" + common-tags "^1.4.0" + find-up "^2.1.0" + js-yaml "^3.9.0" + lodash "^4.17.4" + manage-path "^2.0.0" + prefix-matches "^1.0.1" + readline-sync "^1.4.7" + spawn-command-with-kill "^1.0.0" + type-detect "^4.0.3" + yargs "^8.0.2" + +nssocket@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/nssocket/-/nssocket-0.6.0.tgz#59f96f6ff321566f33c70f7dbeeecdfdc07154fa" + dependencies: + eventemitter2 "~0.4.14" + lazy "~1.0.11" + +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + +number-to-bn@1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" + dependencies: + bn.js "4.11.6" + strip-hex-prefix "1.0.0" + +oauth-sign@~0.8.1, oauth-sign@~0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" + +object-assign@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-3.0.0.tgz#9bedd5ca0897949bca47e7ff408062d549f587f2" + +object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + +object-inspect@~0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-0.4.0.tgz#f5157c116c1455b243b06ee97703392c5ad89fec" + +object-keys@^1.0.8: + version "1.0.11" + resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" + +object.omit@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa" + dependencies: + for-own "^0.1.4" + is-extendable "^0.1.1" + +on-finished@~2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" + dependencies: + ee-first "1.1.1" + +once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + dependencies: + wrappy "1" + +onetime@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4" + dependencies: + mimic-fn "^1.0.0" + +opn-cli@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/opn-cli/-/opn-cli-3.1.0.tgz#f819ae6cae0b411bd0149b8560fe6c88adad20f8" + dependencies: + file-type "^3.6.0" + get-stdin "^5.0.1" + meow "^3.7.0" + opn "^4.0.0" + temp-write "^2.1.0" + +opn@^4.0.0: + version "4.0.2" + resolved "https://registry.yarnpkg.com/opn/-/opn-4.0.2.tgz#7abc22e644dff63b0a96d5ab7f2790c0f01abc95" + dependencies: + object-assign "^4.0.1" + pinkie-promise "^2.0.0" + +optionator@^0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64" + dependencies: + deep-is "~0.1.3" + fast-levenshtein "~2.0.4" + levn "~0.3.0" + prelude-ls "~1.1.2" + type-check "~0.3.2" + wordwrap "~1.0.0" + +os-browserify@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" + +os-homedir@^1.0.0, os-homedir@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" + +os-locale@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-2.1.0.tgz#42bc2900a6b5b8bd17376c8e882b65afccf24bf2" + dependencies: + execa "^0.7.0" + lcid "^1.0.0" + mem "^1.1.0" + +os-tmpdir@^1.0.0, os-tmpdir@^1.0.1, os-tmpdir@~1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + +osenv@^0.1.4: + version "0.1.4" + resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" + dependencies: + os-homedir "^1.0.0" + os-tmpdir "^1.0.0" + +output-file-sync@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/output-file-sync/-/output-file-sync-1.1.2.tgz#d0a33eefe61a205facb90092e826598d5245ce76" + dependencies: + graceful-fs "^4.1.4" + mkdirp "^0.5.1" + object-assign "^4.1.0" + +p-finally@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" + +p-limit@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" + +p-locate@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + dependencies: + p-limit "^1.1.0" + +pako@~1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" + +parse-asn1@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.0.tgz#37c4f9b7ed3ab65c74817b5f2480937fbf97c712" + dependencies: + asn1.js "^4.0.0" + browserify-aes "^1.0.0" + create-hash "^1.1.0" + evp_bytestokey "^1.0.0" + pbkdf2 "^3.0.3" + +parse-glob@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" + dependencies: + glob-base "^0.3.0" + is-dotfile "^1.0.0" + is-extglob "^1.0.0" + is-glob "^2.0.0" + +parse-headers@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.1.tgz#6ae83a7aa25a9d9b700acc28698cd1f1ed7e9536" + dependencies: + for-each "^0.3.2" + trim "0.0.1" + +parse-json@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" + dependencies: + error-ex "^1.2.0" + +parse-passwd@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6" + +parseurl@~1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.2.tgz#fc289d4ed8993119460c156253262cdc8de65bf3" + +path-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.0.tgz#a0b870729aae214005b7d5032ec2cbbb0fb4451a" + +path-exists@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" + dependencies: + pinkie-promise "^2.0.0" + +path-exists@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + +path-is-absolute@^1.0.0, path-is-absolute@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + +path-is-inside@^1.0.1, path-is-inside@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" + +path-key@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + +path-parse@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.5.tgz#3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1" + +path-to-regexp@0.1.7: + version "0.1.7" + resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" + +path-type@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" + dependencies: + graceful-fs "^4.1.2" + pify "^2.0.0" + pinkie-promise "^2.0.0" + +path-type@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" + dependencies: + pify "^2.0.0" + +path.join@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/path.join/-/path.join-1.0.0.tgz#0b402092bd81128b2819e780570c49de3ddf19de" + +pathval@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.0.tgz#b942e6d4bde653005ef6b71361def8727d0645e0" + +pause-stream@0.0.11: + version "0.0.11" + resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445" + dependencies: + through "~2.3" + +pbkdf2@^3.0.3, pbkdf2@^3.0.9: + version "3.0.14" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.14.tgz#a35e13c64799b06ce15320f459c230e68e73bade" + dependencies: + create-hash "^1.1.2" + create-hmac "^1.1.4" + ripemd160 "^2.0.1" + safe-buffer "^5.0.1" + sha.js "^2.4.8" + +pend@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" + +performance-now@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" + +performance-now@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" + +pidusage@^1.0.1: + version "1.2.0" + resolved "https://registry.yarnpkg.com/pidusage/-/pidusage-1.2.0.tgz#65ee96ace4e08a4cd3f9240996c85b367171ee92" + +pify@^2.0.0, pify@^2.2.0, pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + +pify@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + +pinkie-promise@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" + dependencies: + pinkie "^2.0.0" + +pinkie@^2.0.0: + version "2.0.4" + resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" + +pkg-dir@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4" + dependencies: + find-up "^1.0.0" + +pluralize@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777" + +pm2-axon-rpc@0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/pm2-axon-rpc/-/pm2-axon-rpc-0.3.6.tgz#0a8931f4f6de47bf3791633cc675b0e4700f36a0" + dependencies: + commander "1.0.5" + debug "*" + json-stringify-safe "*" + +pm2-axon@~2.0.9: + version "2.0.11" + resolved "https://registry.yarnpkg.com/pm2-axon/-/pm2-axon-2.0.11.tgz#468eb9bfa157c12c701b6b298d74b06c83f356bf" + dependencies: + amp "~0.3.1" + amp-message "~0.1.1" + configurable "0.0.1" + debug "~2.2.0" + escape-regexp "0.0.1" + +pm2-deploy@0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/pm2-deploy/-/pm2-deploy-0.2.1.tgz#7c59a35fbc7a0634fe67390e0edda34eb22d00ae" + dependencies: + async "1.4.2" + tv4 "~1.0.18" + +pm2-multimeter@0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/pm2-multimeter/-/pm2-multimeter-0.1.2.tgz#1a1e55153d41a05534cea23cfe860abaa0eb4ace" + dependencies: + charm "~0.1.1" + +pm2@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/pm2/-/pm2-1.1.3.tgz#10cdc3fed782d2c0eb52ce6985597de3ade1f64f" + dependencies: + async "1.5" + chalk "1.1.1" + chokidar "~1.4.0" + cli-table "0.3.1" + coffee-script "~1.10.0" + commander "^2.9" + cron "1.1.0" + debug "2.2.0" + eventemitter2 "0.4.14" + mkdirp "0.5.1" + moment "^2.12" + nssocket "0.6.0" + pidusage "^1.0.1" + pm2-axon "~2.0.9" + pm2-axon-rpc "0.3.6" + pm2-deploy "0.2.1" + pm2-multimeter "0.1.2" + pmx "^0.6" + semver "~5.1.0" + shelljs "0.6.0" + source-map-support "0.4.0" + vizion "^0.2" + yamljs "0.2.7" + optionalDependencies: + ikt "git+http://ikt.pm2.io/ikt.git#master" + +pmx@^0.6: + version "0.6.8" + resolved "https://registry.yarnpkg.com/pmx/-/pmx-0.6.8.tgz#8f9d6db4707ea6ec7383053747510367cd1f6332" + dependencies: + debug "^2.2" + json-stringify-safe "^5.0" + +prefix-matches@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prefix-matches/-/prefix-matches-1.0.1.tgz#02e34ce27f33af48e68bbfce2aac2a004bc2b76c" + dependencies: + is-object "^1.0.1" + starts-with "^1.0.2" + +prelude-ls@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" + +preserve@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" + +private@^0.1.6, private@^0.1.7: + version "0.1.8" + resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff" + +process-nextick-args@~1.0.6: + version "1.0.7" + resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-1.0.7.tgz#150e20b756590ad3f91093f25a4f2ad8bff30ba3" + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" + +process@~0.5.1: + version "0.5.2" + resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" + +progress@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.0.tgz#8a1be366bf8fc23db2bd23f10c6fe920b4389d1f" + +promise@^7.0.1, promise@^7.1.1: + version "7.3.1" + resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" + dependencies: + asap "~2.0.3" + +promisify@0.0.3, promisify@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/promisify/-/promisify-0.0.3.tgz#754db61f29ee6476ab543c45b464d21f5ef55686" + dependencies: + when "" + +prop-types@^15.6.0: + version "15.6.0" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.6.0.tgz#ceaf083022fc46b4a35f69e13ef75aed0d639856" + dependencies: + fbjs "^0.8.16" + loose-envify "^1.3.1" + object-assign "^4.1.1" + +proxy-addr@~2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.2.tgz#6571504f47bb988ec8180253f85dd7e14952bdec" + dependencies: + forwarded "~0.1.2" + ipaddr.js "1.5.2" + +prr@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" + +ps-tree@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.1.0.tgz#b421b24140d6203f1ed3c76996b4427b08e8c014" + dependencies: + event-stream "~3.3.0" + +pseudomap@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" + +public-encrypt@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.0.tgz#39f699f3a46560dd5ebacbca693caf7c65c18cc6" + dependencies: + bn.js "^4.1.0" + browserify-rsa "^4.0.0" + create-hash "^1.1.0" + parse-asn1 "^5.0.0" + randombytes "^2.0.1" + +pug-attrs@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/pug-attrs/-/pug-attrs-2.0.2.tgz#8be2b2225568ffa75d1b866982bff9f4111affcb" + dependencies: + constantinople "^3.0.1" + js-stringify "^1.0.1" + pug-runtime "^2.0.3" + +pug-code-gen@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/pug-code-gen/-/pug-code-gen-2.0.0.tgz#96aea39a9e62f1ec5d2b6a5b42a29d528c70b43d" + dependencies: + constantinople "^3.0.1" + doctypes "^1.1.0" + js-stringify "^1.0.1" + pug-attrs "^2.0.2" + pug-error "^1.3.2" + pug-runtime "^2.0.3" + void-elements "^2.0.1" + with "^5.0.0" + +pug-error@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/pug-error/-/pug-error-1.3.2.tgz#53ae7d9d29bb03cf564493a026109f54c47f5f26" + +pug-filters@^2.1.5: + version "2.1.5" + resolved "https://registry.yarnpkg.com/pug-filters/-/pug-filters-2.1.5.tgz#66bf6e80d97fbef829bab0aa35eddff33fc964f3" + dependencies: + clean-css "^3.3.0" + constantinople "^3.0.1" + jstransformer "1.0.0" + pug-error "^1.3.2" + pug-walk "^1.1.5" + resolve "^1.1.6" + uglify-js "^2.6.1" + +pug-lexer@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/pug-lexer/-/pug-lexer-3.1.0.tgz#fd087376d4a675b4f59f8fef422883434e9581a2" + dependencies: + character-parser "^2.1.1" + is-expression "^3.0.0" + pug-error "^1.3.2" + +pug-linker@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/pug-linker/-/pug-linker-3.0.3.tgz#25f59eb750237f0368e59c3379764229c0189c41" + dependencies: + pug-error "^1.3.2" + pug-walk "^1.1.5" + +pug-load@^2.0.9: + version "2.0.9" + resolved "https://registry.yarnpkg.com/pug-load/-/pug-load-2.0.9.tgz#ee217c914cc1d9324d44b86c32d1df241d36de7a" + dependencies: + object-assign "^4.1.0" + pug-walk "^1.1.5" + +pug-parser@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/pug-parser/-/pug-parser-4.0.0.tgz#c9f52322e4eabe4bf5beeba64ed18373bb627801" + dependencies: + pug-error "^1.3.2" + token-stream "0.0.1" + +pug-runtime@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/pug-runtime/-/pug-runtime-2.0.3.tgz#98162607b0fce9e254d427f33987a5aee7168bda" + +pug-strip-comments@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/pug-strip-comments/-/pug-strip-comments-1.0.2.tgz#d313afa01bcc374980e1399e23ebf2eb9bdc8513" + dependencies: + pug-error "^1.3.2" + +pug-walk@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/pug-walk/-/pug-walk-1.1.5.tgz#90e943acbcf7021e6454cf1b32245891cba6f851" + +pug@^2.0.0-rc.1: + version "2.0.0-rc.4" + resolved "https://registry.yarnpkg.com/pug/-/pug-2.0.0-rc.4.tgz#b7b08f6599bd5302568042b7436984fb28c80a13" + dependencies: + pug-code-gen "^2.0.0" + pug-filters "^2.1.5" + pug-lexer "^3.1.0" + pug-linker "^3.0.3" + pug-load "^2.0.9" + pug-parser "^4.0.0" + pug-runtime "^2.0.3" + pug-strip-comments "^1.0.2" + +punycode@1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" + +punycode@^1.2.4, punycode@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" + +qs@6.5.1, qs@~6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.1.tgz#349cdf6eef89ec45c12d7d5eb3fc0c870343a6d8" + +qs@~6.4.0: + version "6.4.0" + resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" + +query-string@^2.4.0: + version "2.4.2" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-2.4.2.tgz#7db0666420804baa92ae9f268962855a76143dfb" + dependencies: + strict-uri-encode "^1.0.0" + +querystring-es3@^0.2.0: + version "0.2.1" + resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" + +querystring@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" + +randomatic@^1.1.3: + version "1.1.7" + resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.7.tgz#c7abe9cc8b87c0baa876b19fde83fd464797e38c" + dependencies: + is-number "^3.0.0" + kind-of "^4.0.0" + +randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.5.tgz#dc009a246b8d09a177b4b7a0ae77bc570f4b1b79" + dependencies: + safe-buffer "^5.1.0" + +randomfill@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.3.tgz#b96b7df587f01dd91726c418f30553b1418e3d62" + dependencies: + randombytes "^2.0.5" + safe-buffer "^5.1.0" + +randomhex@0.1.5: + version "0.1.5" + resolved "https://registry.yarnpkg.com/randomhex/-/randomhex-0.1.5.tgz#baceef982329091400f2a2912c6cd02f1094f585" + +range-parser@~1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" + +raw-body@2.3.2: + version "2.3.2" + resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.3.2.tgz#bcd60c77d3eb93cde0050295c3f379389bc88f89" + dependencies: + bytes "3.0.0" + http-errors "1.6.2" + iconv-lite "0.4.19" + unpipe "1.0.0" + +rc@^1.1.7: + version "1.2.2" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.2.tgz#d8ce9cb57e8d64d9c7badd9876c7c34cbe3c7077" + dependencies: + deep-extend "~0.4.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +read-pkg-up@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" + dependencies: + find-up "^1.0.0" + read-pkg "^1.0.0" + +read-pkg-up@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" + dependencies: + find-up "^2.0.0" + read-pkg "^2.0.0" + +read-pkg@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" + dependencies: + load-json-file "^1.0.0" + normalize-package-data "^2.3.2" + path-type "^1.0.0" + +read-pkg@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" + dependencies: + load-json-file "^2.0.0" + normalize-package-data "^2.3.2" + path-type "^2.0.0" + +readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.2.2, readable-stream@^2.2.6, readable-stream@^2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.3.tgz#368f2512d79f9d46fdfc71349ae7878bbc1eb95c" + dependencies: + core-util-is "~1.0.0" + inherits "~2.0.3" + isarray "~1.0.0" + process-nextick-args "~1.0.6" + safe-buffer "~5.1.1" + string_decoder "~1.0.3" + util-deprecate "~1.0.1" + +readdirp@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" + dependencies: + graceful-fs "^4.1.2" + minimatch "^3.0.2" + readable-stream "^2.0.2" + set-immediate-shim "^1.0.1" + +readline-sync@^1.4.7: + version "1.4.7" + resolved "https://registry.yarnpkg.com/readline-sync/-/readline-sync-1.4.7.tgz#001bfdd4c06110c3c084c63bf7c6a56022213f30" + +redent@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde" + dependencies: + indent-string "^2.1.0" + strip-indent "^1.0.1" + +regenerate@^1.2.1: + version "1.3.3" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.3.3.tgz#0c336d3980553d755c39b586ae3b20aa49c82b7f" + +regenerator-runtime@^0.10.5: + version "0.10.5" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658" + +regenerator-runtime@^0.11.0: + version "0.11.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" + +regenerator-transform@^0.10.0: + version "0.10.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.10.1.tgz#1e4996837231da8b7f3cf4114d71b5691a0680dd" + dependencies: + babel-runtime "^6.18.0" + babel-types "^6.19.0" + private "^0.1.6" + +regex-cache@^0.4.2: + version "0.4.4" + resolved "https://registry.yarnpkg.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd" + dependencies: + is-equal-shallow "^0.1.3" + +regexpu-core@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-2.0.0.tgz#49d038837b8dcf8bfa5b9a42139938e6ea2ae240" + dependencies: + regenerate "^1.2.1" + regjsgen "^0.2.0" + regjsparser "^0.1.4" + +regjsgen@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" + +regjsparser@^0.1.4: + version "0.1.5" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.1.5.tgz#7ee8f84dc6fa792d3fd0ae228d24bd949ead205c" + dependencies: + jsesc "~0.5.0" + +remove-trailing-separator@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" + +repeat-element@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.2.tgz#ef089a178d1483baae4d93eb98b4f9e4e11d990a" + +repeat-string@^1.5.2: + version "1.6.1" + resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + +repeating@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda" + dependencies: + is-finite "^1.0.0" + +request@2.81.0: + version "2.81.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" + dependencies: + aws-sign2 "~0.6.0" + aws4 "^1.2.1" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.0" + forever-agent "~0.6.1" + form-data "~2.1.1" + har-validator "~4.2.1" + hawk "~3.1.3" + http-signature "~1.1.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.7" + oauth-sign "~0.8.1" + performance-now "^0.2.0" + qs "~6.4.0" + safe-buffer "^5.0.1" + stringstream "~0.0.4" + tough-cookie "~2.3.0" + tunnel-agent "^0.6.0" + uuid "^3.0.0" + +request@^2.79.0: + version "2.83.0" + resolved "https://registry.yarnpkg.com/request/-/request-2.83.0.tgz#ca0b65da02ed62935887808e6f510381034e3356" + dependencies: + aws-sign2 "~0.7.0" + aws4 "^1.6.0" + caseless "~0.12.0" + combined-stream "~1.0.5" + extend "~3.0.1" + forever-agent "~0.6.1" + form-data "~2.3.1" + har-validator "~5.0.3" + hawk "~6.0.2" + http-signature "~1.2.0" + is-typedarray "~1.0.0" + isstream "~0.1.2" + json-stringify-safe "~5.0.1" + mime-types "~2.1.17" + oauth-sign "~0.8.2" + performance-now "^2.1.0" + qs "~6.5.1" + safe-buffer "^5.1.1" + stringstream "~0.0.5" + tough-cookie "~2.3.3" + tunnel-agent "^0.6.0" + uuid "^3.1.0" + +require-directory@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" + +require-main-filename@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" + +require-uncached@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3" + dependencies: + caller-path "^0.1.0" + resolve-from "^1.0.0" + +resolve-dir@^0.1.0: + version "0.1.1" + resolved "https://registry.yarnpkg.com/resolve-dir/-/resolve-dir-0.1.1.tgz#b219259a5602fac5c5c496ad894a6e8cc430261e" + dependencies: + expand-tilde "^1.2.2" + global-modules "^0.2.3" + +resolve-from@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226" + +resolve@^1.1.6, resolve@^1.2.0, resolve@^1.3.3: + version "1.5.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.5.0.tgz#1f09acce796c9a762579f31b2c1cc4c3cddf9f36" + dependencies: + path-parse "^1.0.5" + +restore-cursor@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf" + dependencies: + onetime "^2.0.0" + signal-exit "^3.0.2" + +resumer@~0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/resumer/-/resumer-0.0.0.tgz#f1e8f461e4064ba39e82af3cdc2a8c893d076759" + dependencies: + through "~2.3.4" + +right-align@^0.1.1: + version "0.1.3" + resolved "https://registry.yarnpkg.com/right-align/-/right-align-0.1.3.tgz#61339b722fe6a3515689210d24e14c96148613ef" + dependencies: + align-text "^0.1.1" + +rimraf@2, rimraf@^2.2.8, rimraf@^2.5.1, rimraf@^2.6.1: + version "2.6.2" + resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.2.tgz#2ed8150d24a16ea8651e6d6ef0f47c4158ce7a36" + dependencies: + glob "^7.0.5" + +ripemd160@^2.0.0, ripemd160@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7" + dependencies: + hash-base "^2.0.0" + inherits "^2.0.1" + +rlp@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.0.0.tgz#9db384ff4b89a8f61563d92395d8625b18f3afb0" + +run-async@^2.2.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0" + dependencies: + is-promise "^2.1.0" + +rx-lite-aggregates@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be" + dependencies: + rx-lite "*" + +rx-lite@*, rx-lite@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444" + +rx@2.3.24: + version "2.3.24" + resolved "https://registry.yarnpkg.com/rx/-/rx-2.3.24.tgz#14f950a4217d7e35daa71bbcbe58eff68ea4b2b7" + +safe-buffer@5.1.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@~5.1.0, safe-buffer@~5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" + +scrypt-js@2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.3.tgz#bb0040be03043da9a012a2cea9fc9f852cfc87d4" + +secp256k1@^3.0.1: + version "3.4.0" + resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.4.0.tgz#1c905b256fa4ae5b9cc170e672dd59b4c5de46a4" + dependencies: + bindings "^1.2.1" + bip66 "^1.1.3" + bn.js "^4.11.3" + create-hash "^1.1.2" + drbg.js "^1.0.1" + elliptic "^6.2.3" + nan "^2.2.1" + safe-buffer "^5.1.0" + +seek-bzip@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.5.tgz#cfe917cb3d274bcffac792758af53173eb1fabdc" + dependencies: + commander "~2.8.1" + +"semver@2 || 3 || 4 || 5", semver@^5.3.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.4.1.tgz#e059c09d8571f0540823733433505d3a2f00b18e" + +semver@5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" + +semver@~5.1.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.1.tgz#a3292a373e6f3e0798da0b20641b9a9c5bc47e19" + +send@0.16.1: + version "0.16.1" + resolved "https://registry.yarnpkg.com/send/-/send-0.16.1.tgz#a70e1ca21d1382c11d0d9f6231deb281080d7ab3" + dependencies: + debug "2.6.9" + depd "~1.1.1" + destroy "~1.0.4" + encodeurl "~1.0.1" + escape-html "~1.0.3" + etag "~1.8.1" + fresh "0.5.2" + http-errors "~1.6.2" + mime "1.4.1" + ms "2.0.0" + on-finished "~2.3.0" + range-parser "~1.2.0" + statuses "~1.3.1" + +serve-static@1.13.1: + version "1.13.1" + resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.13.1.tgz#4c57d53404a761d8f2e7c1e8a18a47dbf278a719" + dependencies: + encodeurl "~1.0.1" + escape-html "~1.0.3" + parseurl "~1.3.2" + send "0.16.1" + +servify@^0.1.12: + version "0.1.12" + resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" + dependencies: + body-parser "^1.16.0" + cors "^2.8.1" + express "^4.14.0" + request "^2.79.0" + xhr "^2.3.3" + +set-blocking@^2.0.0, set-blocking@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" + +set-immediate-shim@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" + +setimmediate@1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" + +setimmediate@^1.0.4, setimmediate@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" + +setprototypeof@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" + +setprototypeof@1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656" + +sha.js@^2.4.0, sha.js@^2.4.8: + version "2.4.9" + resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.9.tgz#98f64880474b74f4a38b8da9d3c0f2d104633e7d" + dependencies: + inherits "^2.0.1" + safe-buffer "^5.0.1" + +sha3@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.0.tgz#6989f1b70a498705876a373e2c62ace96aa9399a" + dependencies: + nan "^2.0.5" + +shebang-command@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + dependencies: + shebang-regex "^1.0.0" + +shebang-regex@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + +shelljs@0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.0.tgz#ce1ed837b4b0e55b5ec3dab84251ab9dbdc0c7ec" + +sigmund@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" + +signal-exit@^3.0.0, signal-exit@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" + +simple-get@^1.4.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-1.4.3.tgz#e9755eda407e96da40c5e5158c9ea37b33becbeb" + dependencies: + once "^1.3.1" + unzip-response "^1.0.0" + xtend "^4.0.0" + +slash@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" + +slice-ansi@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d" + dependencies: + is-fullwidth-code-point "^2.0.0" + +sntp@1.x.x: + version "1.0.9" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" + dependencies: + hoek "2.x.x" + +sntp@2.x.x: + version "2.1.0" + resolved "https://registry.yarnpkg.com/sntp/-/sntp-2.1.0.tgz#2c6cec14fedc2222739caf9b5c3d85d1cc5a2cc8" + dependencies: + hoek "4.x.x" + +source-list-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/source-list-map/-/source-list-map-2.0.0.tgz#aaa47403f7b245a92fbc97ea08f250d6087ed085" + +source-map-support@0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.0.tgz#cb92292bc05455ce48691de545ac2690bb1cc976" + dependencies: + source-map "0.1.32" + +source-map-support@^0.4.15: + version "0.4.18" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f" + dependencies: + source-map "^0.5.6" + +source-map@0.1.32: + version "0.1.32" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.32.tgz#c8b6c167797ba4740a8ea33252162ff08591b266" + dependencies: + amdefine ">=0.0.4" + +source-map@0.4.x: + version "0.4.4" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.4.4.tgz#eba4f5da9c0dc999de68032d8b4f76173652036b" + dependencies: + amdefine ">=0.0.4" + +source-map@^0.5.3, source-map@^0.5.6, source-map@~0.5.1: + version "0.5.7" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + +source-map@~0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + +spawn-command-with-kill@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/spawn-command-with-kill/-/spawn-command-with-kill-1.0.0.tgz#803ad79f2f56e44dd926183768aac2faec7d0ce6" + dependencies: + ps-tree "^1.1.0" + spawn-command "^0.0.2-1" + +spawn-command@^0.0.2-1: + version "0.0.2" + resolved "https://registry.yarnpkg.com/spawn-command/-/spawn-command-0.0.2.tgz#9544e1a43ca045f8531aac1a48cb29bdae62338e" + +spdx-correct@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" + dependencies: + spdx-license-ids "^1.0.2" + +spdx-expression-parse@~1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-1.0.4.tgz#9bdf2f20e1f40ed447fbe273266191fced51626c" + +spdx-license-ids@^1.0.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" + +split@0.3: + version "0.3.3" + resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f" + dependencies: + through "2" + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + +sshpk@^1.7.0: + version "1.13.1" + resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.1.tgz#512df6da6287144316dc4c18fe1cf1d940739be3" + dependencies: + asn1 "~0.2.3" + assert-plus "^1.0.0" + dashdash "^1.12.0" + getpass "^0.1.1" + optionalDependencies: + bcrypt-pbkdf "^1.0.0" + ecc-jsbn "~0.1.1" + jsbn "~0.1.0" + tweetnacl "~0.14.0" + +starts-with@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/starts-with/-/starts-with-1.0.2.tgz#16793a729d89d4cf3d4fb2eda2f908ae357f196f" + +"statuses@>= 1.3.1 < 2": + version "1.4.0" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.4.0.tgz#bb73d446da2796106efcc1b601a253d6c46bd087" + +statuses@~1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" + +stream-browserify@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.1.tgz#66266ee5f9bdb9940a4e4514cafb43bb71e5c9db" + dependencies: + inherits "~2.0.1" + readable-stream "^2.0.2" + +stream-combiner@~0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14" + dependencies: + duplexer "~0.1.1" + +stream-http@^2.7.2: + version "2.7.2" + resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.2.tgz#40a050ec8dc3b53b33d9909415c02c0bf1abfbad" + dependencies: + builtin-status-codes "^3.0.0" + inherits "^2.0.1" + readable-stream "^2.2.6" + to-arraybuffer "^1.0.0" + xtend "^4.0.0" + +strict-uri-encode@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" + +string-width@^1.0.1, string-width@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" + dependencies: + code-point-at "^1.0.0" + is-fullwidth-code-point "^1.0.0" + strip-ansi "^3.0.0" + +string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" + dependencies: + is-fullwidth-code-point "^2.0.0" + strip-ansi "^4.0.0" + +string_decoder@^1.0.0, string_decoder@~1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.0.3.tgz#0fc67d7c141825de94282dd536bec6b9bce860ab" + dependencies: + safe-buffer "~5.1.0" + +stringstream@~0.0.4, stringstream@~0.0.5: + version "0.0.5" + resolved "https://registry.yarnpkg.com/stringstream/-/stringstream-0.0.5.tgz#4e484cd4de5a0bbbee18e46307710a8a81621878" + +strip-ansi@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-0.3.0.tgz#25f48ea22ca79187f3174a4db8759347bb126220" + dependencies: + ansi-regex "^0.2.1" + +strip-ansi@^3.0.0, strip-ansi@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" + dependencies: + ansi-regex "^3.0.0" + +strip-bom@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e" + dependencies: + is-utf8 "^0.2.0" + +strip-bom@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + +strip-dirs@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" + dependencies: + is-natural-number "^4.0.1" + +strip-eof@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" + +strip-hex-prefix@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" + dependencies: + is-hex-prefixed "1.0.0" + +strip-indent@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-1.0.1.tgz#0c7962a6adefa7bbd4ac366460a638552ae1a0a2" + dependencies: + get-stdin "^4.0.1" + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + +supports-color@4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" + dependencies: + has-flag "^2.0.0" + +supports-color@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-0.2.0.tgz#d92de2694eb3f67323973d7ae3d8b55b4c22190a" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7" + +supports-color@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6" + dependencies: + has-flag "^1.0.0" + +supports-color@^4.0.0, supports-color@^4.2.1: + version "4.5.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b" + dependencies: + has-flag "^2.0.0" + +table@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36" + dependencies: + ajv "^5.2.3" + ajv-keywords "^2.1.0" + chalk "^2.1.0" + lodash "^4.17.4" + slice-ansi "1.0.0" + string-width "^2.1.1" + +tapable@^0.2.7: + version "0.2.8" + resolved "https://registry.yarnpkg.com/tapable/-/tapable-0.2.8.tgz#99372a5c999bf2df160afc0d74bed4f47948cd22" + +tape@^3.0.3: + version "3.6.1" + resolved "https://registry.yarnpkg.com/tape/-/tape-3.6.1.tgz#4893dd53e280a5f58c0ceb30c2c0ebb3bcd51e1f" + dependencies: + deep-equal "~0.2.0" + defined "~0.0.0" + glob "~3.2.9" + inherits "~2.0.1" + object-inspect "~0.4.0" + resumer "~0.0.0" + through "~2.3.4" + +tar-pack@^3.4.0: + version "3.4.1" + resolved "https://registry.yarnpkg.com/tar-pack/-/tar-pack-3.4.1.tgz#e1dbc03a9b9d3ba07e896ad027317eb679a10a1f" + dependencies: + debug "^2.2.0" + fstream "^1.0.10" + fstream-ignore "^1.0.5" + once "^1.3.3" + readable-stream "^2.1.4" + rimraf "^2.5.1" + tar "^2.2.1" + uid-number "^0.0.6" + +tar-stream@^1.5.0, tar-stream@^1.5.2: + version "1.5.5" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.5.tgz#5cad84779f45c83b1f2508d96b09d88c7218af55" + dependencies: + bl "^1.0.0" + end-of-stream "^1.0.0" + readable-stream "^2.0.0" + xtend "^4.0.0" + +tar@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/tar/-/tar-2.2.1.tgz#8e4d2a256c0e2185c6b18ad694aec968b83cb1d1" + dependencies: + block-stream "*" + fstream "^1.0.2" + inherits "2" + +temp-write@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/temp-write/-/temp-write-2.1.0.tgz#59890918e0ef09d548aaa342f4bd3409d8404e96" + dependencies: + graceful-fs "^4.1.2" + mkdirp "^0.5.0" + os-tmpdir "^1.0.0" + pify "^2.2.0" + pinkie-promise "^2.0.0" + uuid "^2.0.1" + +text-table@~0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + +through@2, through@^2.3.6, through@~2.3, through@~2.3.1, through@~2.3.4: + version "2.3.8" + resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + +timed-out@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-2.0.0.tgz#f38b0ae81d3747d628001f41dafc652ace671c0a" + +timers-browserify@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.4.tgz#96ca53f4b794a5e7c0e1bd7cc88a372298fa01e6" + dependencies: + setimmediate "^1.0.4" + +tmp@^0.0.33: + version "0.0.33" + resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + dependencies: + os-tmpdir "~1.0.2" + +to-arraybuffer@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" + +to-fast-properties@^1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47" + +token-stream@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/token-stream/-/token-stream-0.0.1.tgz#ceeefc717a76c4316f126d0b9dbaa55d7e7df01a" + +tough-cookie@~2.3.0, tough-cookie@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.3.tgz#0b618a5565b6dea90bf3425d04d55edc475a7561" + dependencies: + punycode "^1.4.1" + +tree-kill@^1.1.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.0.tgz#5846786237b4239014f05db156b643212d4c6f36" + +trim-newlines@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-1.0.0.tgz#5887966bb582a4503a41eb524f7d35011815a613" + +trim-right@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" + +trim@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + +truffle-blockchain-utils@^0.0.3: + version "0.0.3" + resolved "https://registry.yarnpkg.com/truffle-blockchain-utils/-/truffle-blockchain-utils-0.0.3.tgz#ae8a111ec124d96504f0e042c6f205c0b3817e29" + dependencies: + web3 "^0.20.1" + +truffle-contract-schema@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/truffle-contract-schema/-/truffle-contract-schema-1.0.1.tgz#08ceaefe71062a8ac9ab881a77a30fda3744176e" + dependencies: + ajv "^5.1.1" + crypto-js "^3.1.9-1" + +truffle-contract@^3.0.0, truffle-contract@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/truffle-contract/-/truffle-contract-3.0.1.tgz#7fd0395571b0c011afb809cbd6441d553e793201" + dependencies: + ethjs-abi "0.1.8" + truffle-blockchain-utils "^0.0.3" + truffle-contract-schema "^1.0.0" + web3 "^0.20.1" + +tty-browserify@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + dependencies: + safe-buffer "^5.0.1" + +tv4@~1.0.18: + version "1.0.18" + resolved "https://registry.yarnpkg.com/tv4/-/tv4-1.0.18.tgz#7397769f00358e33bf528dc5c8764c61b6de8245" + +tweetnacl@^0.14.3, tweetnacl@~0.14.0: + version "0.14.5" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" + +type-check@~0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" + dependencies: + prelude-ls "~1.1.2" + +type-detect@^4.0.0, type-detect@^4.0.3: + version "4.0.5" + resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.5.tgz#d70e5bc81db6de2a381bcaca0c6e0cbdc7635de2" + +type-is@~1.6.15: + version "1.6.15" + resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.15.tgz#cab10fb4909e441c82842eafe1ad646c81804410" + dependencies: + media-typer "0.3.0" + mime-types "~2.1.15" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" + +ua-parser-js@^0.7.9: + version "0.7.17" + resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.17.tgz#e9ec5f9498b9ec910e7ae3ac626a805c4d09ecac" + +uglify-js@^2.6.1, uglify-js@^2.8.29: + version "2.8.29" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-2.8.29.tgz#29c5733148057bb4e1f75df35b7a9cb72e6a59dd" + dependencies: + source-map "~0.5.1" + yargs "~3.10.0" + optionalDependencies: + uglify-to-browserify "~1.0.0" + +uglify-to-browserify@~1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz#6e0924d6bda6b5afe349e39a6d632850a0f882b7" + +uglifyjs-webpack-plugin@^0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz#b951f4abb6bd617e66f63eb891498e391763e309" + dependencies: + source-map "^0.5.6" + uglify-js "^2.8.29" + webpack-sources "^1.0.1" + +uid-number@^0.0.6: + version "0.0.6" + resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" + +uint32@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/uint32/-/uint32-0.2.1.tgz#e618d802d7fffd28b708fccecc7315608bac47f2" + +ultron@~1.1.0: + version "1.1.1" + resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" + +unbzip2-stream@^1.0.9: + version "1.2.5" + resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.2.5.tgz#73a033a567bbbde59654b193c44d48a7e4f43c47" + dependencies: + buffer "^3.0.1" + through "^2.3.6" + +underscore.string@~2.4.0: + version "2.4.0" + resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-2.4.0.tgz#8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b" + +underscore@1.8.3: + version "1.8.3" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.8.3.tgz#4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022" + +underscore@~1.7.0: + version "1.7.0" + resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.7.0.tgz#6bbaf0877500d36be34ecaa584e0db9fef035209" + +unorm@^1.3.3: + version "1.4.1" + resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.4.1.tgz#364200d5f13646ca8bcd44490271335614792300" + +unpipe@1.0.0, unpipe@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" + +unzip-response@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" + +url-set-query@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" + +url@^0.11.0: + version "0.11.0" + resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" + dependencies: + punycode "1.3.2" + querystring "0.2.0" + +user-home@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" + +utf8@2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.1.tgz#2e01db02f7d8d0944f77104f1609eb0c304cf768" + +utf8@^2.1.1: + version "2.1.2" + resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.2.tgz#1fa0d9270e9be850d9b05027f63519bf46457d96" + +util-deprecate@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + +util@0.10.3, util@^0.10.3: + version "0.10.3" + resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" + dependencies: + inherits "2.0.1" + +utils-merge@1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + +uuid@2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" + +uuid@^2.0.1: + version "2.0.3" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.3.tgz#67e2e863797215530dff318e5bf9dcebfd47b21a" + +uuid@^3.0.0, uuid@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.1.0.tgz#3dd3d3e790abc24d7b0d3a034ffababe28ebbc04" + +v8flags@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4" + dependencies: + user-home "^1.1.1" + +validate-npm-package-license@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz#2804babe712ad3379459acfbe24746ab2c303fbc" + dependencies: + spdx-correct "~1.0.0" + spdx-expression-parse "~1.0.0" + +vary@^1, vary@~1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + +verror@1.10.0: + version "1.10.0" + resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" + dependencies: + assert-plus "^1.0.0" + core-util-is "1.0.2" + extsprintf "^1.2.0" + +vizion@^0.2: + version "0.2.13" + resolved "https://registry.yarnpkg.com/vizion/-/vizion-0.2.13.tgz#1314cdee2b34116f9f5b1248536f95dbfcd6ef5f" + dependencies: + async "1.5" + +vm-browserify@0.0.4: + version "0.0.4" + resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-0.0.4.tgz#5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73" + dependencies: + indexof "0.0.1" + +void-elements@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" + +watchpack@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-1.4.0.tgz#4a1472bcbb952bd0a9bb4036801f954dfb39faac" + dependencies: + async "^2.1.2" + chokidar "^1.7.0" + graceful-fs "^4.1.2" + +web3-typescript-typings@^0.7.2: + version "0.7.2" + resolved "https://registry.yarnpkg.com/web3-typescript-typings/-/web3-typescript-typings-0.7.2.tgz#5312bb786936a9c91381eee7af3d02ac21cf13b3" + dependencies: + bignumber.js "^4.0.2" + +web3-utils@^1.0.0-beta.26: + version "1.0.0-beta.27" + resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.0.0-beta.27.tgz#d097d5c336a16b9f6ca9b60af68dd15c0643214b" + dependencies: + 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@^0.20.1: + version "0.20.3" + resolved "https://registry.yarnpkg.com/web3/-/web3-0.20.3.tgz#caa44373dc8815ac8767bddb6ba73073964caa8b" + dependencies: + bignumber.js "git+https://github.com/frozeman/bignumber.js-nolookahead.git" + crypto-js "^3.1.4" + utf8 "^2.1.1" + xhr2 "*" + xmlhttprequest "*" + +webpack-sources@^1.0.1: + version "1.1.0" + resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54" + dependencies: + source-list-map "^2.0.0" + source-map "~0.6.1" + +webpack@^3.0.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/webpack/-/webpack-3.10.0.tgz#5291b875078cf2abf42bdd23afe3f8f96c17d725" + dependencies: + acorn "^5.0.0" + acorn-dynamic-import "^2.0.0" + ajv "^5.1.5" + ajv-keywords "^2.0.0" + async "^2.1.2" + enhanced-resolve "^3.4.0" + escope "^3.6.0" + interpret "^1.0.0" + json-loader "^0.5.4" + json5 "^0.5.1" + loader-runner "^2.3.0" + loader-utils "^1.1.0" + memory-fs "~0.4.1" + mkdirp "~0.5.0" + node-libs-browser "^2.0.0" + source-map "^0.5.3" + supports-color "^4.2.1" + tapable "^0.2.7" + uglifyjs-webpack-plugin "^0.4.6" + watchpack "^1.4.0" + webpack-sources "^1.0.1" + yargs "^8.0.2" + +whatwg-fetch@>=0.10.0: + version "2.0.3" + resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.3.tgz#9c84ec2dcf68187ff00bc64e1274b442176e1c84" + +when@: + version "3.7.8" + resolved "https://registry.yarnpkg.com/when/-/when-3.7.8.tgz#c7130b6a7ea04693e842cdc9e7a1f2aa39a39f82" + +which-module@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" + +which@^1.2.12, which@^1.2.9: + version "1.3.0" + resolved "https://registry.yarnpkg.com/which/-/which-1.3.0.tgz#ff04bdfc010ee547d780bec38e1ac1c2777d253a" + dependencies: + isexe "^2.0.0" + +wide-align@^1.1.0: + version "1.1.2" + resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.2.tgz#571e0f1b0604636ebc0dfc21b0339bbe31341710" + dependencies: + string-width "^1.0.2" + +window-size@0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.0.tgz#5438cd2ea93b202efa3a19fe8887aee7c94f9c9d" + +with@^5.0.0: + version "5.1.1" + resolved "https://registry.yarnpkg.com/with/-/with-5.1.1.tgz#fa4daa92daf32c4ea94ed453c81f04686b575dfe" + dependencies: + acorn "^3.1.0" + acorn-globals "^3.0.0" + +wordwrap@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.2.tgz#b79669bb42ecb409f83d583cad52ca17eaa1643f" + +wordwrap@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" + +wrap-ansi@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" + dependencies: + string-width "^1.0.1" + strip-ansi "^3.0.1" + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + +write@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757" + dependencies: + mkdirp "^0.5.1" + +ws@^3.0.0: + version "3.3.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" + dependencies: + async-limiter "~1.0.0" + safe-buffer "~5.1.0" + ultron "~1.1.0" + +xhr-request-promise@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz#343c44d1ee7726b8648069682d0f840c83b4261d" + dependencies: + xhr-request "^1.0.1" + +xhr-request@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.0.1.tgz#83f08a4b20beec67a8c1c728e8102f4c9eecbdda" + dependencies: + buffer-to-arraybuffer "0.0.2" + object-assign "^3.0.0" + query-string "^2.4.0" + simple-get "^1.4.3" + timed-out "^2.0.0" + url-set-query "^1.0.0" + xhr "^2.0.4" + +xhr2@*: + version "0.1.4" + resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.4.tgz#7f87658847716db5026323812f818cadab387a5f" + +xhr@^2.0.4, xhr@^2.3.3: + version "2.4.1" + resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.4.1.tgz#ba982cced205ae5eec387169ac9dc77ca4853d38" + dependencies: + global "~4.3.0" + is-function "^1.0.1" + parse-headers "^2.0.0" + xtend "^4.0.0" + +xmlhttprequest@*, xmlhttprequest@1.8.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" + +xtend@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" + +y18n@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" + +yallist@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" + +yamljs@0.2.7: + version "0.2.7" + resolved "https://registry.yarnpkg.com/yamljs/-/yamljs-0.2.7.tgz#84c7e20c790e3dbc711697fef8115b628584ad0c" + dependencies: + argparse "^0.1.15" + glob "^4.0.0" + +yargs-parser@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-7.0.0.tgz#8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9" + dependencies: + camelcase "^4.1.0" + +yargs@^8.0.2: + version "8.0.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-8.0.2.tgz#6299a9055b1cefc969ff7e79c1d918dceb22c360" + dependencies: + camelcase "^4.1.0" + cliui "^3.2.0" + decamelize "^1.1.1" + get-caller-file "^1.0.1" + os-locale "^2.0.0" + read-pkg-up "^2.0.0" + require-directory "^2.1.1" + require-main-filename "^1.0.1" + set-blocking "^2.0.0" + string-width "^2.0.0" + which-module "^2.0.0" + y18n "^3.2.1" + yargs-parser "^7.0.0" + +yargs@~3.10.0: + version "3.10.0" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.10.0.tgz#f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1" + dependencies: + camelcase "^1.0.2" + cliui "^2.1.0" + decamelize "^1.0.0" + window-size "0.1.0" + +yauzl@^2.4.2: + version "2.9.1" + resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.9.1.tgz#a81981ea70a57946133883f029c5821a89359a7f" + dependencies: + buffer-crc32 "~0.2.3" + fd-slicer "~1.0.1" + +zip-stream@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/zip-stream/-/zip-stream-1.2.0.tgz#a8bc45f4c1b49699c6b90198baacaacdbcd4ba04" + dependencies: + archiver-utils "^1.3.0" + compress-commons "^1.2.0" + lodash "^4.8.0" + readable-stream "^2.0.0"