diff --git a/dist/paratii.core.users.js b/dist/paratii.core.users.js index eb73558..5316368 100644 --- a/dist/paratii.core.users.js +++ b/dist/paratii.core.users.js @@ -21,6 +21,8 @@ var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); +var _schemas = require('./schemas.js'); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var joi = require('joi'); @@ -46,36 +48,35 @@ var ParatiiUsers = exports.ParatiiUsers = function () { this.config = config; } /** - * @typedef {Array} userSchema - * @property {string} id the Ethereum address of the user - * @property {string=} name - * @property {string=} email - */ - - /** - * Creates a user, fields id, name and email go to the smart contract Users, other fields are stored on IPFS. - * @param {userSchema} options information about the video ( id, name, email ... ) - * @return {Promise} the id of the newly created user - * @example let userData = { - * id: '0x12456....', - * name: 'Humbert Humbert', - * email: 'humbert@humbert.ru', - * ipfsData: 'some-hash' - * } - * let result = await paratii.eth.users.create(userData) - * }) + * Register the data of this user. + * @param {userSchema} options information about the user ( id, name, email ... ) + * @return {Promise} information about the user ( id, name, email ... ) + * @example await paratii.core.users.create({ + * id: 'some-video-id', + * name: 'some-nickname', + * email: 'some@email.com', + * }) */ (0, _createClass3.default)(ParatiiUsers, [{ key: 'create', value: function create(options) { - var paratii, keysForBlockchain, optionsKeys, optionsBlockchain, optionsIpfs, hash; + var result, paratii, keysForBlockchain, optionsKeys, optionsBlockchain, optionsIpfs, hash; return _regenerator2.default.async(function create$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: - // FIXME: do some joi validation here + result = joi.validate(options, _schemas.userSchema, { allowUnknown: false }); + + if (!result.error) { + _context.next = 3; + break; + } + + throw result.error; + + case 3: paratii = this.config.paratii; keysForBlockchain = ['id', 'name']; optionsKeys = (0, _keys2.default)(options); @@ -89,27 +90,27 @@ var ParatiiUsers = exports.ParatiiUsers = function () { optionsIpfs[key] = options[key]; } }); - _context.next = 8; + _context.next = 11; return _regenerator2.default.awrap(paratii.ipfs.local.addJSON(optionsIpfs)); - case 8: + case 11: hash = _context.sent; optionsBlockchain['ipfsData'] = hash; // FIXME: add error handling if call to db fails. if (!(options.email !== undefined)) { - _context.next = 13; + _context.next = 16; break; } - _context.next = 13; + _context.next = 16; return _regenerator2.default.awrap(paratii.db.users.setEmail(options.id, options.email)); - case 13: + case 16: return _context.abrupt('return', paratii.eth.users.create(optionsBlockchain)); - case 14: + case 17: case 'end': return _context.stop(); } @@ -134,39 +135,49 @@ var ParatiiUsers = exports.ParatiiUsers = function () { }, { key: 'upsert', value: function upsert(options) { - var data, userId; + var result, data, userId; return _regenerator2.default.async(function upsert$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: + result = joi.validate(options, _schemas.userSchema, { allowUnknown: false }); + + if (!result.error) { + _context2.next = 3; + break; + } + + throw result.error; + + case 3: data = null; userId = ''; if (!options.id) { - _context2.next = 7; + _context2.next = 10; break; } userId = options.id; - _context2.next = 6; + _context2.next = 9; return _regenerator2.default.awrap(this.get(userId)); - case 6: + case 9: data = _context2.sent; - case 7: + case 10: if (data) { - _context2.next = 11; + _context2.next = 14; break; } return _context2.abrupt('return', this.create(options)); - case 11: + case 14: delete options.id; return _context2.abrupt('return', this.update(userId, options, data)); - case 13: + case 16: case 'end': return _context2.stop(); } @@ -197,32 +208,15 @@ var ParatiiUsers = exports.ParatiiUsers = function () { }, { key: 'update', value: function update(userId, options) { - var schema, result, error, data, key; + var data, key, result; return _regenerator2.default.async(function update$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: - schema = joi.object({ - name: joi.string().default(null).empty(''), - email: joi.string().default(null).empty('') - }); - result = joi.validate(options, schema); - error = result.error; - - if (!error) { - _context3.next = 5; - break; - } - - throw error; - - case 5: - options = result.value; - - _context3.next = 8; + _context3.next = 2; return _regenerator2.default.awrap(this.get(userId)); - case 8: + case 2: data = _context3.sent; for (key in options) { @@ -233,13 +227,23 @@ var ParatiiUsers = exports.ParatiiUsers = function () { data['id'] = userId; - _context3.next = 13; + result = joi.validate(data, _schemas.userSchema, { allowUnknown: false }); + + if (!result.error) { + _context3.next = 8; + break; + } + + throw result.error; + + case 8: + _context3.next = 10; return _regenerator2.default.awrap(this.create(data)); - case 13: + case 10: return _context3.abrupt('return', data); - case 14: + case 11: case 'end': return _context3.stop(); } @@ -278,6 +282,7 @@ var ParatiiUsers = exports.ParatiiUsers = function () { newUserRecord = originalUserRecord; newUserRecord.id = newAccount; + _context4.next = 13; return _regenerator2.default.awrap(paratii.eth.users.create(newUserRecord)); diff --git a/dist/paratii.eth.users.js b/dist/paratii.eth.users.js index 261d05d..6bb29d5 100644 --- a/dist/paratii.eth.users.js +++ b/dist/paratii.eth.users.js @@ -17,6 +17,8 @@ var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); +var _schemas = require('./schemas.js'); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var joi = require('joi'); @@ -57,65 +59,57 @@ var ParatiiEthUsers = exports.ParatiiEthUsers = function () { }, null, this); } /** - * Creates a user - * @param {Object} options information about the user - * @param {string} options.id valid address - * @param {string} options.name name of the user - * @param {string} options.email email of the user - * @param {string} options.ipfsData ipfs hash - * @return {Promise} the id of the newly created user - * See {@link ParatiiCoreUsers#create} + * Register the data of this user. + * @param {ethUserSchema} options information about the user ( id, name ... ) + * @return {Promise} information about the user ( id, name, ... ) + * @example await paratii.eth.users.create({ + * id: 'some-video-id', + * name: 'some-nickname', + * ipfsData: 'ipfsHash', + * }) */ }, { key: 'create', value: function create(options) { - var schema, msg, result, error, contract; + var msg, result, error, contract; return _regenerator2.default.async(function create$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: - schema = joi.object({ - id: joi.string(), - name: joi.string().allow('').optional().default(''), - email: joi.string().allow('').optional().default(''), - ipfsData: joi.string() - }); - if (this.eth.web3.utils.isAddress(options.id)) { - _context2.next = 4; + _context2.next = 3; break; } msg = 'The "id" argument should be a valid address, not ' + options.id; throw Error(msg); - case 4: - result = joi.validate(options, schema); + case 3: + result = joi.validate(options, _schemas.ethUserSchema); error = result.error; if (!error) { - _context2.next = 8; + _context2.next = 7; break; } throw error; - case 8: + case 7: options = result.value; - - _context2.next = 11; + _context2.next = 10; return _regenerator2.default.awrap(this.getRegistry()); - case 11: + case 10: contract = _context2.sent; - _context2.next = 14; - return _regenerator2.default.awrap(contract.methods.create(options.id, options.name, options.email, options.ipfsData).send()); + _context2.next = 13; + return _regenerator2.default.awrap(contract.methods.create(options.id, options.name, options.ipfsData).send()); - case 14: + case 13: return _context2.abrupt('return', options.id); - case 15: + case 14: case 'end': return _context2.stop(); } @@ -151,8 +145,7 @@ var ParatiiEthUsers = exports.ParatiiEthUsers = function () { result = { id: userId, name: userInfo[0], - email: userInfo[1], - ipfsData: userInfo[2] + ipfsData: userInfo[1] }; return _context3.abrupt('return', result); @@ -175,28 +168,39 @@ var ParatiiEthUsers = exports.ParatiiEthUsers = function () { }, { key: 'update', value: function update(userId, options) { - var data, key; + var result, error, data, key; return _regenerator2.default.async(function update$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: options.id = userId; - _context4.next = 3; + result = joi.validate(options, _schemas.ethUserSchema); + error = result.error; + + if (!error) { + _context4.next = 5; + break; + } + + throw error; + + case 5: + _context4.next = 7; return _regenerator2.default.awrap(this.get(userId)); - case 3: + case 7: data = _context4.sent; for (key in options) { data[key] = options[key]; } - _context4.next = 7; + _context4.next = 11; return _regenerator2.default.awrap(this.create(data)); - case 7: + case 11: return _context4.abrupt('return', data); - case 8: + case 12: case 'end': return _context4.stop(); } diff --git a/dist/paratii.min.js b/dist/paratii.min.js index 6baf12c..a1967c2 100644 --- a/dist/paratii.min.js +++ b/dist/paratii.min.js @@ -18162,7 +18162,7 @@ var _isArray = __webpack_require__(259); var _isArray2 = _interopRequireDefault(_isArray); -var _noop = __webpack_require__(73); +var _noop = __webpack_require__(74); var _noop2 = _interopRequireDefault(_noop); @@ -23179,11 +23179,11 @@ module.exports = typeforce /* WEBPACK VAR INJECTION */(function(Buffer) { const map = __webpack_require__(121) -const extend = __webpack_require__(72) +const extend = __webpack_require__(73) const codec = __webpack_require__(965) const protocols = __webpack_require__(269) const varint = __webpack_require__(24) -const bs58 = __webpack_require__(74) +const bs58 = __webpack_require__(75) const NotImplemented = new Error('Sorry, Not Implemented Yet.') @@ -25332,11 +25332,11 @@ if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef // Load modules const Hoek = __webpack_require__(37); -const Any = __webpack_require__(69); +const Any = __webpack_require__(70); const Cast = __webpack_require__(142); const Errors = __webpack_require__(245); const Lazy = __webpack_require__(728); -const Ref = __webpack_require__(70); +const Ref = __webpack_require__(71); // Declare internals @@ -28318,7 +28318,7 @@ var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;// Underscor */ -const bs58 = __webpack_require__(74) +const bs58 = __webpack_require__(75) const cs = __webpack_require__(451) @@ -28981,7 +28981,7 @@ var inherits = __webpack_require__(1) var MD5 = __webpack_require__(237) var RIPEMD160 = __webpack_require__(169) var sha = __webpack_require__(170) -var Base = __webpack_require__(67) +var Base = __webpack_require__(68) function Hash (hash) { Base.call(this, 'digest') @@ -30930,6 +30930,176 @@ module.exports = $export; /* 67 */ /***/ (function(module, exports, __webpack_require__) { +"use strict"; + + +Object.defineProperty(exports, "__esModule", { + value: true +}); +var joi = __webpack_require__(36); + +/** + * @typedef {Array} ethUserSchema + * @property {string=} id public address of the user + * @property {string=} email email of the user + * @property {string=} ipfsHash ipfsHash for extra data + * @property {string=} name nicename of the user + */ +var ethUserSchema = joi.object({ + id: joi.string().default(null).required(), + name: joi.string().empty('').default(''), + ipfsData: joi.string().empty('').default('') +}).default(); + +/** + * @typedef {Array} userSchema + * @property {string=} id public address of the user + * @property {string=} email email of the user + * @property {string=} ipfsHash ipfsHash for extra data + * @property {string=} name nicename of the user + */ +var userSchema = joi.object({ + id: joi.string().default(null).required(), + email: joi.string().email().default(null).allow(null), + name: joi.string().empty('').default(null).allow(null) +}).default(); + +/** + * @typedef {Array} accountSchema + * @property {string=} address public address of the account + * @property {string=} privateKey private key of the account + * @property {string=} mnemonic mnemonic that generates private key and address + */ +var accountSchema = joi.object({ + address: joi.string().default(null).allow(null), + privateKey: joi.string().default(null).allow(null), + mnemonic: joi.string().default(null).allow(null) +}).default(); + +/** + * @typedef {Array} ethSchema + * @property {string=} provider provider of the parity node + * @property {string=} registryAddress address of the TCR + * @property {boolean=} isTestNet true if it's on test net, false otherwise + * @property {string=} tcrConfigFile path of the config file chosen for the tcr + */ +var ethSchema = joi.object({ + provider: joi.string().default('http://localhost:8545'), + registryAddress: joi.string().default(null).allow(null), + tcrConfigFile: joi.string().default('sol-tcr/conf/config.json') +}).default(); + +/** + * @typedef {Array} ipfsSchema + * @property {number} bitswap.maxMessageSize the maximum msg size allowed for paratii-ipfs-bitswap + * @property {Array=} bootstrap bootstrap nodes that ipfs connects to when it starts + * @property {number=} chunkSize max size allowed per file chunk + * @property {string=} defaultTranscoder the default multiaddress of the main paratii-node + * @property {number=} maxFileSize max size for an original video (default to 300MB) + * @property {string=} remoteIFPFSNode the default multiaddress of the main paratii-node + * @property {string=} repo path to the ipfs repo + * @property {Array=} swarm signaling server for finding ipfs nodes + * @property {string=} transcoderDropUrl url for the express uploader + * @property {number=} xhrChunkSize max chunk size for the express uploader + * @property {Ipfs=} instance a pre-existing IPFS instance. + * @example { + * bitswap.maxMessageSize: 262144 + * chunkSize : 131072 + * defaultTranscoder : "/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW" + * maxFileSize : 314572800 + * remoteIPFSNode : "/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW" + * repo: null + * transcoderDropUrl: "https://uploader.paratii.video/api/v1/transcode" + * xhrChunkSize: 1048576 + * } + */ +var ipfsSchema = joi.object({ + repo: joi.string().default(null).allow(null), + // passed to IPFS constructor as `config.Addresses.Swarm` + swarm: joi.array().ordered(joi.string().default('/dns4/star.paratii.video/tcp/443/wss/p2p-webrtc-star'), joi.string().default('/dns/ws.star.paratii.video/wss/p2p-websocket-star/')), + bootstrap: joi.array().ordered(joi.string().default('/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW')), + chunkSize: joi.number().default(128 * 1024), + xhrChunkSize: joi.number().default(1 * 1024 * 1024), + maxFileSize: joi.number().default(800 * 1024 * 1024), + defaultTranscoder: joi.string().default('/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW'), + remoteIPFSNode: joi.string().default('/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW'), + transcoderDropUrl: joi.string().default('https://uploader.paratii.video/api/v1/transcode'), + instance: joi.any().default(null) +}).default(); + +/** + * @typedef {Array} dbSchema + * @property {string} [provider=https://db.paratii.video/api/v1/] provider of the db + */ +var dbSchema = joi.object({ + provider: joi.string().default('https://db.paratii.video/api/v1/') +}).default(); + +/** + * @todo some description are still not written + * @typedef {Array} videoSchema + * @property {string=} id id of the video + * @property {string=} author author of the video + * @property {string=} ownershipProof ownership proof for the video + * @property {string=} description description of the video + * @property {string=} duration duration of the video + * @property {string=} filename filename of the video + * @property {number} filesize size of the video + * @property {string=} ipfsHashOrig original ipfs multihash of the video + * @property {string=} ipfsHash ipfs multihash of the video + * @property {string} owner owner of the video + * @property {number=} price price of the video + * @property {string=} title title of the video + * @property {Array} thumbnails thumbnails of the video + * @property {Object=} transcodingStatus + * @property {string} transcodingStatus.name + * @property {Object=} transcodingStatus.data + * @property {Object=} uploadStatus + * @property {string} uploadStatus.name + * @property {Object=} uploadStatus.data + */ +var videoSchema = joi.object({ + id: joi.string().default(null), + author: joi.string().empty('').default('').allow(null), + ownershipProof: joi.string().empty('').default('').allow(null), + description: joi.string().empty('').default(''), + duration: joi.string().empty('').default('').allow(null), + filename: joi.string().empty('').default('').allow(null).allow(''), + filesize: [joi.string().allow(''), joi.number()], + free: joi.string().empty('').default(null).allow(null), + ipfsHashOrig: joi.string().empty('').default(''), + ipfsHash: joi.string().empty('').default(''), + owner: joi.string().required(), + price: joi.number().default(0), + // published: joi.any().default(false).allow(null), + title: joi.string().empty('').default(''), + thumbnails: joi.array(), + storageStatus: joi.object({ + name: joi.string().required(), + data: joi.object().allow(null) + }).optional().default({}), + transcodingStatus: joi.object({ + name: joi.string().required(), + data: joi.object().allow(null) + }).allow(null).default({}), + uploadStatus: joi.object({ + name: joi.string().required(), + data: joi.object().allow(null) + }).allow(null).default({}) +}); + +exports.accountSchema = accountSchema; +exports.ethSchema = ethSchema; +exports.ipfsSchema = ipfsSchema; +exports.dbSchema = dbSchema; +exports.videoSchema = videoSchema; +exports.userSchema = userSchema; +exports.ethUserSchema = ethUserSchema; + +/***/ }), +/* 68 */ +/***/ (function(module, exports, __webpack_require__) { + var Buffer = __webpack_require__(3).Buffer var Transform = __webpack_require__(17).Transform var StringDecoder = __webpack_require__(53).StringDecoder @@ -31032,7 +31202,7 @@ module.exports = CipherBase /***/ }), -/* 68 */ +/* 69 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -31292,7 +31462,7 @@ exports.shr64_lo = shr64_lo; /***/ }), -/* 69 */ +/* 70 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -31301,7 +31471,7 @@ exports.shr64_lo = shr64_lo; // Load modules const Hoek = __webpack_require__(37); -const Ref = __webpack_require__(70); +const Ref = __webpack_require__(71); const Errors = __webpack_require__(245); let Alternatives = null; // Delay-loaded to prevent circular dependencies let Cast = null; @@ -32211,7 +32381,7 @@ internals.concatSettings = function (target, source) { /***/ }), -/* 70 */ +/* 71 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -32271,7 +32441,7 @@ exports.push = function (array, ref) { /***/ }), -/* 71 */ +/* 72 */ /***/ (function(module, exports, __webpack_require__) { /* @@ -32565,7 +32735,7 @@ module.exports = { /***/ }), -/* 72 */ +/* 73 */ /***/ (function(module, exports) { module.exports = extend @@ -32590,7 +32760,7 @@ function extend() { /***/ }), -/* 73 */ +/* 74 */ /***/ (function(module, exports) { /** @@ -32613,7 +32783,7 @@ module.exports = noop; /***/ }), -/* 74 */ +/* 75 */ /***/ (function(module, exports, __webpack_require__) { var basex = __webpack_require__(430) @@ -32623,7 +32793,7 @@ module.exports = basex(ALPHABET) /***/ }), -/* 75 */ +/* 76 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -32643,7 +32813,7 @@ elliptic.ec = __webpack_require__(1190); /***/ }), -/* 76 */ +/* 77 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33044,10 +33214,10 @@ module.exports = PublicKey; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(0).Buffer)) /***/ }), -/* 77 */ +/* 78 */ /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__(84); +var isObject = __webpack_require__(85); module.exports = function (it) { if (!isObject(it)) throw TypeError(it + ' is not an object!'); return it; @@ -33055,7 +33225,7 @@ module.exports = function (it) { /***/ }), -/* 78 */ +/* 79 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33101,7 +33271,7 @@ function randomBytes (size, cb) { /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(4), __webpack_require__(2))) /***/ }), -/* 79 */ +/* 80 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -33270,7 +33440,7 @@ var PromiseEventEmitter = exports.PromiseEventEmitter = function (_EventEmitter) }(EventEmitter); /***/ }), -/* 80 */ +/* 81 */ /***/ (function(module, exports, __webpack_require__) { /* Copyright (c) 2012-2014 LevelUP contributors @@ -33298,7 +33468,7 @@ module.exports = { /***/ }), -/* 81 */ +/* 82 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -34712,7 +34882,7 @@ asn1.prettyPrint = function(obj, level, indentation) { /***/ }), -/* 82 */ +/* 83 */ /***/ (function(module, exports, __webpack_require__) { /** @@ -34729,15 +34899,15 @@ forge.md.algorithms = forge.md.algorithms || {}; /***/ }), -/* 83 */ +/* 84 */ /***/ (function(module, exports, __webpack_require__) { -var anObject = __webpack_require__(77); +var anObject = __webpack_require__(78); var IE8_DOM_DEFINE = __webpack_require__(334); var toPrimitive = __webpack_require__(228); var dP = Object.defineProperty; -exports.f = __webpack_require__(85) ? Object.defineProperty : function defineProperty(O, P, Attributes) { +exports.f = __webpack_require__(86) ? Object.defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); @@ -34751,7 +34921,7 @@ exports.f = __webpack_require__(85) ? Object.defineProperty : function definePro /***/ }), -/* 84 */ +/* 85 */ /***/ (function(module, exports) { module.exports = function (it) { @@ -34760,7 +34930,7 @@ module.exports = function (it) { /***/ }), -/* 85 */ +/* 86 */ /***/ (function(module, exports, __webpack_require__) { // Thank's IE8 for his funny defineProperty @@ -34769,148 +34939,6 @@ module.exports = !__webpack_require__(134)(function () { }); -/***/ }), -/* 86 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - - -Object.defineProperty(exports, "__esModule", { - value: true -}); -var joi = __webpack_require__(36); - -/** - * @typedef {Array} accountSchema - * @property {string=} address public address of the account - * @property {string=} privateKey private key of the account - * @property {string=} mnemonic mnemonic that generates private key and address - */ -var accountSchema = joi.object({ - address: joi.string().default(null).allow(null), - privateKey: joi.string().default(null).allow(null), - mnemonic: joi.string().default(null).allow(null) -}).default(); - -/** - * @typedef {Array} ethSchema - * @property {string=} provider provider of the parity node - * @property {string=} registryAddress address of the TCR - * @property {boolean=} isTestNet true if it's on test net, false otherwise - * @property {string=} tcrConfigFile path of the config file chosen for the tcr - */ -var ethSchema = joi.object({ - provider: joi.string().default('http://localhost:8545'), - registryAddress: joi.string().default(null).allow(null), - tcrConfigFile: joi.string().default('sol-tcr/conf/config.json') -}).default(); - -/** - * @typedef {Array} ipfsSchema - * @property {number} bitswap.maxMessageSize the maximum msg size allowed for paratii-ipfs-bitswap - * @property {Array=} bootstrap bootstrap nodes that ipfs connects to when it starts - * @property {number=} chunkSize max size allowed per file chunk - * @property {string=} defaultTranscoder the default multiaddress of the main paratii-node - * @property {number=} maxFileSize max size for an original video (default to 300MB) - * @property {string=} remoteIFPFSNode the default multiaddress of the main paratii-node - * @property {string=} repo path to the ipfs repo - * @property {Array=} swarm signaling server for finding ipfs nodes - * @property {string=} transcoderDropUrl url for the express uploader - * @property {number=} xhrChunkSize max chunk size for the express uploader - * @property {Ipfs=} instance a pre-existing IPFS instance. - * @example { - * bitswap.maxMessageSize: 262144 - * chunkSize : 131072 - * defaultTranscoder : "/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW" - * maxFileSize : 314572800 - * remoteIPFSNode : "/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW" - * repo: null - * transcoderDropUrl: "https://uploader.paratii.video/api/v1/transcode" - * xhrChunkSize: 1048576 - * } - */ -var ipfsSchema = joi.object({ - repo: joi.string().default(null).allow(null), - // passed to IPFS constructor as `config.Addresses.Swarm` - swarm: joi.array().ordered(joi.string().default('/dns4/star.paratii.video/tcp/443/wss/p2p-webrtc-star'), joi.string().default('/dns/ws.star.paratii.video/wss/p2p-websocket-star/')), - bootstrap: joi.array().ordered(joi.string().default('/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW')), - chunkSize: joi.number().default(128 * 1024), - xhrChunkSize: joi.number().default(1 * 1024 * 1024), - maxFileSize: joi.number().default(800 * 1024 * 1024), - defaultTranscoder: joi.string().default('/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW'), - remoteIPFSNode: joi.string().default('/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW'), - transcoderDropUrl: joi.string().default('https://uploader.paratii.video/api/v1/transcode'), - instance: joi.any().default(null) -}).default(); - -/** - * @typedef {Array} dbSchema - * @property {string} [provider=https://db.paratii.video/api/v1/] provider of the db - */ -var dbSchema = joi.object({ - provider: joi.string().default('https://db.paratii.video/api/v1/') -}).default(); - -/** - * @todo some description are still not written - * @typedef {Array} videoSchema - * @property {string=} id id of the video - * @property {string=} author author of the video - * @property {string=} ownershipProof ownership proof for the video - * @property {string=} description description of the video - * @property {string=} duration duration of the video - * @property {string=} filename filename of the video - * @property {number} filesize size of the video - * @property {string=} ipfsHashOrig original ipfs multihash of the video - * @property {string=} ipfsHash ipfs multihash of the video - * @property {string} owner owner of the video - * @property {number=} price price of the video - * @property {string=} title title of the video - * @property {Array} thumbnails thumbnails of the video - * @property {Object=} transcodingStatus - * @property {string} transcodingStatus.name - * @property {Object=} transcodingStatus.data - * @property {Object=} uploadStatus - * @property {string} uploadStatus.name - * @property {Object=} uploadStatus.data - */ -var videoSchema = joi.object({ - id: joi.string().default(null), - author: joi.string().empty('').default('').allow(null), - ownershipProof: joi.string().empty('').default('').allow(null), - description: joi.string().empty('').default(''), - duration: joi.string().empty('').default('').allow(null), - filename: joi.string().empty('').default('').allow(null).allow(''), - filesize: [joi.string().allow(''), joi.number()], - free: joi.string().empty('').default(null).allow(null), - ipfsHashOrig: joi.string().empty('').default(''), - ipfsHash: joi.string().empty('').default(''), - owner: joi.string().required(), - price: joi.number().default(0), - // published: joi.any().default(false).allow(null), - title: joi.string().empty('').default(''), - thumbnails: joi.array(), - storageStatus: joi.object({ - name: joi.string().required(), - data: joi.object().allow(null) - }).optional().default({}), - transcodingStatus: joi.object({ - name: joi.string().required(), - data: joi.object().allow(null) - }).allow(null).default({}), - uploadStatus: joi.object({ - name: joi.string().required(), - data: joi.object().allow(null) - }).allow(null).default({}) -}); - -exports.accountSchema = accountSchema; -exports.ethSchema = ethSchema; -exports.ipfsSchema = ipfsSchema; -exports.dbSchema = dbSchema; -exports.videoSchema = videoSchema; - /***/ }), /* 87 */ /***/ (function(module, exports, __webpack_require__) { @@ -34918,7 +34946,7 @@ exports.videoSchema = videoSchema; "use strict"; -exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = __webpack_require__(78) +exports.randomBytes = exports.rng = exports.pseudoRandomBytes = exports.prng = __webpack_require__(79) exports.createHash = exports.Hash = __webpack_require__(52) exports.createHmac = exports.Hmac = __webpack_require__(171) @@ -35633,9 +35661,9 @@ module.exports = function (it, key) { /* 95 */ /***/ (function(module, exports, __webpack_require__) { -var dP = __webpack_require__(83); +var dP = __webpack_require__(84); var createDesc = __webpack_require__(165); -module.exports = __webpack_require__(85) ? function (object, key, value) { +module.exports = __webpack_require__(86) ? function (object, key, value) { return dP.f(object, key, createDesc(1, value)); } : function (object, key, value) { object[key] = value; @@ -36485,7 +36513,7 @@ module.exports = Method; /* 99 */ /***/ (function(module, exports, __webpack_require__) { -var f = __webpack_require__(71); +var f = __webpack_require__(72); var SolidityParam = __webpack_require__(401); /** @@ -39557,7 +39585,7 @@ var Base58Check = __webpack_require__(152); var Networks = __webpack_require__(105); var Hash = __webpack_require__(45); var JSUtil = __webpack_require__(27); -var PublicKey = __webpack_require__(76); +var PublicKey = __webpack_require__(77); /** * Instantiate an address from an address String or Buffer, a public key or script hash Buffer, @@ -45014,7 +45042,7 @@ module.exports = { var BN = __webpack_require__(33); var BufferUtil = __webpack_require__(20); -var ec = __webpack_require__(75).curves.secp256k1; +var ec = __webpack_require__(76).curves.secp256k1; var ecPoint = ec.curve.point.bind(ec.curve); var ecPointFromX = ec.curve.pointFromX.bind(ec.curve); @@ -46437,7 +46465,7 @@ module.exports = function (it) { var hash = exports; -hash.utils = __webpack_require__(68); +hash.utils = __webpack_require__(69); hash.common = __webpack_require__(139); hash.sha = __webpack_require__(693); hash.ripemd = __webpack_require__(697); @@ -46459,7 +46487,7 @@ hash.ripemd160 = hash.ripemd.ripemd160; "use strict"; -var utils = __webpack_require__(68); +var utils = __webpack_require__(69); var assert = __webpack_require__(54); function BlockHash() { @@ -46588,7 +46616,7 @@ base.Node = __webpack_require__(710); // Load modules const Hoek = __webpack_require__(37); -const Ref = __webpack_require__(70); +const Ref = __webpack_require__(71); // Type modules are delay-loaded to prevent circular dependencies @@ -48314,7 +48342,7 @@ var inherits = __webpack_require__(154); var BufferUtil = __webpack_require__(20); var JSUtil = __webpack_require__(27); -var PublicKey = __webpack_require__(76); +var PublicKey = __webpack_require__(77); var errors = __webpack_require__(62); var Signature = __webpack_require__(63); @@ -48412,7 +48440,7 @@ module.exports = TransactionSignature; module.exports = __webpack_require__(8); __webpack_require__(107); __webpack_require__(1211); -__webpack_require__(81); +__webpack_require__(82); __webpack_require__(305); __webpack_require__(530); __webpack_require__(209); @@ -48453,7 +48481,7 @@ __webpack_require__(11); * Copyright (c) 2010-2012 Digital Bazaar, Inc. All rights reserved. */ var forge = __webpack_require__(8); -__webpack_require__(82); +__webpack_require__(83); __webpack_require__(11); /* HMAC API */ @@ -48603,7 +48631,7 @@ hmac.create = function() { * Copyright (c) 2010-2015 Digital Bazaar, Inc. */ var forge = __webpack_require__(8); -__webpack_require__(82); +__webpack_require__(83); __webpack_require__(11); var sha1 = module.exports = forge.sha1 = forge.sha1 || {}; @@ -49389,7 +49417,7 @@ module.exports = Object.keys || function keys(O) { /* 168 */ /***/ (function(module, exports, __webpack_require__) { -var def = __webpack_require__(83).f; +var def = __webpack_require__(84).f; var has = __webpack_require__(94); var TAG = __webpack_require__(51)('toStringTag'); @@ -49597,7 +49625,7 @@ exports.sha512 = __webpack_require__(356) var inherits = __webpack_require__(1) var Legacy = __webpack_require__(659) -var Base = __webpack_require__(67) +var Base = __webpack_require__(68) var Buffer = __webpack_require__(3).Buffer var md5 = __webpack_require__(239) var RIPEMD160 = __webpack_require__(169) @@ -49992,7 +50020,7 @@ curve.edwards = __webpack_require__(691); "use strict"; -var utils = __webpack_require__(68); +var utils = __webpack_require__(69); var common = __webpack_require__(139); var shaCommon = __webpack_require__(369); var assert = __webpack_require__(54); @@ -51801,7 +51829,7 @@ module.exports.create = module.exports.custom.createError */ var extend = __webpack_require__(184) - , LevelUPError = __webpack_require__(80).LevelUPError + , LevelUPError = __webpack_require__(81).LevelUPError , encodingNames = [ 'hex' @@ -52719,7 +52747,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = whilst; -var _noop = __webpack_require__(73); +var _noop = __webpack_require__(74); var _noop2 = _interopRequireDefault(_noop); @@ -52994,7 +53022,7 @@ module.exports = LevelDatastore var AbstractLevelDOWN = __webpack_require__(470).AbstractLevelDOWN var util = __webpack_require__(30) var Iterator = __webpack_require__(1088) -var xtend = __webpack_require__(72) +var xtend = __webpack_require__(73) function Level(location) { if (!(this instanceof Level)) return new Level(location) @@ -58177,7 +58205,7 @@ var BN = __webpack_require__(33); var JSUtil = __webpack_require__(27); var Networks = __webpack_require__(105); var Point = __webpack_require__(126); -var PublicKey = __webpack_require__(76); +var PublicKey = __webpack_require__(77); var Random = __webpack_require__(207); var $ = __webpack_require__(14); @@ -59611,7 +59639,7 @@ function _createCipher(options) { * The OID for the RSA key algorithm is: 1.2.840.113549.1.1.1 */ var forge = __webpack_require__(8); -__webpack_require__(81); +__webpack_require__(82); __webpack_require__(211); __webpack_require__(108); __webpack_require__(525); @@ -64053,7 +64081,7 @@ module.exports = function (key) { /* 227 */ /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__(84); +var isObject = __webpack_require__(85); var document = __webpack_require__(50).document; // typeof document.createElement is 'object' in old IE var is = isObject(document) && isObject(document.createElement); @@ -64067,7 +64095,7 @@ module.exports = function (it) { /***/ (function(module, exports, __webpack_require__) { // 7.1.1 ToPrimitive(input [, PreferredType]) -var isObject = __webpack_require__(84); +var isObject = __webpack_require__(85); // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string module.exports = function (it, S) { @@ -64097,7 +64125,7 @@ module.exports = function (it) { /***/ (function(module, exports, __webpack_require__) { // 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) -var anObject = __webpack_require__(77); +var anObject = __webpack_require__(78); var dPs = __webpack_require__(617); var enumBugKeys = __webpack_require__(231); var IE_PROTO = __webpack_require__(225)('IE_PROTO'); @@ -64164,7 +64192,7 @@ var global = __webpack_require__(50); var core = __webpack_require__(35); var LIBRARY = __webpack_require__(166); var wksExt = __webpack_require__(232); -var defineProperty = __webpack_require__(83).f; +var defineProperty = __webpack_require__(84).f; module.exports = function (name) { var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); @@ -65167,7 +65195,7 @@ if (typeof self === 'object') { /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var bn = __webpack_require__(18); -var randomBytes = __webpack_require__(78); +var randomBytes = __webpack_require__(79); module.exports = crt; function blind(priv) { var r = getr(priv); @@ -66080,7 +66108,7 @@ var _doLimit = __webpack_require__(261); var _doLimit2 = _interopRequireDefault(_doLimit); -var _noop = __webpack_require__(73); +var _noop = __webpack_require__(74); var _noop2 = _interopRequireDefault(_noop); @@ -69898,7 +69926,7 @@ module.exports = Transaction var baddress = __webpack_require__(291) var bcrypto = __webpack_require__(125) var ecdsa = __webpack_require__(1152) -var randomBytes = __webpack_require__(78) +var randomBytes = __webpack_require__(79) var typeforce = __webpack_require__(21) var types = __webpack_require__(32) var wif = __webpack_require__(1157) @@ -72571,7 +72599,7 @@ BlockCipher.prototype.finish = function(pad) { * Copyright (c) 2010-2014 Digital Bazaar, Inc. */ var forge = __webpack_require__(8); -__webpack_require__(82); +__webpack_require__(83); __webpack_require__(11); var md5 = module.exports = forge.md5 = forge.md5 || {}; @@ -72869,7 +72897,7 @@ function _update(s, w, bytes) { */ var forge = __webpack_require__(8); __webpack_require__(157); -__webpack_require__(82); +__webpack_require__(83); __webpack_require__(11); var pkcs5 = forge.pkcs5 = forge.pkcs5 || {}; @@ -73187,9 +73215,9 @@ module.exports = forge.pbkdf2 = pkcs5.pbkdf2 = function( */ var forge = __webpack_require__(8); __webpack_require__(107); -__webpack_require__(81); -__webpack_require__(209); __webpack_require__(82); +__webpack_require__(209); +__webpack_require__(83); __webpack_require__(1212); __webpack_require__(108); __webpack_require__(127); @@ -78944,7 +78972,7 @@ module.exports = function (KEY, exec) { /* 334 */ /***/ (function(module, exports, __webpack_require__) { -module.exports = !__webpack_require__(85) && !__webpack_require__(134)(function () { +module.exports = !__webpack_require__(86) && !__webpack_require__(134)(function () { return Object.defineProperty(__webpack_require__(227)('div'), 'a', { get: function () { return 7; } }).a != 7; }); @@ -79183,7 +79211,7 @@ var has = __webpack_require__(94); var IE8_DOM_DEFINE = __webpack_require__(334); var gOPD = Object.getOwnPropertyDescriptor; -exports.f = __webpack_require__(85) ? gOPD : function getOwnPropertyDescriptor(O, P) { +exports.f = __webpack_require__(86) ? gOPD : function getOwnPropertyDescriptor(O, P) { O = toIObject(O); P = toPrimitive(P, true); if (IE8_DOM_DEFINE) try { @@ -81632,7 +81660,7 @@ module.exports = {"aes-128-ecb":{"cipher":"AES","key":128,"iv":0,"mode":"ECB","t var aes = __webpack_require__(175) var Buffer = __webpack_require__(3).Buffer -var Transform = __webpack_require__(67) +var Transform = __webpack_require__(68) var inherits = __webpack_require__(1) var GHASH = __webpack_require__(670) var xor = __webpack_require__(137) @@ -81755,7 +81783,7 @@ module.exports = StreamCipher var aes = __webpack_require__(175) var Buffer = __webpack_require__(3).Buffer -var Transform = __webpack_require__(67) +var Transform = __webpack_require__(68) var inherits = __webpack_require__(1) function StreamCipher (mode, key, iv, decrypt) { @@ -81786,7 +81814,7 @@ module.exports = StreamCipher /* 366 */ /***/ (function(module, exports, __webpack_require__) { -var randomBytes = __webpack_require__(78); +var randomBytes = __webpack_require__(79); module.exports = findPrime; findPrime.simpleSieve = simpleSieve; findPrime.fermatTest = fermatTest; @@ -82086,7 +82114,7 @@ utils.encode = function encode(arr, enc) { "use strict"; -var utils = __webpack_require__(68); +var utils = __webpack_require__(69); var rotr32 = utils.rotr32; function ft_1(s, x, y, z) { @@ -82142,7 +82170,7 @@ exports.g1_256 = g1_256; "use strict"; -var utils = __webpack_require__(68); +var utils = __webpack_require__(69); var common = __webpack_require__(139); var assert = __webpack_require__(54); @@ -83458,7 +83486,7 @@ module.exports = withPublic; "use strict"; /* WEBPACK VAR INJECTION */(function(Buffer) { -const Ref = __webpack_require__(70); +const Ref = __webpack_require__(71); module.exports = class Set { @@ -83580,9 +83608,9 @@ module.exports = class Set { // Load modules const Hoek = __webpack_require__(37); -const Any = __webpack_require__(69); +const Any = __webpack_require__(70); const Cast = __webpack_require__(142); -const Ref = __webpack_require__(70); +const Ref = __webpack_require__(71); // Declare internals @@ -83774,8 +83802,8 @@ module.exports = new internals.Alternatives(); // Load modules -const Any = __webpack_require__(69); -const Ref = __webpack_require__(70); +const Any = __webpack_require__(70); +const Ref = __webpack_require__(71); const Hoek = __webpack_require__(37); @@ -83958,7 +83986,7 @@ module.exports = new internals.Date(); const Hoek = __webpack_require__(37); const Topo = __webpack_require__(733); -const Any = __webpack_require__(69); +const Any = __webpack_require__(70); const Errors = __webpack_require__(245); const Cast = __webpack_require__(142); @@ -91120,7 +91148,7 @@ module.exports = Personal; var _ = __webpack_require__(39); var utils = __webpack_require__(56); -var f = __webpack_require__(71); +var f = __webpack_require__(72); var SolidityTypeAddress = __webpack_require__(810); var SolidityTypeBool = __webpack_require__(811); @@ -91530,7 +91558,7 @@ module.exports = coder; * @date 2015 */ -var formatters = __webpack_require__(71); +var formatters = __webpack_require__(72); /** * SolidityParam object prototype. @@ -92499,7 +92527,7 @@ module.exports = function (it) { /***/ (function(module, exports, __webpack_require__) { // 7.3.20 SpeciesConstructor(O, defaultConstructor) -var anObject = __webpack_require__(77); +var anObject = __webpack_require__(78); var aFunction = __webpack_require__(164); var SPECIES = __webpack_require__(51)('species'); module.exports = function (O, D) { @@ -92526,8 +92554,8 @@ module.exports = function (exec) { /* 411 */ /***/ (function(module, exports, __webpack_require__) { -var anObject = __webpack_require__(77); -var isObject = __webpack_require__(84); +var anObject = __webpack_require__(78); +var isObject = __webpack_require__(85); var newPromiseCapability = __webpack_require__(253); module.exports = function (C, x) { @@ -92715,7 +92743,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _eachOfLimit; -var _noop = __webpack_require__(73); +var _noop = __webpack_require__(74); var _noop2 = _interopRequireDefault(_noop); @@ -92837,7 +92865,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _parallel; -var _noop = __webpack_require__(73); +var _noop = __webpack_require__(74); var _noop2 = _interopRequireDefault(_noop); @@ -109034,7 +109062,7 @@ exports.isLevelDOWN = __webpack_require__(1075) /* WEBPACK VAR INJECTION */(function(process, Buffer) {/* Copyright (c) 2017 Rod Vagg, MIT License */ -var xtend = __webpack_require__(72) +var xtend = __webpack_require__(73) , AbstractIterator = __webpack_require__(464) , AbstractChainedBatch = __webpack_require__(465) @@ -111170,7 +111198,7 @@ exports.isLevelDOWN = __webpack_require__(1087) /* WEBPACK VAR INJECTION */(function(process, Buffer) {/* Copyright (c) 2013 Rod Vagg, MIT License */ -var xtend = __webpack_require__(72) +var xtend = __webpack_require__(73) , AbstractIterator = __webpack_require__(472) , AbstractChainedBatch = __webpack_require__(473) @@ -119016,7 +119044,7 @@ Mont.prototype.invm = function invm(a) { var BN = __webpack_require__(33); var Point = __webpack_require__(126); var Signature = __webpack_require__(63); -var PublicKey = __webpack_require__(76); +var PublicKey = __webpack_require__(77); var Random = __webpack_require__(207); var Hash = __webpack_require__(45); var BufferUtil = __webpack_require__(20); @@ -119408,7 +119436,7 @@ var BufferReader = __webpack_require__(90); var BufferWriter = __webpack_require__(59); var Hash = __webpack_require__(45); var Opcode = __webpack_require__(297); -var PublicKey = __webpack_require__(76); +var PublicKey = __webpack_require__(77); var Signature = __webpack_require__(63); var Networks = __webpack_require__(105); var $ = __webpack_require__(14); @@ -121478,7 +121506,7 @@ var HDPrivateKey = __webpack_require__(514); var HDKeyCache = __webpack_require__(301); var Network = __webpack_require__(105); var Point = __webpack_require__(126); -var PublicKey = __webpack_require__(76); +var PublicKey = __webpack_require__(77); var bitcoreErrors = __webpack_require__(62); var errors = bitcoreErrors; @@ -123209,7 +123237,7 @@ function from64To32(num) { * timing signal. */ var forge = __webpack_require__(8); -__webpack_require__(81); +__webpack_require__(82); __webpack_require__(157); __webpack_require__(306); __webpack_require__(127); @@ -127260,7 +127288,7 @@ forge.tls.createConnection = tls.createConnection; * Copyright (c) 2010-2013 Digital Bazaar, Inc. */ var forge = __webpack_require__(8); -__webpack_require__(81); +__webpack_require__(82); __webpack_require__(108); __webpack_require__(520); __webpack_require__(127); @@ -127380,9 +127408,9 @@ pki.privateKeyInfoToPem = function(pki, maxline) { */ var forge = __webpack_require__(8); __webpack_require__(107); -__webpack_require__(81); -__webpack_require__(209); __webpack_require__(82); +__webpack_require__(209); +__webpack_require__(83); __webpack_require__(108); __webpack_require__(307); __webpack_require__(127); @@ -128404,7 +128432,7 @@ function createPbkdf2Params(salt, countBytes, dkLen, prfAlgorithm) { * Copyright (c) 2010-2015 Digital Bazaar, Inc. */ var forge = __webpack_require__(8); -__webpack_require__(82); +__webpack_require__(83); __webpack_require__(11); var sha256 = module.exports = forge.sha256 = forge.sha256 || {}; @@ -130251,7 +130279,7 @@ function getMillerRabinTests(bits) { * } */ var forge = __webpack_require__(8); -__webpack_require__(81); +__webpack_require__(82); __webpack_require__(157); __webpack_require__(108); __webpack_require__(528); @@ -131345,7 +131373,7 @@ p12.generateKey = forge.pbe.generatePkcs12Key; * EncryptedKey ::= OCTET STRING */ var forge = __webpack_require__(8); -__webpack_require__(81); +__webpack_require__(82); __webpack_require__(11); // shortcut for ASN.1 API @@ -131810,7 +131838,7 @@ forge.debug.clear = function(cat, name) { * Copyright (c) 2014-2015 Digital Bazaar, Inc. */ var forge = __webpack_require__(8); -__webpack_require__(82); +__webpack_require__(83); __webpack_require__(11); var sha512 = module.exports = forge.sha512 = forge.sha512 || {}; @@ -134058,7 +134086,7 @@ module.exports = { "use strict"; /* WEBPACK VAR INJECTION */(function(Buffer) { -const bs58 = __webpack_require__(74) +const bs58 = __webpack_require__(75) const PeerId = __webpack_require__(29) const PeerInfo = __webpack_require__(55) @@ -134182,11 +134210,11 @@ module.exports = PeerBook /* WEBPACK VAR INJECTION */(function(Buffer) { const map = __webpack_require__(121) -const extend = __webpack_require__(72) +const extend = __webpack_require__(73) const codec = __webpack_require__(1252) const protocols = __webpack_require__(313) const varint = __webpack_require__(24) -const bs58 = __webpack_require__(74) +const bs58 = __webpack_require__(75) const withIs = __webpack_require__(1261) const NotImplemented = new Error('Sorry, Not Implemented Yet.') @@ -143441,7 +143469,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _createTester; -var _noop = __webpack_require__(73); +var _noop = __webpack_require__(74); var _noop2 = _interopRequireDefault(_noop); @@ -146186,14 +146214,14 @@ var _paratiiEth = __webpack_require__(747); var _paratiiIpfs = __webpack_require__(879); -var _schemas = __webpack_require__(86); +var _schemas = __webpack_require__(67); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var joi = __webpack_require__(36); // import { ParatiiTranscoder } from './paratii.transcoder.js' -var utils = __webpack_require__(79); +var utils = __webpack_require__(80); /** * Paratii library main object @@ -147224,7 +147252,7 @@ module.exports = function defineProperty(it, key, desc) { var $export = __webpack_require__(66); // 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) -$export($export.S + $export.F * !__webpack_require__(85), 'Object', { defineProperty: __webpack_require__(83).f }); +$export($export.S + $export.F * !__webpack_require__(86), 'Object', { defineProperty: __webpack_require__(84).f }); /***/ }), @@ -147289,11 +147317,11 @@ module.exports = function (Constructor, NAME, next) { /* 617 */ /***/ (function(module, exports, __webpack_require__) { -var dP = __webpack_require__(83); -var anObject = __webpack_require__(77); +var dP = __webpack_require__(84); +var anObject = __webpack_require__(78); var getKeys = __webpack_require__(167); -module.exports = __webpack_require__(85) ? Object.defineProperties : function defineProperties(O, Properties) { +module.exports = __webpack_require__(86) ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var keys = getKeys(Properties); var length = keys.length; @@ -147441,7 +147469,7 @@ module.exports = __webpack_require__(35).Symbol; // ECMAScript 6 symbols shim var global = __webpack_require__(50); var has = __webpack_require__(94); -var DESCRIPTORS = __webpack_require__(85); +var DESCRIPTORS = __webpack_require__(86); var $export = __webpack_require__(66); var redefine = __webpack_require__(338); var META = __webpack_require__(627).KEY; @@ -147454,15 +147482,15 @@ var wksExt = __webpack_require__(232); var wksDefine = __webpack_require__(233); var enumKeys = __webpack_require__(628); var isArray = __webpack_require__(629); -var anObject = __webpack_require__(77); -var isObject = __webpack_require__(84); +var anObject = __webpack_require__(78); +var isObject = __webpack_require__(85); var toIObject = __webpack_require__(114); var toPrimitive = __webpack_require__(228); var createDesc = __webpack_require__(165); var _create = __webpack_require__(230); var gOPNExt = __webpack_require__(630); var $GOPD = __webpack_require__(345); -var $DP = __webpack_require__(83); +var $DP = __webpack_require__(84); var $keys = __webpack_require__(167); var gOPD = $GOPD.f; var dP = $DP.f; @@ -147678,9 +147706,9 @@ setToStringTag(global.JSON, 'JSON', true); /***/ (function(module, exports, __webpack_require__) { var META = __webpack_require__(163)('meta'); -var isObject = __webpack_require__(84); +var isObject = __webpack_require__(85); var has = __webpack_require__(94); -var setDesc = __webpack_require__(83).f; +var setDesc = __webpack_require__(84).f; var id = 0; var isExtensible = Object.isExtensible || function () { return true; @@ -147832,8 +147860,8 @@ $export($export.S, 'Object', { setPrototypeOf: __webpack_require__(636).set }); // Works with __proto__ only. Old v8 can't work with null proto objects. /* eslint-disable no-proto */ -var isObject = __webpack_require__(84); -var anObject = __webpack_require__(77); +var isObject = __webpack_require__(85); +var anObject = __webpack_require__(78); var check = function (O, proto) { anObject(O); if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); @@ -147903,7 +147931,7 @@ var _paratiiCoreVids = __webpack_require__(641); var _paratiiCoreUsers = __webpack_require__(741); -var _schemas = __webpack_require__(86); +var _schemas = __webpack_require__(67); var _joi = __webpack_require__(36); @@ -147977,9 +148005,9 @@ var _createClass2 = __webpack_require__(28); var _createClass3 = _interopRequireDefault(_createClass2); -var _schemas = __webpack_require__(86); +var _schemas = __webpack_require__(67); -var _utils = __webpack_require__(79); +var _utils = __webpack_require__(80); var _joi = __webpack_require__(36); @@ -149091,7 +149119,7 @@ module.exports = Sha384 var inherits = __webpack_require__(1) var Buffer = __webpack_require__(3).Buffer -var Base = __webpack_require__(67) +var Base = __webpack_require__(68) var ZEROS = Buffer.alloc(128) var blocksize = 64 @@ -149336,7 +149364,7 @@ var MODES = __webpack_require__(240) var AuthCipher = __webpack_require__(364) var Buffer = __webpack_require__(3).Buffer var StreamCipher = __webpack_require__(365) -var Transform = __webpack_require__(67) +var Transform = __webpack_require__(68) var aes = __webpack_require__(175) var ebtk = __webpack_require__(173) var inherits = __webpack_require__(1) @@ -149728,7 +149756,7 @@ var AuthCipher = __webpack_require__(364) var Buffer = __webpack_require__(3).Buffer var MODES = __webpack_require__(240) var StreamCipher = __webpack_require__(365) -var Transform = __webpack_require__(67) +var Transform = __webpack_require__(68) var aes = __webpack_require__(175) var ebtk = __webpack_require__(173) var inherits = __webpack_require__(1) @@ -149854,7 +149882,7 @@ exports.createDecipheriv = createDecipheriv /* 672 */ /***/ (function(module, exports, __webpack_require__) { -/* WEBPACK VAR INJECTION */(function(Buffer) {var CipherBase = __webpack_require__(67) +/* WEBPACK VAR INJECTION */(function(Buffer) {var CipherBase = __webpack_require__(68) var des = __webpack_require__(241) var inherits = __webpack_require__(1) @@ -150705,7 +150733,7 @@ var TEN = new BN(10); var THREE = new BN(3); var SEVEN = new BN(7); var primes = __webpack_require__(366); -var randomBytes = __webpack_require__(78); +var randomBytes = __webpack_require__(79); module.exports = DH; function setPublicKey(pub, enc) { @@ -153433,7 +153461,7 @@ exports.sha512 = __webpack_require__(370); "use strict"; -var utils = __webpack_require__(68); +var utils = __webpack_require__(69); var common = __webpack_require__(139); var shaCommon = __webpack_require__(369); @@ -153514,7 +153542,7 @@ SHA1.prototype._digest = function digest(enc) { "use strict"; -var utils = __webpack_require__(68); +var utils = __webpack_require__(69); var SHA256 = __webpack_require__(177); function SHA224() { @@ -153551,7 +153579,7 @@ SHA224.prototype._digest = function digest(enc) { "use strict"; -var utils = __webpack_require__(68); +var utils = __webpack_require__(69); var SHA512 = __webpack_require__(370); @@ -153593,7 +153621,7 @@ SHA384.prototype._digest = function digest(enc) { "use strict"; -var utils = __webpack_require__(68); +var utils = __webpack_require__(69); var common = __webpack_require__(139); var rotl32 = utils.rotl32; @@ -153746,7 +153774,7 @@ var sh = [ "use strict"; -var utils = __webpack_require__(68); +var utils = __webpack_require__(69); var assert = __webpack_require__(54); function Hmac(hash, key, enc) { @@ -157005,7 +157033,7 @@ exports.publicDecrypt = function publicDecrypt(key, buf) { /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(Buffer) {var parseKeys = __webpack_require__(178); -var randomBytes = __webpack_require__(78); +var randomBytes = __webpack_require__(79); var createHash = __webpack_require__(52); var mgf = __webpack_require__(377); var xor = __webpack_require__(378); @@ -157226,7 +157254,7 @@ function oldBrowser () { throw new Error('secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11') } var safeBuffer = __webpack_require__(3) -var randombytes = __webpack_require__(78) +var randombytes = __webpack_require__(79) var Buffer = safeBuffer.Buffer var kBufferMaxLength = safeBuffer.kMaxLength var crypto = global.crypto || global.msCrypto @@ -157711,7 +157739,7 @@ exports.options = Joi.object({ // Load modules -const Any = __webpack_require__(69); +const Any = __webpack_require__(70); const Hoek = __webpack_require__(37); @@ -157771,9 +157799,9 @@ module.exports = new internals.Lazy(); // Load modules -const Any = __webpack_require__(69); +const Any = __webpack_require__(70); const Cast = __webpack_require__(142); -const Ref = __webpack_require__(70); +const Ref = __webpack_require__(71); const Hoek = __webpack_require__(37); @@ -158440,7 +158468,7 @@ module.exports = new internals.Array(); // Load modules -const Any = __webpack_require__(69); +const Any = __webpack_require__(70); const Hoek = __webpack_require__(37); @@ -158545,7 +158573,7 @@ module.exports = new internals.Boolean(); // Load modules -const Any = __webpack_require__(69); +const Any = __webpack_require__(70); const Hoek = __webpack_require__(37); @@ -158655,7 +158683,7 @@ module.exports = new internals.Binary(); const Hoek = __webpack_require__(37); const ObjectType = __webpack_require__(383); -const Ref = __webpack_require__(70); +const Ref = __webpack_require__(71); // Declare internals @@ -158985,8 +159013,8 @@ internals.Topo.prototype._sort = function () { // Load modules -const Any = __webpack_require__(69); -const Ref = __webpack_require__(70); +const Any = __webpack_require__(70); +const Ref = __webpack_require__(71); const Hoek = __webpack_require__(37); @@ -159168,8 +159196,8 @@ module.exports = new internals.Number(); const Net = __webpack_require__(736); const Hoek = __webpack_require__(37); let Isemail; // Loaded on demand -const Any = __webpack_require__(69); -const Ref = __webpack_require__(70); +const Any = __webpack_require__(70); +const Ref = __webpack_require__(71); const JoiDate = __webpack_require__(382); const Uri = __webpack_require__(737); const Ip = __webpack_require__(738); @@ -161302,6 +161330,8 @@ var _createClass2 = __webpack_require__(28); var _createClass3 = _interopRequireDefault(_createClass2); +var _schemas = __webpack_require__(67); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var joi = __webpack_require__(36); @@ -161327,36 +161357,35 @@ var ParatiiUsers = exports.ParatiiUsers = function () { this.config = config; } /** - * @typedef {Array} userSchema - * @property {string} id the Ethereum address of the user - * @property {string=} name - * @property {string=} email - */ - - /** - * Creates a user, fields id, name and email go to the smart contract Users, other fields are stored on IPFS. - * @param {userSchema} options information about the video ( id, name, email ... ) - * @return {Promise} the id of the newly created user - * @example let userData = { - * id: '0x12456....', - * name: 'Humbert Humbert', - * email: 'humbert@humbert.ru', - * ipfsData: 'some-hash' - * } - * let result = await paratii.eth.users.create(userData) - * }) + * Register the data of this user. + * @param {userSchema} options information about the user ( id, name, email ... ) + * @return {Promise} information about the user ( id, name, email ... ) + * @example await paratii.core.users.create({ + * id: 'some-video-id', + * name: 'some-nickname', + * email: 'some@email.com', + * }) */ (0, _createClass3.default)(ParatiiUsers, [{ key: 'create', value: function create(options) { - var paratii, keysForBlockchain, optionsKeys, optionsBlockchain, optionsIpfs, hash; + var result, paratii, keysForBlockchain, optionsKeys, optionsBlockchain, optionsIpfs, hash; return _regenerator2.default.async(function create$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: - // FIXME: do some joi validation here + result = joi.validate(options, _schemas.userSchema, { allowUnknown: false }); + + if (!result.error) { + _context.next = 3; + break; + } + + throw result.error; + + case 3: paratii = this.config.paratii; keysForBlockchain = ['id', 'name']; optionsKeys = (0, _keys2.default)(options); @@ -161370,27 +161399,27 @@ var ParatiiUsers = exports.ParatiiUsers = function () { optionsIpfs[key] = options[key]; } }); - _context.next = 8; + _context.next = 11; return _regenerator2.default.awrap(paratii.ipfs.local.addJSON(optionsIpfs)); - case 8: + case 11: hash = _context.sent; optionsBlockchain['ipfsData'] = hash; // FIXME: add error handling if call to db fails. if (!(options.email !== undefined)) { - _context.next = 13; + _context.next = 16; break; } - _context.next = 13; + _context.next = 16; return _regenerator2.default.awrap(paratii.db.users.setEmail(options.id, options.email)); - case 13: + case 16: return _context.abrupt('return', paratii.eth.users.create(optionsBlockchain)); - case 14: + case 17: case 'end': return _context.stop(); } @@ -161415,39 +161444,49 @@ var ParatiiUsers = exports.ParatiiUsers = function () { }, { key: 'upsert', value: function upsert(options) { - var data, userId; + var result, data, userId; return _regenerator2.default.async(function upsert$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: + result = joi.validate(options, _schemas.userSchema, { allowUnknown: false }); + + if (!result.error) { + _context2.next = 3; + break; + } + + throw result.error; + + case 3: data = null; userId = ''; if (!options.id) { - _context2.next = 7; + _context2.next = 10; break; } userId = options.id; - _context2.next = 6; + _context2.next = 9; return _regenerator2.default.awrap(this.get(userId)); - case 6: + case 9: data = _context2.sent; - case 7: + case 10: if (data) { - _context2.next = 11; + _context2.next = 14; break; } return _context2.abrupt('return', this.create(options)); - case 11: + case 14: delete options.id; return _context2.abrupt('return', this.update(userId, options, data)); - case 13: + case 16: case 'end': return _context2.stop(); } @@ -161478,32 +161517,15 @@ var ParatiiUsers = exports.ParatiiUsers = function () { }, { key: 'update', value: function update(userId, options) { - var schema, result, error, data, key; + var data, key, result; return _regenerator2.default.async(function update$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: - schema = joi.object({ - name: joi.string().default(null).empty(''), - email: joi.string().default(null).empty('') - }); - result = joi.validate(options, schema); - error = result.error; - - if (!error) { - _context3.next = 5; - break; - } - - throw error; - - case 5: - options = result.value; - - _context3.next = 8; + _context3.next = 2; return _regenerator2.default.awrap(this.get(userId)); - case 8: + case 2: data = _context3.sent; for (key in options) { @@ -161514,13 +161536,23 @@ var ParatiiUsers = exports.ParatiiUsers = function () { data['id'] = userId; - _context3.next = 13; + result = joi.validate(data, _schemas.userSchema, { allowUnknown: false }); + + if (!result.error) { + _context3.next = 8; + break; + } + + throw result.error; + + case 8: + _context3.next = 10; return _regenerator2.default.awrap(this.create(data)); - case 13: + case 10: return _context3.abrupt('return', data); - case 14: + case 11: case 'end': return _context3.stop(); } @@ -161559,6 +161591,7 @@ var ParatiiUsers = exports.ParatiiUsers = function () { newUserRecord = originalUserRecord; newUserRecord.id = newAccount; + _context4.next = 13; return _regenerator2.default.awrap(paratii.eth.users.create(newUserRecord)); @@ -161641,7 +161674,7 @@ var _paratiiDbVids = __webpack_require__(743); var _paratiiDbUsers = __webpack_require__(745); -var _schemas = __webpack_require__(86); +var _schemas = __webpack_require__(67); var _joi = __webpack_require__(36); @@ -162506,7 +162539,7 @@ var _createClass2 = __webpack_require__(28); var _createClass3 = _interopRequireDefault(_createClass2); -var _utils = __webpack_require__(79); +var _utils = __webpack_require__(80); var _paratiiEthVids = __webpack_require__(748); @@ -162524,7 +162557,7 @@ var _paratiiEthTcrPlaceholder = __webpack_require__(764); var _paratiiEthWallet = __webpack_require__(765); -var _schemas = __webpack_require__(86); +var _schemas = __webpack_require__(67); var _joi = __webpack_require__(36); @@ -163890,7 +163923,7 @@ var _createClass2 = __webpack_require__(28); var _createClass3 = _interopRequireDefault(_createClass2); -var _utils = __webpack_require__(79); +var _utils = __webpack_require__(80); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -164599,6 +164632,8 @@ var _createClass2 = __webpack_require__(28); var _createClass3 = _interopRequireDefault(_createClass2); +var _schemas = __webpack_require__(67); + function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var joi = __webpack_require__(36); @@ -164639,65 +164674,57 @@ var ParatiiEthUsers = exports.ParatiiEthUsers = function () { }, null, this); } /** - * Creates a user - * @param {Object} options information about the user - * @param {string} options.id valid address - * @param {string} options.name name of the user - * @param {string} options.email email of the user - * @param {string} options.ipfsData ipfs hash - * @return {Promise} the id of the newly created user - * See {@link ParatiiCoreUsers#create} + * Register the data of this user. + * @param {ethUserSchema} options information about the user ( id, name ... ) + * @return {Promise} information about the user ( id, name, ... ) + * @example await paratii.eth.users.create({ + * id: 'some-video-id', + * name: 'some-nickname', + * ipfsData: 'ipfsHash', + * }) */ }, { key: 'create', value: function create(options) { - var schema, msg, result, error, contract; + var msg, result, error, contract; return _regenerator2.default.async(function create$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: - schema = joi.object({ - id: joi.string(), - name: joi.string().allow('').optional().default(''), - email: joi.string().allow('').optional().default(''), - ipfsData: joi.string() - }); - if (this.eth.web3.utils.isAddress(options.id)) { - _context2.next = 4; + _context2.next = 3; break; } msg = 'The "id" argument should be a valid address, not ' + options.id; throw Error(msg); - case 4: - result = joi.validate(options, schema); + case 3: + result = joi.validate(options, _schemas.ethUserSchema); error = result.error; if (!error) { - _context2.next = 8; + _context2.next = 7; break; } throw error; - case 8: + case 7: options = result.value; - - _context2.next = 11; + _context2.next = 10; return _regenerator2.default.awrap(this.getRegistry()); - case 11: + case 10: contract = _context2.sent; - _context2.next = 14; - return _regenerator2.default.awrap(contract.methods.create(options.id, options.name, options.email, options.ipfsData).send()); + _context2.next = 13; + return _regenerator2.default.awrap(contract.methods.create(options.id, options.name, options.ipfsData).send()); - case 14: + case 13: return _context2.abrupt('return', options.id); - case 15: + case 14: case 'end': return _context2.stop(); } @@ -164733,8 +164760,7 @@ var ParatiiEthUsers = exports.ParatiiEthUsers = function () { result = { id: userId, name: userInfo[0], - email: userInfo[1], - ipfsData: userInfo[2] + ipfsData: userInfo[1] }; return _context3.abrupt('return', result); @@ -164757,28 +164783,39 @@ var ParatiiEthUsers = exports.ParatiiEthUsers = function () { }, { key: 'update', value: function update(userId, options) { - var data, key; + var result, error, data, key; return _regenerator2.default.async(function update$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: options.id = userId; - _context4.next = 3; + result = joi.validate(options, _schemas.ethUserSchema); + error = result.error; + + if (!error) { + _context4.next = 5; + break; + } + + throw error; + + case 5: + _context4.next = 7; return _regenerator2.default.awrap(this.get(userId)); - case 3: + case 7: data = _context4.sent; for (key in options) { data[key] = options[key]; } - _context4.next = 7; + _context4.next = 11; return _regenerator2.default.awrap(this.create(data)); - case 7: + case 11: return _context4.abrupt('return', data); - case 8: + case 12: case 'end': return _context4.stop(); } @@ -165171,7 +165208,7 @@ var _createClass2 = __webpack_require__(28); var _createClass3 = _interopRequireDefault(_createClass2); -var _utils = __webpack_require__(79); +var _utils = __webpack_require__(80); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -167041,7 +167078,7 @@ var _createClass2 = __webpack_require__(28); var _createClass3 = _interopRequireDefault(_createClass2); -var _utils = __webpack_require__(79); +var _utils = __webpack_require__(80); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -169907,7 +169944,7 @@ var _createClass2 = __webpack_require__(28); var _createClass3 = _interopRequireDefault(_createClass2); -var _utils = __webpack_require__(79); +var _utils = __webpack_require__(80); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -170315,7 +170352,7 @@ var _regenerator2 = _interopRequireDefault(_regenerator); exports.patchWallet = patchWallet; -var _utils = __webpack_require__(79); +var _utils = __webpack_require__(80); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -170457,7 +170494,7 @@ function patchWallet(wallet, config) { var Buffer = __webpack_require__(3).Buffer var createHash = __webpack_require__(52) var pbkdf2 = __webpack_require__(172).pbkdf2Sync -var randomBytes = __webpack_require__(78) +var randomBytes = __webpack_require__(79) // use unorm until String.prototype.normalize gets better browser support var unorm = __webpack_require__(767) @@ -192458,7 +192495,7 @@ module.exports = Contract; /* 810 */ /***/ (function(module, exports, __webpack_require__) { -var f = __webpack_require__(71); +var f = __webpack_require__(72); var formatters = __webpack_require__(41).formatters; var SolidityType = __webpack_require__(99); @@ -192495,7 +192532,7 @@ module.exports = SolidityTypeAddress; /* 811 */ /***/ (function(module, exports, __webpack_require__) { -var f = __webpack_require__(71); +var f = __webpack_require__(72); var SolidityType = __webpack_require__(99); /** @@ -192527,7 +192564,7 @@ module.exports = SolidityTypeBool; /* 812 */ /***/ (function(module, exports, __webpack_require__) { -var f = __webpack_require__(71); +var f = __webpack_require__(72); var SolidityType = __webpack_require__(99); /** @@ -192565,7 +192602,7 @@ module.exports = SolidityTypeInt; /* 813 */ /***/ (function(module, exports, __webpack_require__) { -var f = __webpack_require__(71); +var f = __webpack_require__(72); var SolidityType = __webpack_require__(99); /** @@ -192603,7 +192640,7 @@ module.exports = SolidityTypeUInt; /* 814 */ /***/ (function(module, exports, __webpack_require__) { -var f = __webpack_require__(71); +var f = __webpack_require__(72); var SolidityType = __webpack_require__(99); var SolidityTypeDynamicBytes = function () { @@ -192629,7 +192666,7 @@ module.exports = SolidityTypeDynamicBytes; /* 815 */ /***/ (function(module, exports, __webpack_require__) { -var f = __webpack_require__(71); +var f = __webpack_require__(72); var SolidityType = __webpack_require__(99); var SolidityTypeString = function () { @@ -192655,7 +192692,7 @@ module.exports = SolidityTypeString; /* 816 */ /***/ (function(module, exports, __webpack_require__) { -var f = __webpack_require__(71); +var f = __webpack_require__(72); var SolidityType = __webpack_require__(99); /** @@ -194712,7 +194749,7 @@ function xhrRequest (opt, cb) { var window = __webpack_require__(837) var isFunction = __webpack_require__(406) var parseHeaders = __webpack_require__(838) -var xtend = __webpack_require__(72) +var xtend = __webpack_require__(73) module.exports = createXHR createXHR.XMLHttpRequest = window.XMLHttpRequest || noop @@ -195919,55 +195956,55 @@ webpackContext.id = 846; /* 847 */ /***/ (function(module, exports) { -module.exports = {"contractName":"AttributeStore","abi":[{"constant":true,"inputs":[{"name":"self","type":"AttributeStore.Data storage"},{"name":"_UUID","type":"bytes32"},{"name":"_attrName","type":"string"}],"name":"getAttribute","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"self","type":"AttributeStore.Data storage"},{"name":"_UUID","type":"bytes32"},{"name":"_attrName","type":"string"},{"name":"_attrVal","type":"uint256"}],"name":"setAttribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6102cc610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f3007300000000000000000000000000000000000000003014606060405260043610610063576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350389f5c14610068578063977aa031146100e4575b600080fd5b6100ce60048080359060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610160565b6040518082815260200191505060405180910390f35b81156100ef57600080fd5b61015e60048080359060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610200565b005b600080838360405180836000191660001916815260200182805190602001908083835b6020831015156101a85780518252602082019150602081019050602083039250610183565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508460000160008260001916600019168152602001908152602001600020549150509392505050565b6000838360405180836000191660001916815260200182805190602001908083835b6020831015156102475780518252602082019150602081019050602083039250610222565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508185600001600083600019166000191681526020019081526020016000208190555050505050505600a165627a7a723058209558efe0e910e1ebd4738baac1bfcce100b9754d6e9b56f463a520ea333bcd3e0029","deployedBytecode":"0x7300000000000000000000000000000000000000003014606060405260043610610063576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350389f5c14610068578063977aa031146100e4575b600080fd5b6100ce60048080359060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610160565b6040518082815260200191505060405180910390f35b81156100ef57600080fd5b61015e60048080359060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610200565b005b600080838360405180836000191660001916815260200182805190602001908083835b6020831015156101a85780518252602082019150602081019050602083039250610183565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508460000160008260001916600019168152602001908152602001600020549150509392505050565b6000838360405180836000191660001916815260200182805190602001908083835b6020831015156102475780518252602082019150602081019050602083039250610222565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508185600001600083600019166000191681526020019081526020016000208190555050505050505600a165627a7a723058209558efe0e910e1ebd4738baac1bfcce100b9754d6e9b56f463a520ea333bcd3e0029"} +module.exports = {"contractName":"AttributeStore","abi":[{"constant":true,"inputs":[{"name":"self","type":"AttributeStore.Data storage"},{"name":"_UUID","type":"bytes32"},{"name":"_attrName","type":"string"}],"name":"getAttribute","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"self","type":"AttributeStore.Data storage"},{"name":"_UUID","type":"bytes32"},{"name":"_attrName","type":"string"},{"name":"_attrVal","type":"uint256"}],"name":"setAttribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6102cc610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f3007300000000000000000000000000000000000000003014606060405260043610610063576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350389f5c14610068578063977aa031146100e4575b600080fd5b6100ce60048080359060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610160565b6040518082815260200191505060405180910390f35b81156100ef57600080fd5b61015e60048080359060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610200565b005b600080838360405180836000191660001916815260200182805190602001908083835b6020831015156101a85780518252602082019150602081019050602083039250610183565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508460000160008260001916600019168152602001908152602001600020549150509392505050565b6000838360405180836000191660001916815260200182805190602001908083835b6020831015156102475780518252602082019150602081019050602083039250610222565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508185600001600083600019166000191681526020019081526020016000208190555050505050505600a165627a7a723058209558efe0e910e1ebd4738baac1bfcce100b9754d6e9b56f463a520ea333bcd3e0029","deployedBytecode":"0x7300000000000000000000000000000000000000003014606060405260043610610063576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806350389f5c14610068578063977aa031146100e4575b600080fd5b6100ce60048080359060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610160565b6040518082815260200191505060405180910390f35b81156100ef57600080fd5b61015e60048080359060200190919080356000191690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610200565b005b600080838360405180836000191660001916815260200182805190602001908083835b6020831015156101a85780518252602082019150602081019050602083039250610183565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508460000160008260001916600019168152602001908152602001600020549150509392505050565b6000838360405180836000191660001916815260200182805190602001908083835b6020831015156102475780518252602082019150602081019050602083039250610222565b6001836020036101000a03801982511681845116808217855250505050505090500192505050604051809103902090508185600001600083600019166000191681526020019081526020016000208190555050505050505600a165627a7a723058209558efe0e910e1ebd4738baac1bfcce100b9754d6e9b56f463a520ea333bcd3e0029","sourceMap":"27:507:3:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24","deployedSourceMap":"27:507:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;126:199;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;333:198;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;126:199;226:4;243:11;267:5;274:9;257:27;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;257:27:3;;;;;;;;;;;;;;;;;243:41;;302:4;:10;;:15;313:3;302:15;;;;;;;;;;;;;;;;;;295:22;;126:199;;;;;;:::o;333:198::-;445:11;469:5;476:9;459:27;;;;;;;;;;;;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;459:27:3;;;;;;;;;;;;;;;;;445:41;;515:8;497:4;:10;;:15;508:3;497:15;;;;;;;;;;;;;;;;;:26;;;;333:198;;;;;:::o","source":"pragma solidity^0.4.11;\r\n\r\nlibrary AttributeStore {\r\n struct Data {\r\n mapping(bytes32 => uint) store;\r\n }\r\n\r\n function getAttribute(Data storage self, bytes32 _UUID, string _attrName)\r\n public view returns (uint) {\r\n bytes32 key = keccak256(_UUID, _attrName);\r\n return self.store[key];\r\n }\r\n\r\n function setAttribute(Data storage self, bytes32 _UUID, string _attrName, uint _attrVal)\r\n public {\r\n bytes32 key = keccak256(_UUID, _attrName);\r\n self.store[key] = _attrVal;\r\n }\r\n}\r\n","sourcePath":"attrstore/AttributeStore.sol","ast":{"absolutePath":"attrstore/AttributeStore.sol","exportedSymbols":{"AttributeStore":[2201]},"id":2202,"nodeType":"SourceUnit","nodes":[{"id":2144,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:23:3"},{"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":null,"fullyImplemented":true,"id":2201,"linearizedBaseContracts":[2201],"name":"AttributeStore","nodeType":"ContractDefinition","nodes":[{"canonicalName":"AttributeStore.Data","id":2149,"members":[{"constant":false,"id":2148,"name":"store","nodeType":"VariableDeclaration","scope":2149,"src":"80:30:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":2147,"keyType":{"id":2145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"88:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"80:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueType":{"id":2146,"name":"uint","nodeType":"ElementaryTypeName","src":"99:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"internal"}],"name":"Data","nodeType":"StructDefinition","scope":2201,"src":"57:61:3","visibility":"public"},{"body":{"id":2172,"nodeType":"Block","src":"232:93:3","statements":[{"assignments":[2161],"declarations":[{"constant":false,"id":2161,"name":"key","nodeType":"VariableDeclaration","scope":2173,"src":"243:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":2166,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2163,"name":"_UUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2153,"src":"267:5:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":2164,"name":"_attrName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2155,"src":"274:9:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2162,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"257:9:3","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"257:27:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"243:41:3"},{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2167,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2151,"src":"302:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}},"id":2168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":2148,"src":"302:10:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":2170,"indexExpression":{"argumentTypes":null,"id":2169,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2161,"src":"313:3:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"302:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2159,"id":2171,"nodeType":"Return","src":"295:22:3"}]},"documentation":null,"id":2173,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getAttribute","nodeType":"FunctionDefinition","parameters":{"id":2156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2151,"name":"self","nodeType":"VariableDeclaration","scope":2173,"src":"148:17:3","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"},"typeName":{"contractScope":null,"id":2150,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2149,"src":"148:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2153,"name":"_UUID","nodeType":"VariableDeclaration","scope":2173,"src":"167:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":2155,"name":"_attrName","nodeType":"VariableDeclaration","scope":2173,"src":"182:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":2154,"name":"string","nodeType":"ElementaryTypeName","src":"182:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"147:52:3"},"payable":false,"returnParameters":{"id":2159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2158,"name":"","nodeType":"VariableDeclaration","scope":2173,"src":"226:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2157,"name":"uint","nodeType":"ElementaryTypeName","src":"226:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"225:6:3"},"scope":2201,"src":"126:199:3","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2199,"nodeType":"Block","src":"434:97:3","statements":[{"assignments":[2185],"declarations":[{"constant":false,"id":2185,"name":"key","nodeType":"VariableDeclaration","scope":2200,"src":"445:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"445:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":2190,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2187,"name":"_UUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2177,"src":"469:5:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":2188,"name":"_attrName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2179,"src":"476:9:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2186,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"459:9:3","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":2189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"459:27:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"445:41:3"},{"expression":{"argumentTypes":null,"id":2197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2191,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2175,"src":"497:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}},"id":2194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":2148,"src":"497:10:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":2195,"indexExpression":{"argumentTypes":null,"id":2193,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2185,"src":"508:3:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"497:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2196,"name":"_attrVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2181,"src":"515:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"497:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2198,"nodeType":"ExpressionStatement","src":"497:26:3"}]},"documentation":null,"id":2200,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"setAttribute","nodeType":"FunctionDefinition","parameters":{"id":2182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2175,"name":"self","nodeType":"VariableDeclaration","scope":2200,"src":"355:17:3","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"},"typeName":{"contractScope":null,"id":2174,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2149,"src":"355:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2177,"name":"_UUID","nodeType":"VariableDeclaration","scope":2200,"src":"374:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"374:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":2179,"name":"_attrName","nodeType":"VariableDeclaration","scope":2200,"src":"389:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":2178,"name":"string","nodeType":"ElementaryTypeName","src":"389:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2181,"name":"_attrVal","nodeType":"VariableDeclaration","scope":2200,"src":"407:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2180,"name":"uint","nodeType":"ElementaryTypeName","src":"407:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"354:67:3"},"payable":false,"returnParameters":{"id":2183,"nodeType":"ParameterList","parameters":[],"src":"434:0:3"},"scope":2201,"src":"333:198:3","stateMutability":"nonpayable","superFunction":null,"visibility":"public"}],"scope":2202,"src":"27:507:3"}],"src":"0:536:3"},"legacyAST":{"absolutePath":"attrstore/AttributeStore.sol","exportedSymbols":{"AttributeStore":[2201]},"id":2202,"nodeType":"SourceUnit","nodes":[{"id":2144,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:23:3"},{"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":null,"fullyImplemented":true,"id":2201,"linearizedBaseContracts":[2201],"name":"AttributeStore","nodeType":"ContractDefinition","nodes":[{"canonicalName":"AttributeStore.Data","id":2149,"members":[{"constant":false,"id":2148,"name":"store","nodeType":"VariableDeclaration","scope":2149,"src":"80:30:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":2147,"keyType":{"id":2145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"88:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"80:24:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueType":{"id":2146,"name":"uint","nodeType":"ElementaryTypeName","src":"99:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"internal"}],"name":"Data","nodeType":"StructDefinition","scope":2201,"src":"57:61:3","visibility":"public"},{"body":{"id":2172,"nodeType":"Block","src":"232:93:3","statements":[{"assignments":[2161],"declarations":[{"constant":false,"id":2161,"name":"key","nodeType":"VariableDeclaration","scope":2173,"src":"243:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"243:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":2166,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2163,"name":"_UUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2153,"src":"267:5:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":2164,"name":"_attrName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2155,"src":"274:9:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2162,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"257:9:3","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":2165,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"257:27:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"243:41:3"},{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2167,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2151,"src":"302:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}},"id":2168,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":2148,"src":"302:10:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":2170,"indexExpression":{"argumentTypes":null,"id":2169,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2161,"src":"313:3:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"302:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2159,"id":2171,"nodeType":"Return","src":"295:22:3"}]},"documentation":null,"id":2173,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getAttribute","nodeType":"FunctionDefinition","parameters":{"id":2156,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2151,"name":"self","nodeType":"VariableDeclaration","scope":2173,"src":"148:17:3","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"},"typeName":{"contractScope":null,"id":2150,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2149,"src":"148:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2153,"name":"_UUID","nodeType":"VariableDeclaration","scope":2173,"src":"167:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2152,"name":"bytes32","nodeType":"ElementaryTypeName","src":"167:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":2155,"name":"_attrName","nodeType":"VariableDeclaration","scope":2173,"src":"182:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":2154,"name":"string","nodeType":"ElementaryTypeName","src":"182:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"147:52:3"},"payable":false,"returnParameters":{"id":2159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2158,"name":"","nodeType":"VariableDeclaration","scope":2173,"src":"226:4:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2157,"name":"uint","nodeType":"ElementaryTypeName","src":"226:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"225:6:3"},"scope":2201,"src":"126:199:3","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2199,"nodeType":"Block","src":"434:97:3","statements":[{"assignments":[2185],"declarations":[{"constant":false,"id":2185,"name":"key","nodeType":"VariableDeclaration","scope":2200,"src":"445:11:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"445:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":2190,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2187,"name":"_UUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2177,"src":"469:5:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":2188,"name":"_attrName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2179,"src":"476:9:3","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":2186,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"459:9:3","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":2189,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"459:27:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"445:41:3"},{"expression":{"argumentTypes":null,"id":2197,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2191,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2175,"src":"497:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}},"id":2194,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"store","nodeType":"MemberAccess","referencedDeclaration":2148,"src":"497:10:3","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":2195,"indexExpression":{"argumentTypes":null,"id":2193,"name":"key","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2185,"src":"508:3:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"497:15:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2196,"name":"_attrVal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2181,"src":"515:8:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"497:26:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2198,"nodeType":"ExpressionStatement","src":"497:26:3"}]},"documentation":null,"id":2200,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"setAttribute","nodeType":"FunctionDefinition","parameters":{"id":2182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2175,"name":"self","nodeType":"VariableDeclaration","scope":2200,"src":"355:17:3","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"},"typeName":{"contractScope":null,"id":2174,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2149,"src":"355:4:3","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2177,"name":"_UUID","nodeType":"VariableDeclaration","scope":2200,"src":"374:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2176,"name":"bytes32","nodeType":"ElementaryTypeName","src":"374:7:3","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":2179,"name":"_attrName","nodeType":"VariableDeclaration","scope":2200,"src":"389:16:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":2178,"name":"string","nodeType":"ElementaryTypeName","src":"389:6:3","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2181,"name":"_attrVal","nodeType":"VariableDeclaration","scope":2200,"src":"407:13:3","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2180,"name":"uint","nodeType":"ElementaryTypeName","src":"407:4:3","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"354:67:3"},"payable":false,"returnParameters":{"id":2183,"nodeType":"ParameterList","parameters":[],"src":"434:0:3"},"scope":2201,"src":"333:198:3","stateMutability":"nonpayable","superFunction":null,"visibility":"public"}],"scope":2202,"src":"27:507:3"}],"src":"0:536:3"},"compiler":{"name":"solc","version":"0.4.21+commit.dfe3193c.Emscripten.clang"},"networks":{},"schemaVersion":"2.0.0","updatedAt":"2018-04-16T22:09:02.615Z"} /***/ }), /* 848 */ /***/ (function(module, exports) { -module.exports = {"contractName":"DLL","abi":[{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"}],"name":"isEmpty","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"},{"name":"_curr","type":"uint256"}],"name":"contains","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"},{"name":"_curr","type":"uint256"}],"name":"getNext","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"},{"name":"_curr","type":"uint256"}],"name":"getPrev","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"}],"name":"getStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"}],"name":"getEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"self","type":"DLL.Data storage"},{"name":"_prev","type":"uint256"},{"name":"_curr","type":"uint256"},{"name":"_next","type":"uint256"}],"name":"insert","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"self","type":"DLL.Data storage"},{"name":"_curr","type":"uint256"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x610508610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600436106100a5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307d29ac9146100aa57806330fe0a0a146100df578063366a5ba2146101145780636d900ed01461014d5780637c11cf64146101795780639735c51b146101a5578063c426b006146101e3578063ee4f1ac414610213575b600080fd5b6100c9600480803590602001909190803590602001909190505061023f565b6040518082815260200191505060405180910390f35b6100fe6004808035906020019091908035906020019091905050610262565b6040518082815260200191505060405180910390f35b6101336004808035906020019091908035906020019091905050610285565b604051808215151515815260200191505060405180910390f35b811561015857600080fd5b6101776004808035906020019091908035906020019091905050610305565b005b61018f600480803590602001909190505061039e565b6040518082815260200191505060405180910390f35b81156101b057600080fd5b6101e160048080359060200190919080359060200190919080359060200190919080359060200190919050506103b2565b005b6101f960048080359060200190919050506104b4565b604051808215151515815260200191505060405180910390f35b61022960048080359060200190919050506104c8565b6040518082815260200191505060405180910390f35b600082600001600083815260200190815260200160002060000154905092915050565b600082600001600083815260200190815260200160002060010154905092915050565b6000806000610293856104b4565b8061029e5750600084145b156102ac57600092506102fd565b836102b6866104c8565b1480156102ca5750836102c88661039e565b145b915060006102d8868661023f565b1480156102ee575060006102ec8686610262565b145b905081806102fa575080155b92505b505092915050565b6000806103128484610285565b151561031d57610398565b610327848461023f565b91506103338484610262565b905080846000016000848152602001908152602001600020600101819055508184600001600083815260200190815260200160002060000181905550836000016000848152602001908152602001600020600080820160009055600182016000905550505b50505050565b60006103ab826000610262565b9050919050565b600082141515156103c257600080fd5b6103cc8483610305565b60008314806103e157506103e08484610285565b5b15156103ec57600080fd5b600081148061040157506104008482610285565b5b151561040c57600080fd5b80610417858561023f565b14151561042357600080fd5b8261042e8583610262565b14151561043a57600080fd5b828460000160008481526020019081526020016000206001018190555080846000016000848152602001908152602001600020600001819055508184600001600085815260200190815260200160002060000181905550818460000160008381526020019081526020016000206001018190555050505050565b6000806104c0836104c8565b149050919050565b60006104d582600061023f565b90509190505600a165627a7a72305820408b000b008207b969b51f578e2dcbd5e9f0be461e37e48b264427f9ecee42ae0029","deployedBytecode":"0x73000000000000000000000000000000000000000030146060604052600436106100a5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307d29ac9146100aa57806330fe0a0a146100df578063366a5ba2146101145780636d900ed01461014d5780637c11cf64146101795780639735c51b146101a5578063c426b006146101e3578063ee4f1ac414610213575b600080fd5b6100c9600480803590602001909190803590602001909190505061023f565b6040518082815260200191505060405180910390f35b6100fe6004808035906020019091908035906020019091905050610262565b6040518082815260200191505060405180910390f35b6101336004808035906020019091908035906020019091905050610285565b604051808215151515815260200191505060405180910390f35b811561015857600080fd5b6101776004808035906020019091908035906020019091905050610305565b005b61018f600480803590602001909190505061039e565b6040518082815260200191505060405180910390f35b81156101b057600080fd5b6101e160048080359060200190919080359060200190919080359060200190919080359060200190919050506103b2565b005b6101f960048080359060200190919050506104b4565b604051808215151515815260200191505060405180910390f35b61022960048080359060200190919050506104c8565b6040518082815260200191505060405180910390f35b600082600001600083815260200190815260200160002060000154905092915050565b600082600001600083815260200190815260200160002060010154905092915050565b6000806000610293856104b4565b8061029e5750600084145b156102ac57600092506102fd565b836102b6866104c8565b1480156102ca5750836102c88661039e565b145b915060006102d8868661023f565b1480156102ee575060006102ec8686610262565b145b905081806102fa575080155b92505b505092915050565b6000806103128484610285565b151561031d57610398565b610327848461023f565b91506103338484610262565b905080846000016000848152602001908152602001600020600101819055508184600001600083815260200190815260200160002060000181905550836000016000848152602001908152602001600020600080820160009055600182016000905550505b50505050565b60006103ab826000610262565b9050919050565b600082141515156103c257600080fd5b6103cc8483610305565b60008314806103e157506103e08484610285565b5b15156103ec57600080fd5b600081148061040157506104008482610285565b5b151561040c57600080fd5b80610417858561023f565b14151561042357600080fd5b8261042e8583610262565b14151561043a57600080fd5b828460000160008481526020019081526020016000206001018190555080846000016000848152602001908152602001600020600001819055508184600001600085815260200190815260200160002060000181905550818460000160008381526020019081526020016000206001018190555050505050565b6000806104c0836104c8565b149050919050565b60006104d582600061023f565b90509190505600a165627a7a72305820408b000b008207b969b51f578e2dcbd5e9f0be461e37e48b264427f9ecee42ae0029"} +module.exports = {"contractName":"DLL","abi":[{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"}],"name":"isEmpty","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"},{"name":"_curr","type":"uint256"}],"name":"contains","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"},{"name":"_curr","type":"uint256"}],"name":"getNext","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"},{"name":"_curr","type":"uint256"}],"name":"getPrev","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"}],"name":"getStart","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"self","type":"DLL.Data storage"}],"name":"getEnd","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"self","type":"DLL.Data storage"},{"name":"_prev","type":"uint256"},{"name":"_curr","type":"uint256"},{"name":"_next","type":"uint256"}],"name":"insert","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"self","type":"DLL.Data storage"},{"name":"_curr","type":"uint256"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x610508610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600436106100a5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307d29ac9146100aa57806330fe0a0a146100df578063366a5ba2146101145780636d900ed01461014d5780637c11cf64146101795780639735c51b146101a5578063c426b006146101e3578063ee4f1ac414610213575b600080fd5b6100c9600480803590602001909190803590602001909190505061023f565b6040518082815260200191505060405180910390f35b6100fe6004808035906020019091908035906020019091905050610262565b6040518082815260200191505060405180910390f35b6101336004808035906020019091908035906020019091905050610285565b604051808215151515815260200191505060405180910390f35b811561015857600080fd5b6101776004808035906020019091908035906020019091905050610305565b005b61018f600480803590602001909190505061039e565b6040518082815260200191505060405180910390f35b81156101b057600080fd5b6101e160048080359060200190919080359060200190919080359060200190919080359060200190919050506103b2565b005b6101f960048080359060200190919050506104b4565b604051808215151515815260200191505060405180910390f35b61022960048080359060200190919050506104c8565b6040518082815260200191505060405180910390f35b600082600001600083815260200190815260200160002060000154905092915050565b600082600001600083815260200190815260200160002060010154905092915050565b6000806000610293856104b4565b8061029e5750600084145b156102ac57600092506102fd565b836102b6866104c8565b1480156102ca5750836102c88661039e565b145b915060006102d8868661023f565b1480156102ee575060006102ec8686610262565b145b905081806102fa575080155b92505b505092915050565b6000806103128484610285565b151561031d57610398565b610327848461023f565b91506103338484610262565b905080846000016000848152602001908152602001600020600101819055508184600001600083815260200190815260200160002060000181905550836000016000848152602001908152602001600020600080820160009055600182016000905550505b50505050565b60006103ab826000610262565b9050919050565b600082141515156103c257600080fd5b6103cc8483610305565b60008314806103e157506103e08484610285565b5b15156103ec57600080fd5b600081148061040157506104008482610285565b5b151561040c57600080fd5b80610417858561023f565b14151561042357600080fd5b8261042e8583610262565b14151561043a57600080fd5b828460000160008481526020019081526020016000206001018190555080846000016000848152602001908152602001600020600001819055508184600001600085815260200190815260200160002060000181905550818460000160008381526020019081526020016000206001018190555050505050565b6000806104c0836104c8565b149050919050565b60006104d582600061023f565b90509190505600a165627a7a72305820408b000b008207b969b51f578e2dcbd5e9f0be461e37e48b264427f9ecee42ae0029","deployedBytecode":"0x73000000000000000000000000000000000000000030146060604052600436106100a5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806307d29ac9146100aa57806330fe0a0a146100df578063366a5ba2146101145780636d900ed01461014d5780637c11cf64146101795780639735c51b146101a5578063c426b006146101e3578063ee4f1ac414610213575b600080fd5b6100c9600480803590602001909190803590602001909190505061023f565b6040518082815260200191505060405180910390f35b6100fe6004808035906020019091908035906020019091905050610262565b6040518082815260200191505060405180910390f35b6101336004808035906020019091908035906020019091905050610285565b604051808215151515815260200191505060405180910390f35b811561015857600080fd5b6101776004808035906020019091908035906020019091905050610305565b005b61018f600480803590602001909190505061039e565b6040518082815260200191505060405180910390f35b81156101b057600080fd5b6101e160048080359060200190919080359060200190919080359060200190919080359060200190919050506103b2565b005b6101f960048080359060200190919050506104b4565b604051808215151515815260200191505060405180910390f35b61022960048080359060200190919050506104c8565b6040518082815260200191505060405180910390f35b600082600001600083815260200190815260200160002060000154905092915050565b600082600001600083815260200190815260200160002060010154905092915050565b6000806000610293856104b4565b8061029e5750600084145b156102ac57600092506102fd565b836102b6866104c8565b1480156102ca5750836102c88661039e565b145b915060006102d8868661023f565b1480156102ee575060006102ec8686610262565b145b905081806102fa575080155b92505b505092915050565b6000806103128484610285565b151561031d57610398565b610327848461023f565b91506103338484610262565b905080846000016000848152602001908152602001600020600101819055508184600001600083815260200190815260200160002060000181905550836000016000848152602001908152602001600020600080820160009055600182016000905550505b50505050565b60006103ab826000610262565b9050919050565b600082141515156103c257600080fd5b6103cc8483610305565b60008314806103e157506103e08484610285565b5b15156103ec57600080fd5b600081148061040157506104008482610285565b5b151561040c57600080fd5b80610417858561023f565b14151561042357600080fd5b8261042e8583610262565b14151561043a57600080fd5b828460000160008481526020019081526020016000206001018190555080846000016000848152602001908152602001600020600001819055508184600001600085815260200190815260200160002060000181905550818460000160008381526020019081526020016000206001018190555050505050565b6000806104c0836104c8565b149050919050565b60006104d582600061023f565b90509190505600a165627a7a72305820408b000b008207b969b51f578e2dcbd5e9f0be461e37e48b264427f9ecee42ae0029","sourceMap":"25:2240:4:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24","deployedSourceMap":"25:2240:4:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;680:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;797;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;295:381;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1979:284;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1027:107;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1480:495;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;180:111;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;914:109;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;680:113;749:4;768;:8;;:15;777:5;768:15;;;;;;;;;;;:20;;;761:27;;680:113;;;;:::o;797:::-;866:4;885;:8;;:15;894:5;885:15;;;;;;;;;;;:20;;;878:27;;797:113;;;;:::o;295:381::-;365:4;455:17;533:15;381:13;389:4;381:7;:13::i;:::-;:38;;;;71:1;398:5;:21;381:38;377:71;;;436:5;429:12;;;;377:71;494:5;476:14;485:4;476:8;:14::i;:::-;:23;475:52;;;;;521:5;505:12;512:4;505:6;:12::i;:::-;:21;475:52;455:72;;71:1;552:20;560:4;566:5;552:7;:20::i;:::-;:36;551:80;;;;;71:1;594:20;602:4;608:5;594:7;:20::i;:::-;:36;551:80;533:98;;644:12;:27;;;;661:10;660:11;644:27;637:34;;295:381;;;;;;;:::o;1979:284::-;2094:9;2132;2044:21;2053:4;2059:5;2044:8;:21::i;:::-;2043:22;2039:49;;;2075:7;;2039:49;2106:20;2114:4;2120:5;2106:7;:20::i;:::-;2094:32;;2144:20;2152:4;2158:5;2144:7;:20::i;:::-;2132:32;;2193:4;2171;:8;;:14;2180:4;2171:14;;;;;;;;;;;:19;;:26;;;;2225:4;2203;:8;;:14;2212:4;2203:14;;;;;;;;;;;:19;;:26;;;;2243:4;:8;;:15;2252:5;2243:15;;;;;;;;;;;;2236:22;;;;;;;;;;;;;;1979:284;;;;;:::o;1027:107::-;1083:4;1102:27;1110:4;71:1;1102:7;:27::i;:::-;1095:34;;1027:107;;;:::o;1480:495::-;71:1;1572:5;:21;;1564:30;;;;;;;;1601:19;1608:4;1614:5;1601:6;:19::i;:::-;71:1;1635:5;:21;:46;;;;1660:21;1669:4;1675:5;1660:8;:21::i;:::-;1635:46;1627:55;;;;;;;;71:1;1696:5;:21;:46;;;;1721:21;1730:4;1736:5;1721:8;:21::i;:::-;1696:46;1688:55;;;;;;;;1782:5;1758:20;1766:4;1772:5;1758:7;:20::i;:::-;:29;1750:38;;;;;;;;1826:5;1802:20;1810:4;1816:5;1802:7;:20::i;:::-;:29;1794:38;;;;;;;;1862:5;1839:4;:8;;:15;1848:5;1839:15;;;;;;;;;;;:20;;:28;;;;1896:5;1873:4;:8;;:15;1882:5;1873:15;;;;;;;;;;;:20;;:28;;;;1931:5;1908:4;:8;;:15;1917:5;1908:15;;;;;;;;;;;:20;;:28;;;;1965:5;1942:4;:8;;:15;1951:5;1942:15;;;;;;;;;;;:20;;:28;;;;1480:495;;;;:::o;180:111::-;237:4;71:1;256:14;265:4;256:8;:14::i;:::-;:30;249:37;;180:111;;;:::o;914:109::-;972:4;991:27;999:4;71:1;991:7;:27::i;:::-;984:34;;914:109;;;:::o","source":"pragma solidity^0.4.11;\n\nlibrary DLL {\n\n uint constant NULL_NODE_ID = 0;\n\n struct Node {\n uint next;\n uint prev;\n }\n\n struct Data {\n mapping(uint => Node) dll;\n }\n\n function isEmpty(Data storage self) public view returns (bool) {\n return getStart(self) == NULL_NODE_ID;\n }\n\n function contains(Data storage self, uint _curr) public view returns (bool) {\n if (isEmpty(self) || _curr == NULL_NODE_ID) {\n return false;\n } \n\n bool isSingleNode = (getStart(self) == _curr) && (getEnd(self) == _curr);\n bool isNullNode = (getNext(self, _curr) == NULL_NODE_ID) && (getPrev(self, _curr) == NULL_NODE_ID);\n return isSingleNode || !isNullNode;\n }\n\n function getNext(Data storage self, uint _curr) public view returns (uint) {\n return self.dll[_curr].next;\n }\n\n function getPrev(Data storage self, uint _curr) public view returns (uint) {\n return self.dll[_curr].prev;\n }\n\n function getStart(Data storage self) public view returns (uint) {\n return getNext(self, NULL_NODE_ID);\n }\n\n function getEnd(Data storage self) public view returns (uint) {\n return getPrev(self, NULL_NODE_ID);\n }\n\n /**\n @dev Inserts a new node between _prev and _next. When inserting a node already existing in \n the list it will be automatically removed from the old position.\n @param _prev the node which _new will be inserted after\n @param _curr the id of the new node being inserted\n @param _next the node which _new will be inserted before\n */\n function insert(Data storage self, uint _prev, uint _curr, uint _next) public {\n require(_curr != NULL_NODE_ID);\n\n remove(self, _curr);\n\n require(_prev == NULL_NODE_ID || contains(self, _prev));\n require(_next == NULL_NODE_ID || contains(self, _next));\n\n require(getNext(self, _prev) == _next);\n require(getPrev(self, _next) == _prev);\n\n self.dll[_curr].prev = _prev;\n self.dll[_curr].next = _next;\n\n self.dll[_prev].next = _curr;\n self.dll[_next].prev = _curr;\n }\n\n function remove(Data storage self, uint _curr) public {\n if (!contains(self, _curr)) {\n return;\n }\n\n uint next = getNext(self, _curr);\n uint prev = getPrev(self, _curr);\n\n self.dll[next].prev = prev;\n self.dll[prev].next = next;\n\n delete self.dll[_curr];\n }\n}\n","sourcePath":"dll/DLL.sol","ast":{"absolutePath":"dll/DLL.sol","exportedSymbols":{"DLL":[2502]},"id":2503,"nodeType":"SourceUnit","nodes":[{"id":2203,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:23:4"},{"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":null,"fullyImplemented":true,"id":2502,"linearizedBaseContracts":[2502],"name":"DLL","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":2206,"name":"NULL_NODE_ID","nodeType":"VariableDeclaration","scope":2502,"src":"42:30:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2204,"name":"uint","nodeType":"ElementaryTypeName","src":"42:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"30","id":2205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"71:1:4","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"internal"},{"canonicalName":"DLL.Node","id":2211,"members":[{"constant":false,"id":2208,"name":"next","nodeType":"VariableDeclaration","scope":2211,"src":"95:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2207,"name":"uint","nodeType":"ElementaryTypeName","src":"95:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2210,"name":"prev","nodeType":"VariableDeclaration","scope":2211,"src":"110:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2209,"name":"uint","nodeType":"ElementaryTypeName","src":"110:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"name":"Node","nodeType":"StructDefinition","scope":2502,"src":"77:47:4","visibility":"public"},{"canonicalName":"DLL.Data","id":2216,"members":[{"constant":false,"id":2215,"name":"dll","nodeType":"VariableDeclaration","scope":2216,"src":"146:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"},"typeName":{"id":2214,"keyType":{"id":2212,"name":"uint","nodeType":"ElementaryTypeName","src":"154:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"146:21:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"},"valueType":{"contractScope":null,"id":2213,"name":"Node","nodeType":"UserDefinedTypeName","referencedDeclaration":2211,"src":"162:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage_ptr","typeString":"struct DLL.Node storage pointer"}}},"value":null,"visibility":"internal"}],"name":"Data","nodeType":"StructDefinition","scope":2502,"src":"128:48:4","visibility":"public"},{"body":{"id":2229,"nodeType":"Block","src":"243:48:4","statements":[{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2224,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2218,"src":"265:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}],"id":2223,"name":"getStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"256:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer) view returns (uint256)"}},"id":2225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"256:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2226,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"274:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"256:30:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2222,"id":2228,"nodeType":"Return","src":"249:37:4"}]},"documentation":null,"id":2230,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"isEmpty","nodeType":"FunctionDefinition","parameters":{"id":2219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2218,"name":"self","nodeType":"VariableDeclaration","scope":2230,"src":"197:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2217,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"197:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"}],"src":"196:19:4"},"payable":false,"returnParameters":{"id":2222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2221,"name":"","nodeType":"VariableDeclaration","scope":2230,"src":"237:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2220,"name":"bool","nodeType":"ElementaryTypeName","src":"237:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"236:6:4"},"scope":2502,"src":"180:111:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2289,"nodeType":"Block","src":"371:305:4","statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2240,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"389:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}],"id":2239,"name":"isEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2230,"src":"381:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$returns$_t_bool_$","typeString":"function (struct DLL.Data storage pointer) view returns (bool)"}},"id":2241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"381:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2242,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"398:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2243,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"407:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"398:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"381:38:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":2249,"nodeType":"IfStatement","src":"377:71:4","trueBody":{"id":2248,"nodeType":"Block","src":"421:27:4","statements":[{"expression":{"argumentTypes":null,"hexValue":"66616c7365","id":2246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"436:5:4","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":2238,"id":2247,"nodeType":"Return","src":"429:12:4"}]}},{"assignments":[2251],"declarations":[{"constant":false,"id":2251,"name":"isSingleNode","nodeType":"VariableDeclaration","scope":2290,"src":"455:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2250,"name":"bool","nodeType":"ElementaryTypeName","src":"455:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"id":2265,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2253,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"485:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}],"id":2252,"name":"getStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"476:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer) view returns (uint256)"}},"id":2254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"476:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2255,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"494:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"476:23:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2257,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"475:25:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2259,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"512:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}],"id":2258,"name":"getEnd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2348,"src":"505:6:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer) view returns (uint256)"}},"id":2260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"505:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2261,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"521:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"505:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2263,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"504:23:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"475:52:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"455:72:4"},{"assignments":[2267],"declarations":[{"constant":false,"id":2267,"name":"isNullNode","nodeType":"VariableDeclaration","scope":2290,"src":"533:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2266,"name":"bool","nodeType":"ElementaryTypeName","src":"533:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"id":2283,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2269,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"560:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2270,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"566:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2268,"name":"getNext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2306,"src":"552:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"552:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2272,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"576:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"552:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2274,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"551:38:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2276,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"602:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2277,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"608:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2275,"name":"getPrev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2322,"src":"594:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"594:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2279,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"618:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"594:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2281,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"593:38:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"551:80:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"533:98:4"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2284,"name":"isSingleNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"644:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"id":2286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"660:11:4","subExpression":{"argumentTypes":null,"id":2285,"name":"isNullNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"661:10:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"644:27:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2238,"id":2288,"nodeType":"Return","src":"637:34:4"}]},"documentation":null,"id":2290,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"contains","nodeType":"FunctionDefinition","parameters":{"id":2235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2232,"name":"self","nodeType":"VariableDeclaration","scope":2290,"src":"313:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2231,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"313:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2234,"name":"_curr","nodeType":"VariableDeclaration","scope":2290,"src":"332:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2233,"name":"uint","nodeType":"ElementaryTypeName","src":"332:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"312:31:4"},"payable":false,"returnParameters":{"id":2238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"name":"","nodeType":"VariableDeclaration","scope":2290,"src":"365:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2236,"name":"bool","nodeType":"ElementaryTypeName","src":"365:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"364:6:4"},"scope":2502,"src":"295:381:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2305,"nodeType":"Block","src":"755:38:4","statements":[{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2299,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"768:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"768:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2302,"indexExpression":{"argumentTypes":null,"id":2301,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2294,"src":"777:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"768:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"next","nodeType":"MemberAccess","referencedDeclaration":2208,"src":"768:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2298,"id":2304,"nodeType":"Return","src":"761:27:4"}]},"documentation":null,"id":2306,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getNext","nodeType":"FunctionDefinition","parameters":{"id":2295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2292,"name":"self","nodeType":"VariableDeclaration","scope":2306,"src":"697:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2291,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"697:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2294,"name":"_curr","nodeType":"VariableDeclaration","scope":2306,"src":"716:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2293,"name":"uint","nodeType":"ElementaryTypeName","src":"716:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"696:31:4"},"payable":false,"returnParameters":{"id":2298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2297,"name":"","nodeType":"VariableDeclaration","scope":2306,"src":"749:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2296,"name":"uint","nodeType":"ElementaryTypeName","src":"749:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"748:6:4"},"scope":2502,"src":"680:113:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2321,"nodeType":"Block","src":"872:38:4","statements":[{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2315,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2308,"src":"885:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"885:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2318,"indexExpression":{"argumentTypes":null,"id":2317,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2310,"src":"894:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"885:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2319,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"prev","nodeType":"MemberAccess","referencedDeclaration":2210,"src":"885:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2314,"id":2320,"nodeType":"Return","src":"878:27:4"}]},"documentation":null,"id":2322,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getPrev","nodeType":"FunctionDefinition","parameters":{"id":2311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2308,"name":"self","nodeType":"VariableDeclaration","scope":2322,"src":"814:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2307,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"814:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2310,"name":"_curr","nodeType":"VariableDeclaration","scope":2322,"src":"833:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2309,"name":"uint","nodeType":"ElementaryTypeName","src":"833:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"813:31:4"},"payable":false,"returnParameters":{"id":2314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2313,"name":"","nodeType":"VariableDeclaration","scope":2322,"src":"866:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2312,"name":"uint","nodeType":"ElementaryTypeName","src":"866:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"865:6:4"},"scope":2502,"src":"797:113:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2334,"nodeType":"Block","src":"978:45:4","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2330,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2324,"src":"999:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2331,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"1005:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2329,"name":"getNext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2306,"src":"991:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"991:27:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2328,"id":2333,"nodeType":"Return","src":"984:34:4"}]},"documentation":null,"id":2335,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getStart","nodeType":"FunctionDefinition","parameters":{"id":2325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2324,"name":"self","nodeType":"VariableDeclaration","scope":2335,"src":"932:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2323,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"932:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"}],"src":"931:19:4"},"payable":false,"returnParameters":{"id":2328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2327,"name":"","nodeType":"VariableDeclaration","scope":2335,"src":"972:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2326,"name":"uint","nodeType":"ElementaryTypeName","src":"972:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"971:6:4"},"scope":2502,"src":"914:109:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2347,"nodeType":"Block","src":"1089:45:4","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2343,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2337,"src":"1110:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2344,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"1116:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2342,"name":"getPrev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2322,"src":"1102:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1102:27:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2341,"id":2346,"nodeType":"Return","src":"1095:34:4"}]},"documentation":null,"id":2348,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getEnd","nodeType":"FunctionDefinition","parameters":{"id":2338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2337,"name":"self","nodeType":"VariableDeclaration","scope":2348,"src":"1043:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2336,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"1043:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"}],"src":"1042:19:4"},"payable":false,"returnParameters":{"id":2341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2340,"name":"","nodeType":"VariableDeclaration","scope":2348,"src":"1083:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2339,"name":"uint","nodeType":"ElementaryTypeName","src":"1083:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1082:6:4"},"scope":2502,"src":"1027:107:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2446,"nodeType":"Block","src":"1558:417:4","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2360,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1572:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"id":2361,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"1581:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1572:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2359,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1564:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1564:30:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2364,"nodeType":"ExpressionStatement","src":"1564:30:4"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2366,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1608:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2367,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1614:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2365,"name":"remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2501,"src":"1601:6:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct DLL.Data storage pointer,uint256)"}},"id":2368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1601:19:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2369,"nodeType":"ExpressionStatement","src":"1601:19:4"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2371,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1635:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2372,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"1644:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1635:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2375,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1669:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2376,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1675:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2374,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"1660:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_bool_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (bool)"}},"id":2377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1660:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1635:46:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2370,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1627:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1627:55:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2380,"nodeType":"ExpressionStatement","src":"1627:55:4"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2382,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1696:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2383,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"1705:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1696:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2386,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1730:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2387,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1736:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2385,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"1721:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_bool_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (bool)"}},"id":2388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1721:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1696:46:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2381,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1688:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1688:55:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2391,"nodeType":"ExpressionStatement","src":"1688:55:4"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2394,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1766:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2395,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1772:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2393,"name":"getNext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2306,"src":"1758:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1758:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2397,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1782:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1758:29:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2392,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1750:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1750:38:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2400,"nodeType":"ExpressionStatement","src":"1750:38:4"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2403,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1810:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2404,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1816:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2402,"name":"getPrev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2322,"src":"1802:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1802:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2406,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1826:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1802:29:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2401,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1794:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1794:38:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2409,"nodeType":"ExpressionStatement","src":"1794:38:4"},{"expression":{"argumentTypes":null,"id":2417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2410,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1839:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"1839:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2414,"indexExpression":{"argumentTypes":null,"id":2412,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1848:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1839:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"prev","nodeType":"MemberAccess","referencedDeclaration":2210,"src":"1839:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2416,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1862:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1839:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2418,"nodeType":"ExpressionStatement","src":"1839:28:4"},{"expression":{"argumentTypes":null,"id":2426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2419,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1873:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"1873:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2423,"indexExpression":{"argumentTypes":null,"id":2421,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1882:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1873:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2424,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"next","nodeType":"MemberAccess","referencedDeclaration":2208,"src":"1873:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2425,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1896:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1873:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2427,"nodeType":"ExpressionStatement","src":"1873:28:4"},{"expression":{"argumentTypes":null,"id":2435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2428,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1908:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"1908:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2432,"indexExpression":{"argumentTypes":null,"id":2430,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1917:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1908:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"next","nodeType":"MemberAccess","referencedDeclaration":2208,"src":"1908:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2434,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1931:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1908:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2436,"nodeType":"ExpressionStatement","src":"1908:28:4"},{"expression":{"argumentTypes":null,"id":2444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2437,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1942:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"1942:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2441,"indexExpression":{"argumentTypes":null,"id":2439,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1951:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1942:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2442,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"prev","nodeType":"MemberAccess","referencedDeclaration":2210,"src":"1942:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2443,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1965:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1942:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2445,"nodeType":"ExpressionStatement","src":"1942:28:4"}]},"documentation":"@dev Inserts a new node between _prev and _next. When inserting a node already existing in \nthe list it will be automatically removed from the old position.\n@param _prev the node which _new will be inserted after\n@param _curr the id of the new node being inserted\n@param _next the node which _new will be inserted before","id":2447,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"insert","nodeType":"FunctionDefinition","parameters":{"id":2357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2350,"name":"self","nodeType":"VariableDeclaration","scope":2447,"src":"1496:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2349,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"1496:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2352,"name":"_prev","nodeType":"VariableDeclaration","scope":2447,"src":"1515:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2351,"name":"uint","nodeType":"ElementaryTypeName","src":"1515:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2354,"name":"_curr","nodeType":"VariableDeclaration","scope":2447,"src":"1527:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2353,"name":"uint","nodeType":"ElementaryTypeName","src":"1527:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2356,"name":"_next","nodeType":"VariableDeclaration","scope":2447,"src":"1539:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2355,"name":"uint","nodeType":"ElementaryTypeName","src":"1539:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1495:55:4"},"payable":false,"returnParameters":{"id":2358,"nodeType":"ParameterList","parameters":[],"src":"1558:0:4"},"scope":2502,"src":"1480:495:4","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":2500,"nodeType":"Block","src":"2033:230:4","statements":[{"condition":{"argumentTypes":null,"id":2458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2043:22:4","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2455,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2053:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2456,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"2059:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2454,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"2044:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_bool_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (bool)"}},"id":2457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2044:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":2461,"nodeType":"IfStatement","src":"2039:49:4","trueBody":{"id":2460,"nodeType":"Block","src":"2067:21:4","statements":[{"expression":null,"functionReturnParameters":2453,"id":2459,"nodeType":"Return","src":"2075:7:4"}]}},{"assignments":[2463],"declarations":[{"constant":false,"id":2463,"name":"next","nodeType":"VariableDeclaration","scope":2501,"src":"2094:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2462,"name":"uint","nodeType":"ElementaryTypeName","src":"2094:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2468,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2465,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2114:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2466,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"2120:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2464,"name":"getNext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2306,"src":"2106:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2106:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2094:32:4"},{"assignments":[2470],"declarations":[{"constant":false,"id":2470,"name":"prev","nodeType":"VariableDeclaration","scope":2501,"src":"2132:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2469,"name":"uint","nodeType":"ElementaryTypeName","src":"2132:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2475,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2472,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2152:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2473,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"2158:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2471,"name":"getPrev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2322,"src":"2144:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2144:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2132:32:4"},{"expression":{"argumentTypes":null,"id":2483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2476,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2171:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"2171:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2480,"indexExpression":{"argumentTypes":null,"id":2478,"name":"next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2463,"src":"2180:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2171:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2481,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"prev","nodeType":"MemberAccess","referencedDeclaration":2210,"src":"2171:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2482,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2470,"src":"2193:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2171:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2484,"nodeType":"ExpressionStatement","src":"2171:26:4"},{"expression":{"argumentTypes":null,"id":2492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2485,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2203:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2488,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"2203:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2489,"indexExpression":{"argumentTypes":null,"id":2487,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2470,"src":"2212:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2203:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"next","nodeType":"MemberAccess","referencedDeclaration":2208,"src":"2203:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2491,"name":"next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2463,"src":"2225:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2203:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2493,"nodeType":"ExpressionStatement","src":"2203:26:4"},{"expression":{"argumentTypes":null,"id":2498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2236:22:4","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2494,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2243:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"2243:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2497,"indexExpression":{"argumentTypes":null,"id":2496,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"2252:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2243:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2499,"nodeType":"ExpressionStatement","src":"2236:22:4"}]},"documentation":null,"id":2501,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"remove","nodeType":"FunctionDefinition","parameters":{"id":2452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2449,"name":"self","nodeType":"VariableDeclaration","scope":2501,"src":"1995:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2448,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"1995:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2451,"name":"_curr","nodeType":"VariableDeclaration","scope":2501,"src":"2014:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2450,"name":"uint","nodeType":"ElementaryTypeName","src":"2014:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1994:31:4"},"payable":false,"returnParameters":{"id":2453,"nodeType":"ParameterList","parameters":[],"src":"2033:0:4"},"scope":2502,"src":"1979:284:4","stateMutability":"nonpayable","superFunction":null,"visibility":"public"}],"scope":2503,"src":"25:2240:4"}],"src":"0:2266:4"},"legacyAST":{"absolutePath":"dll/DLL.sol","exportedSymbols":{"DLL":[2502]},"id":2503,"nodeType":"SourceUnit","nodes":[{"id":2203,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:23:4"},{"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":null,"fullyImplemented":true,"id":2502,"linearizedBaseContracts":[2502],"name":"DLL","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":2206,"name":"NULL_NODE_ID","nodeType":"VariableDeclaration","scope":2502,"src":"42:30:4","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2204,"name":"uint","nodeType":"ElementaryTypeName","src":"42:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"30","id":2205,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"71:1:4","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"internal"},{"canonicalName":"DLL.Node","id":2211,"members":[{"constant":false,"id":2208,"name":"next","nodeType":"VariableDeclaration","scope":2211,"src":"95:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2207,"name":"uint","nodeType":"ElementaryTypeName","src":"95:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2210,"name":"prev","nodeType":"VariableDeclaration","scope":2211,"src":"110:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2209,"name":"uint","nodeType":"ElementaryTypeName","src":"110:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"name":"Node","nodeType":"StructDefinition","scope":2502,"src":"77:47:4","visibility":"public"},{"canonicalName":"DLL.Data","id":2216,"members":[{"constant":false,"id":2215,"name":"dll","nodeType":"VariableDeclaration","scope":2216,"src":"146:25:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"},"typeName":{"id":2214,"keyType":{"id":2212,"name":"uint","nodeType":"ElementaryTypeName","src":"154:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"146:21:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"},"valueType":{"contractScope":null,"id":2213,"name":"Node","nodeType":"UserDefinedTypeName","referencedDeclaration":2211,"src":"162:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage_ptr","typeString":"struct DLL.Node storage pointer"}}},"value":null,"visibility":"internal"}],"name":"Data","nodeType":"StructDefinition","scope":2502,"src":"128:48:4","visibility":"public"},{"body":{"id":2229,"nodeType":"Block","src":"243:48:4","statements":[{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2224,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2218,"src":"265:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}],"id":2223,"name":"getStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"256:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer) view returns (uint256)"}},"id":2225,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"256:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2226,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"274:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"256:30:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2222,"id":2228,"nodeType":"Return","src":"249:37:4"}]},"documentation":null,"id":2230,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"isEmpty","nodeType":"FunctionDefinition","parameters":{"id":2219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2218,"name":"self","nodeType":"VariableDeclaration","scope":2230,"src":"197:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2217,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"197:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"}],"src":"196:19:4"},"payable":false,"returnParameters":{"id":2222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2221,"name":"","nodeType":"VariableDeclaration","scope":2230,"src":"237:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2220,"name":"bool","nodeType":"ElementaryTypeName","src":"237:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"236:6:4"},"scope":2502,"src":"180:111:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2289,"nodeType":"Block","src":"371:305:4","statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2245,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2240,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"389:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}],"id":2239,"name":"isEmpty","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2230,"src":"381:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$returns$_t_bool_$","typeString":"function (struct DLL.Data storage pointer) view returns (bool)"}},"id":2241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"381:13:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2244,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2242,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"398:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2243,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"407:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"398:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"381:38:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":2249,"nodeType":"IfStatement","src":"377:71:4","trueBody":{"id":2248,"nodeType":"Block","src":"421:27:4","statements":[{"expression":{"argumentTypes":null,"hexValue":"66616c7365","id":2246,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"436:5:4","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":2238,"id":2247,"nodeType":"Return","src":"429:12:4"}]}},{"assignments":[2251],"declarations":[{"constant":false,"id":2251,"name":"isSingleNode","nodeType":"VariableDeclaration","scope":2290,"src":"455:17:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2250,"name":"bool","nodeType":"ElementaryTypeName","src":"455:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"id":2265,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2264,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2256,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2253,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"485:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}],"id":2252,"name":"getStart","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2335,"src":"476:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer) view returns (uint256)"}},"id":2254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"476:14:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2255,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"494:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"476:23:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2257,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"475:25:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2259,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"512:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}],"id":2258,"name":"getEnd","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2348,"src":"505:6:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer) view returns (uint256)"}},"id":2260,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"505:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2261,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"521:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"505:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2263,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"504:23:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"475:52:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"455:72:4"},{"assignments":[2267],"declarations":[{"constant":false,"id":2267,"name":"isNullNode","nodeType":"VariableDeclaration","scope":2290,"src":"533:15:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2266,"name":"bool","nodeType":"ElementaryTypeName","src":"533:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"id":2283,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2273,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2269,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"560:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2270,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"566:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2268,"name":"getNext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2306,"src":"552:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"552:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2272,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"576:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"552:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2274,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"551:38:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2280,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2276,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2232,"src":"602:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2277,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2234,"src":"608:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2275,"name":"getPrev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2322,"src":"594:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2278,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"594:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2279,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"618:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"594:36:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2281,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"593:38:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"551:80:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"533:98:4"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2287,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2284,"name":"isSingleNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2251,"src":"644:12:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"id":2286,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"660:11:4","subExpression":{"argumentTypes":null,"id":2285,"name":"isNullNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2267,"src":"661:10:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"644:27:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2238,"id":2288,"nodeType":"Return","src":"637:34:4"}]},"documentation":null,"id":2290,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"contains","nodeType":"FunctionDefinition","parameters":{"id":2235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2232,"name":"self","nodeType":"VariableDeclaration","scope":2290,"src":"313:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2231,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"313:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2234,"name":"_curr","nodeType":"VariableDeclaration","scope":2290,"src":"332:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2233,"name":"uint","nodeType":"ElementaryTypeName","src":"332:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"312:31:4"},"payable":false,"returnParameters":{"id":2238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2237,"name":"","nodeType":"VariableDeclaration","scope":2290,"src":"365:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2236,"name":"bool","nodeType":"ElementaryTypeName","src":"365:4:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"364:6:4"},"scope":2502,"src":"295:381:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2305,"nodeType":"Block","src":"755:38:4","statements":[{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2299,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2292,"src":"768:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2300,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"768:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2302,"indexExpression":{"argumentTypes":null,"id":2301,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2294,"src":"777:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"768:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2303,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"next","nodeType":"MemberAccess","referencedDeclaration":2208,"src":"768:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2298,"id":2304,"nodeType":"Return","src":"761:27:4"}]},"documentation":null,"id":2306,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getNext","nodeType":"FunctionDefinition","parameters":{"id":2295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2292,"name":"self","nodeType":"VariableDeclaration","scope":2306,"src":"697:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2291,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"697:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2294,"name":"_curr","nodeType":"VariableDeclaration","scope":2306,"src":"716:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2293,"name":"uint","nodeType":"ElementaryTypeName","src":"716:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"696:31:4"},"payable":false,"returnParameters":{"id":2298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2297,"name":"","nodeType":"VariableDeclaration","scope":2306,"src":"749:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2296,"name":"uint","nodeType":"ElementaryTypeName","src":"749:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"748:6:4"},"scope":2502,"src":"680:113:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2321,"nodeType":"Block","src":"872:38:4","statements":[{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2315,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2308,"src":"885:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2316,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"885:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2318,"indexExpression":{"argumentTypes":null,"id":2317,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2310,"src":"894:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"885:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2319,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"prev","nodeType":"MemberAccess","referencedDeclaration":2210,"src":"885:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2314,"id":2320,"nodeType":"Return","src":"878:27:4"}]},"documentation":null,"id":2322,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getPrev","nodeType":"FunctionDefinition","parameters":{"id":2311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2308,"name":"self","nodeType":"VariableDeclaration","scope":2322,"src":"814:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2307,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"814:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2310,"name":"_curr","nodeType":"VariableDeclaration","scope":2322,"src":"833:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2309,"name":"uint","nodeType":"ElementaryTypeName","src":"833:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"813:31:4"},"payable":false,"returnParameters":{"id":2314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2313,"name":"","nodeType":"VariableDeclaration","scope":2322,"src":"866:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2312,"name":"uint","nodeType":"ElementaryTypeName","src":"866:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"865:6:4"},"scope":2502,"src":"797:113:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2334,"nodeType":"Block","src":"978:45:4","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2330,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2324,"src":"999:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2331,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"1005:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2329,"name":"getNext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2306,"src":"991:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"991:27:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2328,"id":2333,"nodeType":"Return","src":"984:34:4"}]},"documentation":null,"id":2335,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getStart","nodeType":"FunctionDefinition","parameters":{"id":2325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2324,"name":"self","nodeType":"VariableDeclaration","scope":2335,"src":"932:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2323,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"932:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"}],"src":"931:19:4"},"payable":false,"returnParameters":{"id":2328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2327,"name":"","nodeType":"VariableDeclaration","scope":2335,"src":"972:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2326,"name":"uint","nodeType":"ElementaryTypeName","src":"972:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"971:6:4"},"scope":2502,"src":"914:109:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2347,"nodeType":"Block","src":"1089:45:4","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2343,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2337,"src":"1110:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2344,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"1116:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2342,"name":"getPrev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2322,"src":"1102:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1102:27:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":2341,"id":2346,"nodeType":"Return","src":"1095:34:4"}]},"documentation":null,"id":2348,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getEnd","nodeType":"FunctionDefinition","parameters":{"id":2338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2337,"name":"self","nodeType":"VariableDeclaration","scope":2348,"src":"1043:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2336,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"1043:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"}],"src":"1042:19:4"},"payable":false,"returnParameters":{"id":2341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2340,"name":"","nodeType":"VariableDeclaration","scope":2348,"src":"1083:4:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2339,"name":"uint","nodeType":"ElementaryTypeName","src":"1083:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1082:6:4"},"scope":2502,"src":"1027:107:4","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2446,"nodeType":"Block","src":"1558:417:4","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2362,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2360,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1572:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"id":2361,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"1581:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1572:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2359,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1564:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1564:30:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2364,"nodeType":"ExpressionStatement","src":"1564:30:4"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2366,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1608:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2367,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1614:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2365,"name":"remove","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2501,"src":"1601:6:4","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$__$","typeString":"function (struct DLL.Data storage pointer,uint256)"}},"id":2368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1601:19:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2369,"nodeType":"ExpressionStatement","src":"1601:19:4"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2378,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2373,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2371,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1635:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2372,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"1644:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1635:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2375,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1669:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2376,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1675:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2374,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"1660:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_bool_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (bool)"}},"id":2377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1660:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1635:46:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2370,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1627:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1627:55:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2380,"nodeType":"ExpressionStatement","src":"1627:55:4"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2389,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2382,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1696:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2383,"name":"NULL_NODE_ID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2206,"src":"1705:12:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1696:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2386,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1730:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2387,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1736:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2385,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"1721:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_bool_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (bool)"}},"id":2388,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1721:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"1696:46:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2381,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1688:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1688:55:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2391,"nodeType":"ExpressionStatement","src":"1688:55:4"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2398,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2394,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1766:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2395,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1772:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2393,"name":"getNext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2306,"src":"1758:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1758:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2397,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1782:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1758:29:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2392,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1750:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2399,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1750:38:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2400,"nodeType":"ExpressionStatement","src":"1750:38:4"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2407,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2403,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1810:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2404,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1816:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2402,"name":"getPrev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2322,"src":"1802:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2405,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1802:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2406,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1826:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1802:29:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2401,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1794:7:4","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2408,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1794:38:4","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2409,"nodeType":"ExpressionStatement","src":"1794:38:4"},{"expression":{"argumentTypes":null,"id":2417,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2410,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1839:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2413,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"1839:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2414,"indexExpression":{"argumentTypes":null,"id":2412,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1848:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1839:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2415,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"prev","nodeType":"MemberAccess","referencedDeclaration":2210,"src":"1839:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2416,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1862:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1839:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2418,"nodeType":"ExpressionStatement","src":"1839:28:4"},{"expression":{"argumentTypes":null,"id":2426,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2419,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1873:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2422,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"1873:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2423,"indexExpression":{"argumentTypes":null,"id":2421,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1882:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1873:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2424,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"next","nodeType":"MemberAccess","referencedDeclaration":2208,"src":"1873:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2425,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1896:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1873:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2427,"nodeType":"ExpressionStatement","src":"1873:28:4"},{"expression":{"argumentTypes":null,"id":2435,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2428,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1908:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"1908:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2432,"indexExpression":{"argumentTypes":null,"id":2430,"name":"_prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2352,"src":"1917:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1908:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2433,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"next","nodeType":"MemberAccess","referencedDeclaration":2208,"src":"1908:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2434,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1931:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1908:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2436,"nodeType":"ExpressionStatement","src":"1908:28:4"},{"expression":{"argumentTypes":null,"id":2444,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2437,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2350,"src":"1942:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2440,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"1942:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2441,"indexExpression":{"argumentTypes":null,"id":2439,"name":"_next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2356,"src":"1951:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1942:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2442,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"prev","nodeType":"MemberAccess","referencedDeclaration":2210,"src":"1942:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2443,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2354,"src":"1965:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1942:28:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2445,"nodeType":"ExpressionStatement","src":"1942:28:4"}]},"documentation":"@dev Inserts a new node between _prev and _next. When inserting a node already existing in \nthe list it will be automatically removed from the old position.\n@param _prev the node which _new will be inserted after\n@param _curr the id of the new node being inserted\n@param _next the node which _new will be inserted before","id":2447,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"insert","nodeType":"FunctionDefinition","parameters":{"id":2357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2350,"name":"self","nodeType":"VariableDeclaration","scope":2447,"src":"1496:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2349,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"1496:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2352,"name":"_prev","nodeType":"VariableDeclaration","scope":2447,"src":"1515:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2351,"name":"uint","nodeType":"ElementaryTypeName","src":"1515:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2354,"name":"_curr","nodeType":"VariableDeclaration","scope":2447,"src":"1527:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2353,"name":"uint","nodeType":"ElementaryTypeName","src":"1527:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2356,"name":"_next","nodeType":"VariableDeclaration","scope":2447,"src":"1539:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2355,"name":"uint","nodeType":"ElementaryTypeName","src":"1539:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1495:55:4"},"payable":false,"returnParameters":{"id":2358,"nodeType":"ParameterList","parameters":[],"src":"1558:0:4"},"scope":2502,"src":"1480:495:4","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":2500,"nodeType":"Block","src":"2033:230:4","statements":[{"condition":{"argumentTypes":null,"id":2458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"2043:22:4","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2455,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2053:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2456,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"2059:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2454,"name":"contains","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2290,"src":"2044:8:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_bool_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (bool)"}},"id":2457,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2044:21:4","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":2461,"nodeType":"IfStatement","src":"2039:49:4","trueBody":{"id":2460,"nodeType":"Block","src":"2067:21:4","statements":[{"expression":null,"functionReturnParameters":2453,"id":2459,"nodeType":"Return","src":"2075:7:4"}]}},{"assignments":[2463],"declarations":[{"constant":false,"id":2463,"name":"next","nodeType":"VariableDeclaration","scope":2501,"src":"2094:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2462,"name":"uint","nodeType":"ElementaryTypeName","src":"2094:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2468,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2465,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2114:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2466,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"2120:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2464,"name":"getNext","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2306,"src":"2106:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2106:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2094:32:4"},{"assignments":[2470],"declarations":[{"constant":false,"id":2470,"name":"prev","nodeType":"VariableDeclaration","scope":2501,"src":"2132:9:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2469,"name":"uint","nodeType":"ElementaryTypeName","src":"2132:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2475,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2472,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2152:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},{"argumentTypes":null,"id":2473,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"2158:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2471,"name":"getPrev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2322,"src":"2144:7:4","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2144:20:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2132:32:4"},{"expression":{"argumentTypes":null,"id":2483,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2476,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2171:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2479,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"2171:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2480,"indexExpression":{"argumentTypes":null,"id":2478,"name":"next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2463,"src":"2180:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2171:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2481,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"prev","nodeType":"MemberAccess","referencedDeclaration":2210,"src":"2171:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2482,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2470,"src":"2193:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2171:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2484,"nodeType":"ExpressionStatement","src":"2171:26:4"},{"expression":{"argumentTypes":null,"id":2492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2485,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2203:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2488,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"2203:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2489,"indexExpression":{"argumentTypes":null,"id":2487,"name":"prev","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2470,"src":"2212:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2203:14:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"id":2490,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"next","nodeType":"MemberAccess","referencedDeclaration":2208,"src":"2203:19:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2491,"name":"next","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2463,"src":"2225:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2203:26:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2493,"nodeType":"ExpressionStatement","src":"2203:26:4"},{"expression":{"argumentTypes":null,"id":2498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"2236:22:4","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2494,"name":"self","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2449,"src":"2243:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"id":2495,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"dll","nodeType":"MemberAccess","referencedDeclaration":2215,"src":"2243:8:4","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Node_$2211_storage_$","typeString":"mapping(uint256 => struct DLL.Node storage ref)"}},"id":2497,"indexExpression":{"argumentTypes":null,"id":2496,"name":"_curr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2451,"src":"2252:5:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2243:15:4","typeDescriptions":{"typeIdentifier":"t_struct$_Node_$2211_storage","typeString":"struct DLL.Node storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2499,"nodeType":"ExpressionStatement","src":"2236:22:4"}]},"documentation":null,"id":2501,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"remove","nodeType":"FunctionDefinition","parameters":{"id":2452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2449,"name":"self","nodeType":"VariableDeclaration","scope":2501,"src":"1995:17:4","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"},"typeName":{"contractScope":null,"id":2448,"name":"Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"1995:4:4","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2451,"name":"_curr","nodeType":"VariableDeclaration","scope":2501,"src":"2014:10:4","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2450,"name":"uint","nodeType":"ElementaryTypeName","src":"2014:4:4","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1994:31:4"},"payable":false,"returnParameters":{"id":2453,"nodeType":"ParameterList","parameters":[],"src":"2033:0:4"},"scope":2502,"src":"1979:284:4","stateMutability":"nonpayable","superFunction":null,"visibility":"public"}],"scope":2503,"src":"25:2240:4"}],"src":"0:2266:4"},"compiler":{"name":"solc","version":"0.4.21+commit.dfe3193c.Emscripten.clang"},"networks":{},"schemaVersion":"2.0.0","updatedAt":"2018-04-16T22:09:02.615Z"} /***/ }), /* 849 */ /***/ (function(module, exports) { -module.exports = {"contractName":"EIP20","abi":[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_initialAmount","type":"uint256"},{"name":"_tokenName","type":"string"},{"name":"_decimalUnits","type":"uint8"},{"name":"_tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b604051610cc5380380610cc58339810160405280805190602001909190805182019190602001805190602001909190805182019190505083600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008190555082600190805190602001906100a79291906100e3565b5081600260006101000a81548160ff021916908360ff16021790555080600390805190602001906100d99291906100e3565b5050505050610188565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012457805160ff1916838001178555610152565b82800160010185558215610152579182015b82811115610151578251825591602001919060010190610136565b5b50905061015f9190610163565b5090565b61018591905b80821115610181576000816000905550600101610169565b5090565b90565b610b2e806101976000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461009e578063095ea7b31461012c57806318160ddd1461018657806323b872dd146101af578063313ce5671461022857806370a082311461025757806395d89b41146102a4578063a9059cbb14610332578063dd62ed3e1461038c575b600080fd5b34156100a957600080fd5b6100b16103f8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f15780820151818401526020810190506100d6565b50505050905090810190601f16801561011e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013757600080fd5b61016c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610496565b604051808215151515815260200191505060405180910390f35b341561019157600080fd5b610199610588565b6040518082815260200191505060405180910390f35b34156101ba57600080fd5b61020e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058e565b604051808215151515815260200191505060405180910390f35b341561023357600080fd5b61023b610828565b604051808260ff1660ff16815260200191505060405180910390f35b341561026257600080fd5b61028e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061083b565b6040518082815260200191505060405180910390f35b34156102af57600080fd5b6102b7610884565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102f75780820151818401526020810190506102dc565b50505050905090810190601f1680156103245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561033d57600080fd5b610372600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610922565b604051808215151515815260200191505060405180910390f35b341561039757600080fd5b6103e2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a7b565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561048e5780601f106104635761010080835404028352916020019161048e565b820191906000526020600020905b81548152906001019060200180831161047157829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561065f5750828110155b151561066a57600080fd5b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107b75782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600260009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561091a5780601f106108ef5761010080835404028352916020019161091a565b820191906000526020600020905b8154815290600101906020018083116108fd57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561097257600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820dd9ee83821629bbbc9a7fd2f32e45f1b46f220635595e8eb7fb187d7882478ac0029","deployedBytecode":"0x606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461009e578063095ea7b31461012c57806318160ddd1461018657806323b872dd146101af578063313ce5671461022857806370a082311461025757806395d89b41146102a4578063a9059cbb14610332578063dd62ed3e1461038c575b600080fd5b34156100a957600080fd5b6100b16103f8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f15780820151818401526020810190506100d6565b50505050905090810190601f16801561011e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013757600080fd5b61016c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610496565b604051808215151515815260200191505060405180910390f35b341561019157600080fd5b610199610588565b6040518082815260200191505060405180910390f35b34156101ba57600080fd5b61020e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058e565b604051808215151515815260200191505060405180910390f35b341561023357600080fd5b61023b610828565b604051808260ff1660ff16815260200191505060405180910390f35b341561026257600080fd5b61028e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061083b565b6040518082815260200191505060405180910390f35b34156102af57600080fd5b6102b7610884565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102f75780820151818401526020810190506102dc565b50505050905090810190601f1680156103245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561033d57600080fd5b610372600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610922565b604051808215151515815260200191505060405180910390f35b341561039757600080fd5b6103e2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a7b565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561048e5780601f106104635761010080835404028352916020019161048e565b820191906000526020600020905b81548152906001019060200180831161047157829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561065f5750828110155b151561066a57600080fd5b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107b75782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600260009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561091a5780601f106108ef5761010080835404028352916020019161091a565b820191906000526020600020905b8154815290600101906020018083116108fd57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561097257600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820dd9ee83821629bbbc9a7fd2f32e45f1b46f220635595e8eb7fb187d7882478ac0029"} +module.exports = {"contractName":"EIP20","abi":[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_initialAmount","type":"uint256"},{"name":"_tokenName","type":"string"},{"name":"_decimalUnits","type":"uint8"},{"name":"_tokenSymbol","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b604051610cc5380380610cc58339810160405280805190602001909190805182019190602001805190602001909190805182019190505083600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508360008190555082600190805190602001906100a79291906100e3565b5081600260006101000a81548160ff021916908360ff16021790555080600390805190602001906100d99291906100e3565b5050505050610188565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061012457805160ff1916838001178555610152565b82800160010185558215610152579182015b82811115610151578251825591602001919060010190610136565b5b50905061015f9190610163565b5090565b61018591905b80821115610181576000816000905550600101610169565b5090565b90565b610b2e806101976000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461009e578063095ea7b31461012c57806318160ddd1461018657806323b872dd146101af578063313ce5671461022857806370a082311461025757806395d89b41146102a4578063a9059cbb14610332578063dd62ed3e1461038c575b600080fd5b34156100a957600080fd5b6100b16103f8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f15780820151818401526020810190506100d6565b50505050905090810190601f16801561011e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013757600080fd5b61016c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610496565b604051808215151515815260200191505060405180910390f35b341561019157600080fd5b610199610588565b6040518082815260200191505060405180910390f35b34156101ba57600080fd5b61020e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058e565b604051808215151515815260200191505060405180910390f35b341561023357600080fd5b61023b610828565b604051808260ff1660ff16815260200191505060405180910390f35b341561026257600080fd5b61028e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061083b565b6040518082815260200191505060405180910390f35b34156102af57600080fd5b6102b7610884565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102f75780820151818401526020810190506102dc565b50505050905090810190601f1680156103245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561033d57600080fd5b610372600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610922565b604051808215151515815260200191505060405180910390f35b341561039757600080fd5b6103e2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a7b565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561048e5780601f106104635761010080835404028352916020019161048e565b820191906000526020600020905b81548152906001019060200180831161047157829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561065f5750828110155b151561066a57600080fd5b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107b75782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600260009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561091a5780601f106108ef5761010080835404028352916020019161091a565b820191906000526020600020905b8154815290600101906020018083116108fd57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561097257600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820dd9ee83821629bbbc9a7fd2f32e45f1b46f220635595e8eb7fb187d7882478ac0029","deployedBytecode":"0x606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde031461009e578063095ea7b31461012c57806318160ddd1461018657806323b872dd146101af578063313ce5671461022857806370a082311461025757806395d89b41146102a4578063a9059cbb14610332578063dd62ed3e1461038c575b600080fd5b34156100a957600080fd5b6100b16103f8565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156100f15780820151818401526020810190506100d6565b50505050905090810190601f16801561011e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561013757600080fd5b61016c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610496565b604051808215151515815260200191505060405180910390f35b341561019157600080fd5b610199610588565b6040518082815260200191505060405180910390f35b34156101ba57600080fd5b61020e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058e565b604051808215151515815260200191505060405180910390f35b341561023357600080fd5b61023b610828565b604051808260ff1660ff16815260200191505060405180910390f35b341561026257600080fd5b61028e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061083b565b6040518082815260200191505060405180910390f35b34156102af57600080fd5b6102b7610884565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102f75780820151818401526020810190506102dc565b50505050905090810190601f1680156103245780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561033d57600080fd5b610372600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610922565b604051808215151515815260200191505060405180910390f35b341561039757600080fd5b6103e2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610a7b565b6040518082815260200191505060405180910390f35b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561048e5780601f106104635761010080835404028352916020019161048e565b820191906000526020600020905b81548152906001019060200180831161047157829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015801561065f5750828110155b151561066a57600080fd5b82600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555082600460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156107b75782600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055505b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600260009054906101000a900460ff1681565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60038054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561091a5780601f106108ef5761010080835404028352916020019161091a565b820191906000526020600020905b8154815290600101906020018083116108fd57829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015151561097257600080fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254039250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050929150505600a165627a7a72305820dd9ee83821629bbbc9a7fd2f32e45f1b46f220635595e8eb7fb187d7882478ac0029","sourceMap":"140:3125:6:-;;;725:642;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;907:14;884:8;:20;893:10;884:20;;;;;;;;;;;;;;;:37;;;;998:14;984:11;:28;;;;1075:10;1068:4;:17;;;;;;;;;;;;:::i;:::-;;1177:13;1166:8;;:24;;;;;;;;;;;;;;;;;;1279:12;1270:6;:21;;;;;;;;;;;;:::i;:::-;;725:642;;;;140:3125;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;","deployedSourceMap":"140:3125:6:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;515:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;515:18:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2801:205;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;618:26:7;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1987:689:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;586:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2682:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;657:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;657:20:6;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1373:608;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3012:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;515:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2801:205::-;2868:12;2924:6;2892:7;:19;2900:10;2892:19;;;;;;;;;;;;;;;:29;2912:8;2892:29;;;;;;;;;;;;;;;:38;;;;2961:8;2940:38;;2949:10;2940:38;;;2971:6;2940:38;;;;;;;;;;;;;;;;;;2995:4;2988:11;;2801:205;;;;:::o;618:26:7:-;;;;:::o;1987:689:6:-;2069:12;2330:17;2350:7;:14;2358:5;2350:14;;;;;;;;;;;;;;;:26;2365:10;2350:26;;;;;;;;;;;;;;;;2330:46;;2413:6;2394:8;:15;2403:5;2394:15;;;;;;;;;;;;;;;;:25;;:48;;;;;2436:6;2423:9;:19;;2394:48;2386:57;;;;;;;;2470:6;2453:8;:13;2462:3;2453:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;2505:6;2486:8;:15;2495:5;2486:15;;;;;;;;;;;;;;;;:25;;;;;;;;;;;211:10;2525:9;:23;2521:90;;;2594:6;2564:7;:14;2572:5;2564:14;;;;;;;;;;;;;;;:26;2579:10;2564:26;;;;;;;;;;;;;;;;:36;;;;;;;;;;;2521:90;2636:3;2620:28;;2629:5;2620:28;;;2641:6;2620:28;;;;;;;;;;;;;;;;;;2665:4;2658:11;;1987:689;;;;;;:::o;586:21::-;;;;;;;;;;;;;:::o;2682:113::-;2738:15;2772:8;:16;2781:6;2772:16;;;;;;;;;;;;;;;;2765:23;;2682:113;;;:::o;657:20::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1373:608::-;1436:12;1830:6;1806:8;:20;1815:10;1806:20;;;;;;;;;;;;;;;;:30;;1798:39;;;;;;;;1871:6;1847:8;:20;1856:10;1847:20;;;;;;;;;;;;;;;;:30;;;;;;;;;;;1904:6;1887:8;:13;1896:3;1887:13;;;;;;;;;;;;;;;;:23;;;;;;;;;;;1941:3;1920:33;;1929:10;1920:33;;;1946:6;1920:33;;;;;;;;;;;;;;;;;;1970:4;1963:11;;1373:608;;;;:::o;3012:144::-;3090:17;3124:7;:15;3132:6;3124:15;;;;;;;;;;;;;;;:25;3140:8;3124:25;;;;;;;;;;;;;;;;3117:32;;3012:144;;;;:::o","source":"/*\nImplements EIP20 token standard: https://github.com/ethereum/EIPs/issues/20\n.*/\npragma solidity ^0.4.8;\n\nimport \"./EIP20Interface.sol\";\n\ncontract EIP20 is EIP20Interface {\n\n uint256 constant MAX_UINT256 = 2**256 - 1;\n\n /*\n NOTE:\n The following variables are OPTIONAL vanities. One does not have to include them.\n They allow one to customise the token contract & in no way influences the core functionality.\n Some wallets/interfaces might not even bother to look at this information.\n */\n string public name; //fancy name: eg Simon Bucks\n uint8 public decimals; //How many decimals to show.\n string public symbol; //An identifier: eg SBX\n\n function EIP20(\n uint256 _initialAmount,\n string _tokenName,\n uint8 _decimalUnits,\n string _tokenSymbol\n ) public {\n balances[msg.sender] = _initialAmount; // Give the creator all initial tokens\n totalSupply = _initialAmount; // Update total supply\n name = _tokenName; // Set the name for display purposes\n decimals = _decimalUnits; // Amount of decimals for display purposes\n symbol = _tokenSymbol; // Set the symbol for display purposes\n }\n\n function transfer(address _to, uint256 _value) public returns (bool success) {\n //Default assumes totalSupply can't be over max (2^256 - 1).\n //If your token leaves out totalSupply and can issue more tokens as time goes on, you need to check if it doesn't wrap.\n //Replace the if with this one instead.\n //require(balances[msg.sender] >= _value && balances[_to] + _value > balances[_to]);\n require(balances[msg.sender] >= _value);\n balances[msg.sender] -= _value;\n balances[_to] += _value;\n Transfer(msg.sender, _to, _value);\n return true;\n }\n\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {\n //same as above. Replace this line with the following if you want to protect against wrapping uints.\n //require(balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value > balances[_to]);\n uint256 allowance = allowed[_from][msg.sender];\n require(balances[_from] >= _value && allowance >= _value);\n balances[_to] += _value;\n balances[_from] -= _value;\n if (allowance < MAX_UINT256) {\n allowed[_from][msg.sender] -= _value;\n }\n Transfer(_from, _to, _value);\n return true;\n }\n\n function balanceOf(address _owner) view public returns (uint256 balance) {\n return balances[_owner];\n }\n\n function approve(address _spender, uint256 _value) public returns (bool success) {\n allowed[msg.sender][_spender] = _value;\n Approval(msg.sender, _spender, _value);\n return true;\n }\n\n function allowance(address _owner, address _spender)\n view public returns (uint256 remaining) {\n return allowed[_owner][_spender];\n }\n\n mapping (address => uint256) balances;\n mapping (address => mapping (address => uint256)) allowed;\n}\n","sourcePath":"tokens/eip20/EIP20.sol","ast":{"absolutePath":"tokens/eip20/EIP20.sol","exportedSymbols":{"EIP20":[3752]},"id":3753,"nodeType":"SourceUnit","nodes":[{"id":3526,"literals":["solidity","^","0.4",".8"],"nodeType":"PragmaDirective","src":"83:23:6"},{"absolutePath":"tokens/eip20/EIP20Interface.sol","file":"./EIP20Interface.sol","id":3527,"nodeType":"ImportDirective","scope":3753,"sourceUnit":3819,"src":"108:30:6","symbolAliases":[],"unitAlias":""},{"baseContracts":[{"arguments":[],"baseName":{"contractScope":null,"id":3528,"name":"EIP20Interface","nodeType":"UserDefinedTypeName","referencedDeclaration":3818,"src":"158:14:6","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":3529,"nodeType":"InheritanceSpecifier","src":"158:14:6"}],"contractDependencies":[3818],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":3752,"linearizedBaseContracts":[3752,3818],"name":"EIP20","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":3536,"name":"MAX_UINT256","nodeType":"VariableDeclaration","scope":3752,"src":"180:41:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3530,"name":"uint256","nodeType":"ElementaryTypeName","src":"180:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"id":3535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1","typeString":"int_const 1157...(70 digits omitted)...9936"},"id":3533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"32","id":3531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"211:1:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"argumentTypes":null,"hexValue":"323536","id":3532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"214:3:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"211:6:6","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1","typeString":"int_const 1157...(70 digits omitted)...9936"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"hexValue":"31","id":3534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"220:1:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"211:10:6","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"}},"visibility":"internal"},{"constant":false,"id":3538,"name":"name","nodeType":"VariableDeclaration","scope":3752,"src":"515:18:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},"typeName":{"id":3537,"name":"string","nodeType":"ElementaryTypeName","src":"515:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"public"},{"constant":false,"id":3540,"name":"decimals","nodeType":"VariableDeclaration","scope":3752,"src":"586:21:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3539,"name":"uint8","nodeType":"ElementaryTypeName","src":"586:5:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"public"},{"constant":false,"id":3542,"name":"symbol","nodeType":"VariableDeclaration","scope":3752,"src":"657:20:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},"typeName":{"id":3541,"name":"string","nodeType":"ElementaryTypeName","src":"657:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"public"},{"body":{"id":3576,"nodeType":"Block","src":"874:493:6","statements":[{"expression":{"argumentTypes":null,"id":3558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3553,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"884:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3556,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3554,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"893:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"893:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"884:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3557,"name":"_initialAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3544,"src":"907:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"884:37:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3559,"nodeType":"ExpressionStatement","src":"884:37:6"},{"expression":{"argumentTypes":null,"id":3562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3560,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3756,"src":"984:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3561,"name":"_initialAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3544,"src":"998:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"984:28:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3563,"nodeType":"ExpressionStatement","src":"984:28:6"},{"expression":{"argumentTypes":null,"id":3566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3564,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3538,"src":"1068:4:6","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3565,"name":"_tokenName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3546,"src":"1075:10:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1068:17:6","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3567,"nodeType":"ExpressionStatement","src":"1068:17:6"},{"expression":{"argumentTypes":null,"id":3570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3568,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3540,"src":"1166:8:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3569,"name":"_decimalUnits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3548,"src":"1177:13:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1166:24:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":3571,"nodeType":"ExpressionStatement","src":"1166:24:6"},{"expression":{"argumentTypes":null,"id":3574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3572,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3542,"src":"1270:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3573,"name":"_tokenSymbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3550,"src":"1279:12:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1270:21:6","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3575,"nodeType":"ExpressionStatement","src":"1270:21:6"}]},"documentation":null,"id":3577,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"EIP20","nodeType":"FunctionDefinition","parameters":{"id":3551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3544,"name":"_initialAmount","nodeType":"VariableDeclaration","scope":3577,"src":"749:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3543,"name":"uint256","nodeType":"ElementaryTypeName","src":"749:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3546,"name":"_tokenName","nodeType":"VariableDeclaration","scope":3577,"src":"781:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":3545,"name":"string","nodeType":"ElementaryTypeName","src":"781:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":3548,"name":"_decimalUnits","nodeType":"VariableDeclaration","scope":3577,"src":"808:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3547,"name":"uint8","nodeType":"ElementaryTypeName","src":"808:5:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":3550,"name":"_tokenSymbol","nodeType":"VariableDeclaration","scope":3577,"src":"837:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":3549,"name":"string","nodeType":"ElementaryTypeName","src":"837:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"739:127:6"},"payable":false,"returnParameters":{"id":3552,"nodeType":"ParameterList","parameters":[],"src":"874:0:6"},"scope":3752,"src":"725:642:6","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":3617,"nodeType":"Block","src":"1450:531:6","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3587,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"1806:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3590,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3588,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"1815:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1815:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1806:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":3591,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3581,"src":"1830:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1806:30:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3586,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1798:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1798:39:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3594,"nodeType":"ExpressionStatement","src":"1798:39:6"},{"expression":{"argumentTypes":null,"id":3600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3595,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"1847:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3598,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3596,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"1856:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1856:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1847:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":3599,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3581,"src":"1871:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1847:30:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3601,"nodeType":"ExpressionStatement","src":"1847:30:6"},{"expression":{"argumentTypes":null,"id":3606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3602,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"1887:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3604,"indexExpression":{"argumentTypes":null,"id":3603,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3579,"src":"1896:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1887:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":3605,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3581,"src":"1904:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1887:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3607,"nodeType":"ExpressionStatement","src":"1887:23:6"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3609,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"1929:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1929:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3611,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3579,"src":"1941:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3612,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3581,"src":"1946:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3608,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3809,"src":"1920:8:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":3613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1920:33:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3614,"nodeType":"ExpressionStatement","src":"1920:33:6"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":3615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1970:4:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":3585,"id":3616,"nodeType":"Return","src":"1963:11:6"}]},"documentation":null,"id":3618,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"transfer","nodeType":"FunctionDefinition","parameters":{"id":3582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3579,"name":"_to","nodeType":"VariableDeclaration","scope":3618,"src":"1391:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3578,"name":"address","nodeType":"ElementaryTypeName","src":"1391:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3581,"name":"_value","nodeType":"VariableDeclaration","scope":3618,"src":"1404:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3580,"name":"uint256","nodeType":"ElementaryTypeName","src":"1404:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1390:29:6"},"payable":false,"returnParameters":{"id":3585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3584,"name":"success","nodeType":"VariableDeclaration","scope":3618,"src":"1436:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3583,"name":"bool","nodeType":"ElementaryTypeName","src":"1436:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1435:14:6"},"scope":3752,"src":"1373:608:6","stateMutability":"nonpayable","superFunction":3772,"visibility":"public"},{"body":{"id":3684,"nodeType":"Block","src":"2083:593:6","statements":[{"assignments":[3630],"declarations":[{"constant":false,"id":3630,"name":"allowance","nodeType":"VariableDeclaration","scope":3685,"src":"2330:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3629,"name":"uint256","nodeType":"ElementaryTypeName","src":"2330:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3637,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3631,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"2350:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":3633,"indexExpression":{"argumentTypes":null,"id":3632,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"2358:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2350:14:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3636,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3634,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"2365:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2365:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2350:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2330:46:6"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3639,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"2394:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3641,"indexExpression":{"argumentTypes":null,"id":3640,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"2403:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2394:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":3642,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2413:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2394:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3644,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3630,"src":"2423:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":3645,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2436:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2423:19:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2394:48:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3638,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"2386:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2386:57:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3649,"nodeType":"ExpressionStatement","src":"2386:57:6"},{"expression":{"argumentTypes":null,"id":3654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3650,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"2453:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3652,"indexExpression":{"argumentTypes":null,"id":3651,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3622,"src":"2462:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2453:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":3653,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2470:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2453:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3655,"nodeType":"ExpressionStatement","src":"2453:23:6"},{"expression":{"argumentTypes":null,"id":3660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3656,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"2486:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3658,"indexExpression":{"argumentTypes":null,"id":3657,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"2495:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2486:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":3659,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2505:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2486:25:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3661,"nodeType":"ExpressionStatement","src":"2486:25:6"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3662,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3630,"src":"2525:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"argumentTypes":null,"id":3663,"name":"MAX_UINT256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3536,"src":"2537:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2525:23:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":3675,"nodeType":"IfStatement","src":"2521:90:6","trueBody":{"id":3674,"nodeType":"Block","src":"2550:61:6","statements":[{"expression":{"argumentTypes":null,"id":3672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3665,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"2564:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":3669,"indexExpression":{"argumentTypes":null,"id":3666,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"2572:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2564:14:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3670,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3667,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"2579:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2579:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2564:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":3671,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2594:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2564:36:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3673,"nodeType":"ExpressionStatement","src":"2564:36:6"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3677,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"2629:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3678,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3622,"src":"2636:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3679,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2641:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3676,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3809,"src":"2620:8:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":3680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2620:28:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3681,"nodeType":"ExpressionStatement","src":"2620:28:6"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":3682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2665:4:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":3628,"id":3683,"nodeType":"Return","src":"2658:11:6"}]},"documentation":null,"id":3685,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"transferFrom","nodeType":"FunctionDefinition","parameters":{"id":3625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3620,"name":"_from","nodeType":"VariableDeclaration","scope":3685,"src":"2009:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3619,"name":"address","nodeType":"ElementaryTypeName","src":"2009:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3622,"name":"_to","nodeType":"VariableDeclaration","scope":3685,"src":"2024:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3621,"name":"address","nodeType":"ElementaryTypeName","src":"2024:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3624,"name":"_value","nodeType":"VariableDeclaration","scope":3685,"src":"2037:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3623,"name":"uint256","nodeType":"ElementaryTypeName","src":"2037:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2008:44:6"},"payable":false,"returnParameters":{"id":3628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3627,"name":"success","nodeType":"VariableDeclaration","scope":3685,"src":"2069:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3626,"name":"bool","nodeType":"ElementaryTypeName","src":"2069:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2068:14:6"},"scope":3752,"src":"1987:689:6","stateMutability":"nonpayable","superFunction":3783,"visibility":"public"},{"body":{"id":3696,"nodeType":"Block","src":"2755:40:6","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3692,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"2772:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3694,"indexExpression":{"argumentTypes":null,"id":3693,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3687,"src":"2781:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2772:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3691,"id":3695,"nodeType":"Return","src":"2765:23:6"}]},"documentation":null,"id":3697,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"balanceOf","nodeType":"FunctionDefinition","parameters":{"id":3688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3687,"name":"_owner","nodeType":"VariableDeclaration","scope":3697,"src":"2701:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3686,"name":"address","nodeType":"ElementaryTypeName","src":"2701:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"2700:16:6"},"payable":false,"returnParameters":{"id":3691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3690,"name":"balance","nodeType":"VariableDeclaration","scope":3697,"src":"2738:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3689,"name":"uint256","nodeType":"ElementaryTypeName","src":"2738:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2737:17:6"},"scope":3752,"src":"2682:113:6","stateMutability":"view","superFunction":3763,"visibility":"public"},{"body":{"id":3724,"nodeType":"Block","src":"2882:124:6","statements":[{"expression":{"argumentTypes":null,"id":3713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3706,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"2892:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":3710,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3707,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"2900:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2900:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2892:19:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3711,"indexExpression":{"argumentTypes":null,"id":3709,"name":"_spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3699,"src":"2912:8:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2892:29:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3712,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3701,"src":"2924:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2892:38:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3714,"nodeType":"ExpressionStatement","src":"2892:38:6"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3716,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"2949:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2949:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3718,"name":"_spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3699,"src":"2961:8:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3719,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3701,"src":"2971:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3715,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3817,"src":"2940:8:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":3720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2940:38:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3721,"nodeType":"ExpressionStatement","src":"2940:38:6"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":3722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2995:4:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":3705,"id":3723,"nodeType":"Return","src":"2988:11:6"}]},"documentation":null,"id":3725,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"approve","nodeType":"FunctionDefinition","parameters":{"id":3702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3699,"name":"_spender","nodeType":"VariableDeclaration","scope":3725,"src":"2818:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3698,"name":"address","nodeType":"ElementaryTypeName","src":"2818:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3701,"name":"_value","nodeType":"VariableDeclaration","scope":3725,"src":"2836:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3700,"name":"uint256","nodeType":"ElementaryTypeName","src":"2836:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2817:34:6"},"payable":false,"returnParameters":{"id":3705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3704,"name":"success","nodeType":"VariableDeclaration","scope":3725,"src":"2868:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3703,"name":"bool","nodeType":"ElementaryTypeName","src":"2868:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2867:14:6"},"scope":3752,"src":"2801:205:6","stateMutability":"nonpayable","superFunction":3792,"visibility":"public"},{"body":{"id":3740,"nodeType":"Block","src":"3109:47:6","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3734,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"3124:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":3736,"indexExpression":{"argumentTypes":null,"id":3735,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3727,"src":"3132:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3124:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3738,"indexExpression":{"argumentTypes":null,"id":3737,"name":"_spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3729,"src":"3140:8:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3124:25:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3733,"id":3739,"nodeType":"Return","src":"3117:32:6"}]},"documentation":null,"id":3741,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"allowance","nodeType":"FunctionDefinition","parameters":{"id":3730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3727,"name":"_owner","nodeType":"VariableDeclaration","scope":3741,"src":"3031:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3726,"name":"address","nodeType":"ElementaryTypeName","src":"3031:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3729,"name":"_spender","nodeType":"VariableDeclaration","scope":3741,"src":"3047:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3728,"name":"address","nodeType":"ElementaryTypeName","src":"3047:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"3030:34:6"},"payable":false,"returnParameters":{"id":3733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3732,"name":"remaining","nodeType":"VariableDeclaration","scope":3741,"src":"3090:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3731,"name":"uint256","nodeType":"ElementaryTypeName","src":"3090:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"3089:19:6"},"scope":3752,"src":"3012:144:6","stateMutability":"view","superFunction":3801,"visibility":"public"},{"constant":false,"id":3745,"name":"balances","nodeType":"VariableDeclaration","scope":3752,"src":"3162:37:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":3744,"keyType":{"id":3742,"name":"address","nodeType":"ElementaryTypeName","src":"3171:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3162:28:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":3743,"name":"uint256","nodeType":"ElementaryTypeName","src":"3182:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"internal"},{"constant":false,"id":3751,"name":"allowed","nodeType":"VariableDeclaration","scope":3752,"src":"3205:57:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":3750,"keyType":{"id":3746,"name":"address","nodeType":"ElementaryTypeName","src":"3214:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3205:49:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueType":{"id":3749,"keyType":{"id":3747,"name":"address","nodeType":"ElementaryTypeName","src":"3234:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3225:28:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":3748,"name":"uint256","nodeType":"ElementaryTypeName","src":"3245:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"value":null,"visibility":"internal"}],"scope":3753,"src":"140:3125:6"}],"src":"83:3183:6"},"legacyAST":{"absolutePath":"tokens/eip20/EIP20.sol","exportedSymbols":{"EIP20":[3752]},"id":3753,"nodeType":"SourceUnit","nodes":[{"id":3526,"literals":["solidity","^","0.4",".8"],"nodeType":"PragmaDirective","src":"83:23:6"},{"absolutePath":"tokens/eip20/EIP20Interface.sol","file":"./EIP20Interface.sol","id":3527,"nodeType":"ImportDirective","scope":3753,"sourceUnit":3819,"src":"108:30:6","symbolAliases":[],"unitAlias":""},{"baseContracts":[{"arguments":[],"baseName":{"contractScope":null,"id":3528,"name":"EIP20Interface","nodeType":"UserDefinedTypeName","referencedDeclaration":3818,"src":"158:14:6","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":3529,"nodeType":"InheritanceSpecifier","src":"158:14:6"}],"contractDependencies":[3818],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":3752,"linearizedBaseContracts":[3752,3818],"name":"EIP20","nodeType":"ContractDefinition","nodes":[{"constant":true,"id":3536,"name":"MAX_UINT256","nodeType":"VariableDeclaration","scope":3752,"src":"180:41:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3530,"name":"uint256","nodeType":"ElementaryTypeName","src":"180:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"},"id":3535,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1","typeString":"int_const 1157...(70 digits omitted)...9936"},"id":3533,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"32","id":3531,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"211:1:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"**","rightExpression":{"argumentTypes":null,"hexValue":"323536","id":3532,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"214:3:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_256_by_1","typeString":"int_const 256"},"value":"256"},"src":"211:6:6","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639936_by_1","typeString":"int_const 1157...(70 digits omitted)...9936"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"hexValue":"31","id":3534,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"220:1:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"211:10:6","typeDescriptions":{"typeIdentifier":"t_rational_115792089237316195423570985008687907853269984665640564039457584007913129639935_by_1","typeString":"int_const 1157...(70 digits omitted)...9935"}},"visibility":"internal"},{"constant":false,"id":3538,"name":"name","nodeType":"VariableDeclaration","scope":3752,"src":"515:18:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},"typeName":{"id":3537,"name":"string","nodeType":"ElementaryTypeName","src":"515:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"public"},{"constant":false,"id":3540,"name":"decimals","nodeType":"VariableDeclaration","scope":3752,"src":"586:21:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3539,"name":"uint8","nodeType":"ElementaryTypeName","src":"586:5:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"public"},{"constant":false,"id":3542,"name":"symbol","nodeType":"VariableDeclaration","scope":3752,"src":"657:20:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},"typeName":{"id":3541,"name":"string","nodeType":"ElementaryTypeName","src":"657:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"public"},{"body":{"id":3576,"nodeType":"Block","src":"874:493:6","statements":[{"expression":{"argumentTypes":null,"id":3558,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3553,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"884:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3556,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3554,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"893:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"893:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"884:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3557,"name":"_initialAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3544,"src":"907:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"884:37:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3559,"nodeType":"ExpressionStatement","src":"884:37:6"},{"expression":{"argumentTypes":null,"id":3562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3560,"name":"totalSupply","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3756,"src":"984:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3561,"name":"_initialAmount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3544,"src":"998:14:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"984:28:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3563,"nodeType":"ExpressionStatement","src":"984:28:6"},{"expression":{"argumentTypes":null,"id":3566,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3564,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3538,"src":"1068:4:6","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3565,"name":"_tokenName","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3546,"src":"1075:10:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1068:17:6","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3567,"nodeType":"ExpressionStatement","src":"1068:17:6"},{"expression":{"argumentTypes":null,"id":3570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3568,"name":"decimals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3540,"src":"1166:8:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3569,"name":"_decimalUnits","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3548,"src":"1177:13:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"src":"1166:24:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"id":3571,"nodeType":"ExpressionStatement","src":"1166:24:6"},{"expression":{"argumentTypes":null,"id":3574,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3572,"name":"symbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3542,"src":"1270:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3573,"name":"_tokenSymbol","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3550,"src":"1279:12:6","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"1270:21:6","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":3575,"nodeType":"ExpressionStatement","src":"1270:21:6"}]},"documentation":null,"id":3577,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"EIP20","nodeType":"FunctionDefinition","parameters":{"id":3551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3544,"name":"_initialAmount","nodeType":"VariableDeclaration","scope":3577,"src":"749:22:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3543,"name":"uint256","nodeType":"ElementaryTypeName","src":"749:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3546,"name":"_tokenName","nodeType":"VariableDeclaration","scope":3577,"src":"781:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":3545,"name":"string","nodeType":"ElementaryTypeName","src":"781:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":3548,"name":"_decimalUnits","nodeType":"VariableDeclaration","scope":3577,"src":"808:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":3547,"name":"uint8","nodeType":"ElementaryTypeName","src":"808:5:6","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"value":null,"visibility":"internal"},{"constant":false,"id":3550,"name":"_tokenSymbol","nodeType":"VariableDeclaration","scope":3577,"src":"837:19:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":3549,"name":"string","nodeType":"ElementaryTypeName","src":"837:6:6","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"739:127:6"},"payable":false,"returnParameters":{"id":3552,"nodeType":"ParameterList","parameters":[],"src":"874:0:6"},"scope":3752,"src":"725:642:6","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":3617,"nodeType":"Block","src":"1450:531:6","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3592,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3587,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"1806:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3590,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3588,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"1815:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1815:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"1806:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":3591,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3581,"src":"1830:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1806:30:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3586,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"1798:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1798:39:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3594,"nodeType":"ExpressionStatement","src":"1798:39:6"},{"expression":{"argumentTypes":null,"id":3600,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3595,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"1847:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3598,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3596,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"1856:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1856:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1847:20:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":3599,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3581,"src":"1871:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1847:30:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3601,"nodeType":"ExpressionStatement","src":"1847:30:6"},{"expression":{"argumentTypes":null,"id":3606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3602,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"1887:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3604,"indexExpression":{"argumentTypes":null,"id":3603,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3579,"src":"1896:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"1887:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":3605,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3581,"src":"1904:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"1887:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3607,"nodeType":"ExpressionStatement","src":"1887:23:6"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3609,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"1929:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3610,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"1929:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3611,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3579,"src":"1941:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3612,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3581,"src":"1946:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3608,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3809,"src":"1920:8:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":3613,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"1920:33:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3614,"nodeType":"ExpressionStatement","src":"1920:33:6"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":3615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"1970:4:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":3585,"id":3616,"nodeType":"Return","src":"1963:11:6"}]},"documentation":null,"id":3618,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"transfer","nodeType":"FunctionDefinition","parameters":{"id":3582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3579,"name":"_to","nodeType":"VariableDeclaration","scope":3618,"src":"1391:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3578,"name":"address","nodeType":"ElementaryTypeName","src":"1391:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3581,"name":"_value","nodeType":"VariableDeclaration","scope":3618,"src":"1404:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3580,"name":"uint256","nodeType":"ElementaryTypeName","src":"1404:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1390:29:6"},"payable":false,"returnParameters":{"id":3585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3584,"name":"success","nodeType":"VariableDeclaration","scope":3618,"src":"1436:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3583,"name":"bool","nodeType":"ElementaryTypeName","src":"1436:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1435:14:6"},"scope":3752,"src":"1373:608:6","stateMutability":"nonpayable","superFunction":3772,"visibility":"public"},{"body":{"id":3684,"nodeType":"Block","src":"2083:593:6","statements":[{"assignments":[3630],"declarations":[{"constant":false,"id":3630,"name":"allowance","nodeType":"VariableDeclaration","scope":3685,"src":"2330:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3629,"name":"uint256","nodeType":"ElementaryTypeName","src":"2330:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3637,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3631,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"2350:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":3633,"indexExpression":{"argumentTypes":null,"id":3632,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"2358:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2350:14:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3636,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3634,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"2365:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3635,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2365:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2350:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"2330:46:6"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3647,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3639,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"2394:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3641,"indexExpression":{"argumentTypes":null,"id":3640,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"2403:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2394:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":3642,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2413:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2394:25:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3646,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3644,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3630,"src":"2423:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":3645,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2436:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2423:19:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"2394:48:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3638,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"2386:7:6","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3648,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2386:57:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3649,"nodeType":"ExpressionStatement","src":"2386:57:6"},{"expression":{"argumentTypes":null,"id":3654,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3650,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"2453:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3652,"indexExpression":{"argumentTypes":null,"id":3651,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3622,"src":"2462:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2453:13:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":3653,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2470:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2453:23:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3655,"nodeType":"ExpressionStatement","src":"2453:23:6"},{"expression":{"argumentTypes":null,"id":3660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3656,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"2486:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3658,"indexExpression":{"argumentTypes":null,"id":3657,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"2495:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2486:15:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":3659,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2505:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2486:25:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3661,"nodeType":"ExpressionStatement","src":"2486:25:6"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3664,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3662,"name":"allowance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3630,"src":"2525:9:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"argumentTypes":null,"id":3663,"name":"MAX_UINT256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3536,"src":"2537:11:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2525:23:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":3675,"nodeType":"IfStatement","src":"2521:90:6","trueBody":{"id":3674,"nodeType":"Block","src":"2550:61:6","statements":[{"expression":{"argumentTypes":null,"id":3672,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3665,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"2564:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":3669,"indexExpression":{"argumentTypes":null,"id":3666,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"2572:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2564:14:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3670,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3667,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"2579:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3668,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2579:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2564:26:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":3671,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2594:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2564:36:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3673,"nodeType":"ExpressionStatement","src":"2564:36:6"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3677,"name":"_from","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3620,"src":"2629:5:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3678,"name":"_to","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3622,"src":"2636:3:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3679,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3624,"src":"2641:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3676,"name":"Transfer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3809,"src":"2620:8:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":3680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2620:28:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3681,"nodeType":"ExpressionStatement","src":"2620:28:6"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":3682,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2665:4:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":3628,"id":3683,"nodeType":"Return","src":"2658:11:6"}]},"documentation":null,"id":3685,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"transferFrom","nodeType":"FunctionDefinition","parameters":{"id":3625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3620,"name":"_from","nodeType":"VariableDeclaration","scope":3685,"src":"2009:13:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3619,"name":"address","nodeType":"ElementaryTypeName","src":"2009:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3622,"name":"_to","nodeType":"VariableDeclaration","scope":3685,"src":"2024:11:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3621,"name":"address","nodeType":"ElementaryTypeName","src":"2024:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3624,"name":"_value","nodeType":"VariableDeclaration","scope":3685,"src":"2037:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3623,"name":"uint256","nodeType":"ElementaryTypeName","src":"2037:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2008:44:6"},"payable":false,"returnParameters":{"id":3628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3627,"name":"success","nodeType":"VariableDeclaration","scope":3685,"src":"2069:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3626,"name":"bool","nodeType":"ElementaryTypeName","src":"2069:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2068:14:6"},"scope":3752,"src":"1987:689:6","stateMutability":"nonpayable","superFunction":3783,"visibility":"public"},{"body":{"id":3696,"nodeType":"Block","src":"2755:40:6","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3692,"name":"balances","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3745,"src":"2772:8:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3694,"indexExpression":{"argumentTypes":null,"id":3693,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3687,"src":"2781:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2772:16:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3691,"id":3695,"nodeType":"Return","src":"2765:23:6"}]},"documentation":null,"id":3697,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"balanceOf","nodeType":"FunctionDefinition","parameters":{"id":3688,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3687,"name":"_owner","nodeType":"VariableDeclaration","scope":3697,"src":"2701:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3686,"name":"address","nodeType":"ElementaryTypeName","src":"2701:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"2700:16:6"},"payable":false,"returnParameters":{"id":3691,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3690,"name":"balance","nodeType":"VariableDeclaration","scope":3697,"src":"2738:15:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3689,"name":"uint256","nodeType":"ElementaryTypeName","src":"2738:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2737:17:6"},"scope":3752,"src":"2682:113:6","stateMutability":"view","superFunction":3763,"visibility":"public"},{"body":{"id":3724,"nodeType":"Block","src":"2882:124:6","statements":[{"expression":{"argumentTypes":null,"id":3713,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3706,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"2892:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":3710,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3707,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"2900:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2900:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"2892:19:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3711,"indexExpression":{"argumentTypes":null,"id":3709,"name":"_spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3699,"src":"2912:8:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"2892:29:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":3712,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3701,"src":"2924:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2892:38:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3714,"nodeType":"ExpressionStatement","src":"2892:38:6"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3716,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"2949:3:6","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"2949:10:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3718,"name":"_spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3699,"src":"2961:8:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3719,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3701,"src":"2971:6:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3715,"name":"Approval","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3817,"src":"2940:8:6","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$","typeString":"function (address,address,uint256)"}},"id":3720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2940:38:6","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3721,"nodeType":"ExpressionStatement","src":"2940:38:6"},{"expression":{"argumentTypes":null,"hexValue":"74727565","id":3722,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"2995:4:6","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":3705,"id":3723,"nodeType":"Return","src":"2988:11:6"}]},"documentation":null,"id":3725,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"approve","nodeType":"FunctionDefinition","parameters":{"id":3702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3699,"name":"_spender","nodeType":"VariableDeclaration","scope":3725,"src":"2818:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3698,"name":"address","nodeType":"ElementaryTypeName","src":"2818:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3701,"name":"_value","nodeType":"VariableDeclaration","scope":3725,"src":"2836:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3700,"name":"uint256","nodeType":"ElementaryTypeName","src":"2836:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2817:34:6"},"payable":false,"returnParameters":{"id":3705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3704,"name":"success","nodeType":"VariableDeclaration","scope":3725,"src":"2868:12:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3703,"name":"bool","nodeType":"ElementaryTypeName","src":"2868:4:6","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"2867:14:6"},"scope":3752,"src":"2801:205:6","stateMutability":"nonpayable","superFunction":3792,"visibility":"public"},{"body":{"id":3740,"nodeType":"Block","src":"3109:47:6","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3734,"name":"allowed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3751,"src":"3124:7:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"}},"id":3736,"indexExpression":{"argumentTypes":null,"id":3735,"name":"_owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3727,"src":"3132:6:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3124:15:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":3738,"indexExpression":{"argumentTypes":null,"id":3737,"name":"_spender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3729,"src":"3140:8:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3124:25:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3733,"id":3739,"nodeType":"Return","src":"3117:32:6"}]},"documentation":null,"id":3741,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"allowance","nodeType":"FunctionDefinition","parameters":{"id":3730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3727,"name":"_owner","nodeType":"VariableDeclaration","scope":3741,"src":"3031:14:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3726,"name":"address","nodeType":"ElementaryTypeName","src":"3031:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3729,"name":"_spender","nodeType":"VariableDeclaration","scope":3741,"src":"3047:16:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3728,"name":"address","nodeType":"ElementaryTypeName","src":"3047:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"3030:34:6"},"payable":false,"returnParameters":{"id":3733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3732,"name":"remaining","nodeType":"VariableDeclaration","scope":3741,"src":"3090:17:6","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3731,"name":"uint256","nodeType":"ElementaryTypeName","src":"3090:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"3089:19:6"},"scope":3752,"src":"3012:144:6","stateMutability":"view","superFunction":3801,"visibility":"public"},{"constant":false,"id":3745,"name":"balances","nodeType":"VariableDeclaration","scope":3752,"src":"3162:37:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":3744,"keyType":{"id":3742,"name":"address","nodeType":"ElementaryTypeName","src":"3171:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3162:28:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":3743,"name":"uint256","nodeType":"ElementaryTypeName","src":"3182:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"internal"},{"constant":false,"id":3751,"name":"allowed","nodeType":"VariableDeclaration","scope":3752,"src":"3205:57:6","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"typeName":{"id":3750,"keyType":{"id":3746,"name":"address","nodeType":"ElementaryTypeName","src":"3214:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3205:49:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$","typeString":"mapping(address => mapping(address => uint256))"},"valueType":{"id":3749,"keyType":{"id":3747,"name":"address","nodeType":"ElementaryTypeName","src":"3234:7:6","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"3225:28:6","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":3748,"name":"uint256","nodeType":"ElementaryTypeName","src":"3245:7:6","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}}},"value":null,"visibility":"internal"}],"scope":3753,"src":"140:3125:6"}],"src":"83:3183:6"},"compiler":{"name":"solc","version":"0.4.21+commit.dfe3193c.Emscripten.clang"},"networks":{},"schemaVersion":"2.0.0","updatedAt":"2018-04-16T22:09:02.622Z"} /***/ }), /* 850 */ /***/ (function(module, exports) { -module.exports = {"contractName":"EIP20Interface","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x","deployedBytecode":"0x"} +module.exports = {"contractName":"EIP20Interface","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_spender","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"Approval","type":"event"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x","deployedBytecode":"0x","sourceMap":"","deployedSourceMap":"","source":"// Abstract contract for the full ERC 20 Token standard\n// https://github.com/ethereum/EIPs/issues/20\npragma solidity ^0.4.8;\n\ncontract EIP20Interface {\n /* This is a slight change to the ERC20 base standard.\n function totalSupply() constant returns (uint256 supply);\n is replaced with:\n uint256 public totalSupply;\n This automatically creates a getter function for the totalSupply.\n This is moved to the base contract since public getter functions are not\n currently recognised as an implementation of the matching abstract\n function by the compiler.\n */\n /// total amount of tokens\n uint256 public totalSupply;\n\n /// @param _owner The address from which the balance will be retrieved\n /// @return The balance\n function balanceOf(address _owner) public view returns (uint256 balance);\n\n /// @notice send `_value` token to `_to` from `msg.sender`\n /// @param _to The address of the recipient\n /// @param _value The amount of token to be transferred\n /// @return Whether the transfer was successful or not\n function transfer(address _to, uint256 _value) public returns (bool success);\n\n /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\n /// @param _from The address of the sender\n /// @param _to The address of the recipient\n /// @param _value The amount of token to be transferred\n /// @return Whether the transfer was successful or not\n function transferFrom(address _from, address _to, uint256 _value) public returns (bool success);\n\n /// @notice `msg.sender` approves `_spender` to spend `_value` tokens\n /// @param _spender The address of the account able to transfer the tokens\n /// @param _value The amount of tokens to be approved for transfer\n /// @return Whether the approval was successful or not\n function approve(address _spender, uint256 _value) public returns (bool success);\n\n /// @param _owner The address of the account owning tokens\n /// @param _spender The address of the account able to transfer the tokens\n /// @return Amount of remaining tokens allowed to spent\n function allowance(address _owner, address _spender) public view returns (uint256 remaining);\n\n event Transfer(address indexed _from, address indexed _to, uint256 _value);\n event Approval(address indexed _owner, address indexed _spender, uint256 _value);\n}\n","sourcePath":"tokens/eip20/EIP20Interface.sol","ast":{"absolutePath":"tokens/eip20/EIP20Interface.sol","exportedSymbols":{"EIP20Interface":[3818]},"id":3819,"nodeType":"SourceUnit","nodes":[{"id":3754,"literals":["solidity","^","0.4",".8"],"nodeType":"PragmaDirective","src":"102:23:7"},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":false,"id":3818,"linearizedBaseContracts":[3818],"name":"EIP20Interface","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":3756,"name":"totalSupply","nodeType":"VariableDeclaration","scope":3818,"src":"618:26:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3755,"name":"uint256","nodeType":"ElementaryTypeName","src":"618:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"body":null,"documentation":"@param _owner The address from which the balance will be retrieved\n @return The balance","id":3763,"implemented":false,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"balanceOf","nodeType":"FunctionDefinition","parameters":{"id":3759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3758,"name":"_owner","nodeType":"VariableDeclaration","scope":3763,"src":"773:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3757,"name":"address","nodeType":"ElementaryTypeName","src":"773:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"772:16:7"},"payable":false,"returnParameters":{"id":3762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3761,"name":"balance","nodeType":"VariableDeclaration","scope":3763,"src":"810:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3760,"name":"uint256","nodeType":"ElementaryTypeName","src":"810:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"809:17:7"},"scope":3818,"src":"754:73:7","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":null,"documentation":"@notice send `_value` token to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _value The amount of token to be transferred\n @return Whether the transfer was successful or not","id":3772,"implemented":false,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"transfer","nodeType":"FunctionDefinition","parameters":{"id":3768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3765,"name":"_to","nodeType":"VariableDeclaration","scope":3772,"src":"1081:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3764,"name":"address","nodeType":"ElementaryTypeName","src":"1081:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3767,"name":"_value","nodeType":"VariableDeclaration","scope":3772,"src":"1094:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3766,"name":"uint256","nodeType":"ElementaryTypeName","src":"1094:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1080:29:7"},"payable":false,"returnParameters":{"id":3771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3770,"name":"success","nodeType":"VariableDeclaration","scope":3772,"src":"1126:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3769,"name":"bool","nodeType":"ElementaryTypeName","src":"1126:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1125:14:7"},"scope":3818,"src":"1063:77:7","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":null,"documentation":"@notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\n @param _from The address of the sender\n @param _to The address of the recipient\n @param _value The amount of token to be transferred\n @return Whether the transfer was successful or not","id":3783,"implemented":false,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"transferFrom","nodeType":"FunctionDefinition","parameters":{"id":3779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3774,"name":"_from","nodeType":"VariableDeclaration","scope":3783,"src":"1483:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3773,"name":"address","nodeType":"ElementaryTypeName","src":"1483:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3776,"name":"_to","nodeType":"VariableDeclaration","scope":3783,"src":"1498:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3775,"name":"address","nodeType":"ElementaryTypeName","src":"1498:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3778,"name":"_value","nodeType":"VariableDeclaration","scope":3783,"src":"1511:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3777,"name":"uint256","nodeType":"ElementaryTypeName","src":"1511:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1482:44:7"},"payable":false,"returnParameters":{"id":3782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3781,"name":"success","nodeType":"VariableDeclaration","scope":3783,"src":"1543:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3780,"name":"bool","nodeType":"ElementaryTypeName","src":"1543:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1542:14:7"},"scope":3818,"src":"1461:96:7","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":null,"documentation":"@notice `msg.sender` approves `_spender` to spend `_value` tokens\n @param _spender The address of the account able to transfer the tokens\n @param _value The amount of tokens to be approved for transfer\n @return Whether the approval was successful or not","id":3792,"implemented":false,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"approve","nodeType":"FunctionDefinition","parameters":{"id":3788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3785,"name":"_spender","nodeType":"VariableDeclaration","scope":3792,"src":"1863:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3784,"name":"address","nodeType":"ElementaryTypeName","src":"1863:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3787,"name":"_value","nodeType":"VariableDeclaration","scope":3792,"src":"1881:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3786,"name":"uint256","nodeType":"ElementaryTypeName","src":"1881:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1862:34:7"},"payable":false,"returnParameters":{"id":3791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3790,"name":"success","nodeType":"VariableDeclaration","scope":3792,"src":"1913:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3789,"name":"bool","nodeType":"ElementaryTypeName","src":"1913:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1912:14:7"},"scope":3818,"src":"1846:81:7","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":null,"documentation":"@param _owner The address of the account owning tokens\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens allowed to spent","id":3801,"implemented":false,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"allowance","nodeType":"FunctionDefinition","parameters":{"id":3797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3794,"name":"_owner","nodeType":"VariableDeclaration","scope":3801,"src":"2154:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3793,"name":"address","nodeType":"ElementaryTypeName","src":"2154:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3796,"name":"_spender","nodeType":"VariableDeclaration","scope":3801,"src":"2170:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3795,"name":"address","nodeType":"ElementaryTypeName","src":"2170:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"2153:34:7"},"payable":false,"returnParameters":{"id":3800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3799,"name":"remaining","nodeType":"VariableDeclaration","scope":3801,"src":"2209:17:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3798,"name":"uint256","nodeType":"ElementaryTypeName","src":"2209:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2208:19:7"},"scope":3818,"src":"2135:93:7","stateMutability":"view","superFunction":null,"visibility":"public"},{"anonymous":false,"documentation":null,"id":3809,"name":"Transfer","nodeType":"EventDefinition","parameters":{"id":3808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3803,"indexed":true,"name":"_from","nodeType":"VariableDeclaration","scope":3809,"src":"2249:21:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3802,"name":"address","nodeType":"ElementaryTypeName","src":"2249:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3805,"indexed":true,"name":"_to","nodeType":"VariableDeclaration","scope":3809,"src":"2272:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3804,"name":"address","nodeType":"ElementaryTypeName","src":"2272:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3807,"indexed":false,"name":"_value","nodeType":"VariableDeclaration","scope":3809,"src":"2293:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3806,"name":"uint256","nodeType":"ElementaryTypeName","src":"2293:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2248:60:7"},"src":"2234:75:7"},{"anonymous":false,"documentation":null,"id":3817,"name":"Approval","nodeType":"EventDefinition","parameters":{"id":3816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3811,"indexed":true,"name":"_owner","nodeType":"VariableDeclaration","scope":3817,"src":"2329:22:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3810,"name":"address","nodeType":"ElementaryTypeName","src":"2329:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3813,"indexed":true,"name":"_spender","nodeType":"VariableDeclaration","scope":3817,"src":"2353:24:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3812,"name":"address","nodeType":"ElementaryTypeName","src":"2353:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3815,"indexed":false,"name":"_value","nodeType":"VariableDeclaration","scope":3817,"src":"2379:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3814,"name":"uint256","nodeType":"ElementaryTypeName","src":"2379:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2328:66:7"},"src":"2314:81:7"}],"scope":3819,"src":"127:2270:7"}],"src":"102:2296:7"},"legacyAST":{"absolutePath":"tokens/eip20/EIP20Interface.sol","exportedSymbols":{"EIP20Interface":[3818]},"id":3819,"nodeType":"SourceUnit","nodes":[{"id":3754,"literals":["solidity","^","0.4",".8"],"nodeType":"PragmaDirective","src":"102:23:7"},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":false,"id":3818,"linearizedBaseContracts":[3818],"name":"EIP20Interface","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":3756,"name":"totalSupply","nodeType":"VariableDeclaration","scope":3818,"src":"618:26:7","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3755,"name":"uint256","nodeType":"ElementaryTypeName","src":"618:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"body":null,"documentation":"@param _owner The address from which the balance will be retrieved\n @return The balance","id":3763,"implemented":false,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"balanceOf","nodeType":"FunctionDefinition","parameters":{"id":3759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3758,"name":"_owner","nodeType":"VariableDeclaration","scope":3763,"src":"773:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3757,"name":"address","nodeType":"ElementaryTypeName","src":"773:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"772:16:7"},"payable":false,"returnParameters":{"id":3762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3761,"name":"balance","nodeType":"VariableDeclaration","scope":3763,"src":"810:15:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3760,"name":"uint256","nodeType":"ElementaryTypeName","src":"810:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"809:17:7"},"scope":3818,"src":"754:73:7","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":null,"documentation":"@notice send `_value` token to `_to` from `msg.sender`\n @param _to The address of the recipient\n @param _value The amount of token to be transferred\n @return Whether the transfer was successful or not","id":3772,"implemented":false,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"transfer","nodeType":"FunctionDefinition","parameters":{"id":3768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3765,"name":"_to","nodeType":"VariableDeclaration","scope":3772,"src":"1081:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3764,"name":"address","nodeType":"ElementaryTypeName","src":"1081:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3767,"name":"_value","nodeType":"VariableDeclaration","scope":3772,"src":"1094:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3766,"name":"uint256","nodeType":"ElementaryTypeName","src":"1094:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1080:29:7"},"payable":false,"returnParameters":{"id":3771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3770,"name":"success","nodeType":"VariableDeclaration","scope":3772,"src":"1126:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3769,"name":"bool","nodeType":"ElementaryTypeName","src":"1126:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1125:14:7"},"scope":3818,"src":"1063:77:7","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":null,"documentation":"@notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\n @param _from The address of the sender\n @param _to The address of the recipient\n @param _value The amount of token to be transferred\n @return Whether the transfer was successful or not","id":3783,"implemented":false,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"transferFrom","nodeType":"FunctionDefinition","parameters":{"id":3779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3774,"name":"_from","nodeType":"VariableDeclaration","scope":3783,"src":"1483:13:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3773,"name":"address","nodeType":"ElementaryTypeName","src":"1483:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3776,"name":"_to","nodeType":"VariableDeclaration","scope":3783,"src":"1498:11:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3775,"name":"address","nodeType":"ElementaryTypeName","src":"1498:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3778,"name":"_value","nodeType":"VariableDeclaration","scope":3783,"src":"1511:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3777,"name":"uint256","nodeType":"ElementaryTypeName","src":"1511:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1482:44:7"},"payable":false,"returnParameters":{"id":3782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3781,"name":"success","nodeType":"VariableDeclaration","scope":3783,"src":"1543:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3780,"name":"bool","nodeType":"ElementaryTypeName","src":"1543:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1542:14:7"},"scope":3818,"src":"1461:96:7","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":null,"documentation":"@notice `msg.sender` approves `_spender` to spend `_value` tokens\n @param _spender The address of the account able to transfer the tokens\n @param _value The amount of tokens to be approved for transfer\n @return Whether the approval was successful or not","id":3792,"implemented":false,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"approve","nodeType":"FunctionDefinition","parameters":{"id":3788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3785,"name":"_spender","nodeType":"VariableDeclaration","scope":3792,"src":"1863:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3784,"name":"address","nodeType":"ElementaryTypeName","src":"1863:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3787,"name":"_value","nodeType":"VariableDeclaration","scope":3792,"src":"1881:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3786,"name":"uint256","nodeType":"ElementaryTypeName","src":"1881:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1862:34:7"},"payable":false,"returnParameters":{"id":3791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3790,"name":"success","nodeType":"VariableDeclaration","scope":3792,"src":"1913:12:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3789,"name":"bool","nodeType":"ElementaryTypeName","src":"1913:4:7","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"1912:14:7"},"scope":3818,"src":"1846:81:7","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":null,"documentation":"@param _owner The address of the account owning tokens\n @param _spender The address of the account able to transfer the tokens\n @return Amount of remaining tokens allowed to spent","id":3801,"implemented":false,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"allowance","nodeType":"FunctionDefinition","parameters":{"id":3797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3794,"name":"_owner","nodeType":"VariableDeclaration","scope":3801,"src":"2154:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3793,"name":"address","nodeType":"ElementaryTypeName","src":"2154:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3796,"name":"_spender","nodeType":"VariableDeclaration","scope":3801,"src":"2170:16:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3795,"name":"address","nodeType":"ElementaryTypeName","src":"2170:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"2153:34:7"},"payable":false,"returnParameters":{"id":3800,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3799,"name":"remaining","nodeType":"VariableDeclaration","scope":3801,"src":"2209:17:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3798,"name":"uint256","nodeType":"ElementaryTypeName","src":"2209:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2208:19:7"},"scope":3818,"src":"2135:93:7","stateMutability":"view","superFunction":null,"visibility":"public"},{"anonymous":false,"documentation":null,"id":3809,"name":"Transfer","nodeType":"EventDefinition","parameters":{"id":3808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3803,"indexed":true,"name":"_from","nodeType":"VariableDeclaration","scope":3809,"src":"2249:21:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3802,"name":"address","nodeType":"ElementaryTypeName","src":"2249:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3805,"indexed":true,"name":"_to","nodeType":"VariableDeclaration","scope":3809,"src":"2272:19:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3804,"name":"address","nodeType":"ElementaryTypeName","src":"2272:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3807,"indexed":false,"name":"_value","nodeType":"VariableDeclaration","scope":3809,"src":"2293:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3806,"name":"uint256","nodeType":"ElementaryTypeName","src":"2293:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2248:60:7"},"src":"2234:75:7"},{"anonymous":false,"documentation":null,"id":3817,"name":"Approval","nodeType":"EventDefinition","parameters":{"id":3816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3811,"indexed":true,"name":"_owner","nodeType":"VariableDeclaration","scope":3817,"src":"2329:22:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3810,"name":"address","nodeType":"ElementaryTypeName","src":"2329:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3813,"indexed":true,"name":"_spender","nodeType":"VariableDeclaration","scope":3817,"src":"2353:24:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3812,"name":"address","nodeType":"ElementaryTypeName","src":"2353:7:7","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3815,"indexed":false,"name":"_value","nodeType":"VariableDeclaration","scope":3817,"src":"2379:14:7","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3814,"name":"uint256","nodeType":"ElementaryTypeName","src":"2379:7:7","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2328:66:7"},"src":"2314:81:7"}],"scope":3819,"src":"127:2270:7"}],"src":"102:2296:7"},"compiler":{"name":"solc","version":"0.4.21+commit.dfe3193c.Emscripten.clang"},"networks":{},"schemaVersion":"2.0.0","updatedAt":"2018-04-16T22:09:02.622Z"} /***/ }), /* 851 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Migrations","abi":[{"constant":true,"inputs":[],"name":"last_completed_migration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"name":"completed","type":"uint256"}],"name":"setCompleted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"new_address","type":"address"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102d78061005e6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610220565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc610226565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024b565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561021c578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b5af1151561021857600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102a857806001819055505b505600a165627a7a723058208d45ce64fa05f96f42348f9da7fbd16ac96cbe41d79c5995885065572f00be780029","deployedBytecode":"0x606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610220565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc610226565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024b565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561021c578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b5af1151561021857600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102a857806001819055505b505600a165627a7a723058208d45ce64fa05f96f42348f9da7fbd16ac96cbe41d79c5995885065572f00be780029"} +module.exports = {"contractName":"Migrations","abi":[{"constant":true,"inputs":[],"name":"last_completed_migration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"name":"completed","type":"uint256"}],"name":"setCompleted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"new_address","type":"address"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102d78061005e6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610220565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc610226565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024b565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561021c578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b5af1151561021857600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102a857806001819055505b505600a165627a7a7230582076a41e5388a7baae367accdf6fb45536578b9dd8025bf965a8e51a21196fcdf40029","deployedBytecode":"0x606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610220565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc610226565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024b565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561021c578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b5af1151561021857600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102a857806001819055505b505600a165627a7a7230582076a41e5388a7baae367accdf6fb45536578b9dd8025bf965a8e51a21196fcdf40029","sourceMap":"178:488:0:-;;;330:58;;;;;;;;373:10;365:5;;:18;;;;;;;;;;;;;;;;;;178:488;;;;;;","deployedSourceMap":"178:488:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;499:165;;;;;;;;;;;;;;;;;;;;;;;;;;;;226:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;202:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;392:103;;;;;;;;;;;;;;;;;;;;;;;;;;499:165;561:19;313:5;;;;;;;;;;;299:19;;:10;:19;;;295:26;;;594:11;561:45;;612:8;:21;;;634:24;;612:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;295:26;499:165;;:::o;226:36::-;;;;:::o;202:20::-;;;;;;;;;;;;;:::o;392:103::-;313:5;;;;;;;;;;;299:19;;:10;:19;;;295:26;;;481:9;454:24;:36;;;;295:26;392:103;:::o","source":"pragma solidity ^0.4.11;\n\n// This is a useless import, but it forces EIP20.sol to be compiled. We need its build file for\n// the test pipeline.\nimport \"tokens/eip20/EIP20.sol\";\n\ncontract Migrations {\n address public owner;\n uint public last_completed_migration;\n\n modifier restricted() {\n if (msg.sender == owner) _;\n }\n\n function Migrations() public {\n owner = msg.sender;\n }\n\n function setCompleted(uint completed) public restricted {\n last_completed_migration = completed;\n }\n\n function upgrade(address new_address) public restricted {\n Migrations upgraded = Migrations(new_address);\n upgraded.setCompleted(last_completed_migration);\n }\n}\n","sourcePath":"/media/op/w3/tcr/contracts/Migrations.sol","ast":{"absolutePath":"/media/op/w3/tcr/contracts/Migrations.sol","exportedSymbols":{"Migrations":[57]},"id":58,"nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:24:0"},{"absolutePath":"tokens/eip20/EIP20.sol","file":"tokens/eip20/EIP20.sol","id":2,"nodeType":"ImportDirective","scope":58,"sourceUnit":3753,"src":"144:32:0","symbolAliases":[],"unitAlias":""},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":57,"linearizedBaseContracts":[57],"name":"Migrations","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":4,"name":"owner","nodeType":"VariableDeclaration","scope":57,"src":"202:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3,"name":"address","nodeType":"ElementaryTypeName","src":"202:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"public"},{"constant":false,"id":6,"name":"last_completed_migration","nodeType":"VariableDeclaration","scope":57,"src":"226:36:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5,"name":"uint","nodeType":"ElementaryTypeName","src":"226:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"body":{"id":14,"nodeType":"Block","src":"289:37:0","statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":8,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"299:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"299:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":10,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4,"src":"313:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"299:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":13,"nodeType":"IfStatement","src":"295:26:0","trueBody":{"id":12,"nodeType":"PlaceholderStatement","src":"320:1:0"}}]},"documentation":null,"id":15,"name":"restricted","nodeType":"ModifierDefinition","parameters":{"id":7,"nodeType":"ParameterList","parameters":[],"src":"286:2:0"},"src":"267:59:0","visibility":"internal"},{"body":{"id":23,"nodeType":"Block","src":"359:29:0","statements":[{"expression":{"argumentTypes":null,"id":21,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":18,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4,"src":"365:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":19,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"373:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":20,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"373:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"365:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22,"nodeType":"ExpressionStatement","src":"365:18:0"}]},"documentation":null,"id":24,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"Migrations","nodeType":"FunctionDefinition","parameters":{"id":16,"nodeType":"ParameterList","parameters":[],"src":"349:2:0"},"payable":false,"returnParameters":{"id":17,"nodeType":"ParameterList","parameters":[],"src":"359:0:0"},"scope":57,"src":"330:58:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":35,"nodeType":"Block","src":"448:47:0","statements":[{"expression":{"argumentTypes":null,"id":33,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":31,"name":"last_completed_migration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6,"src":"454:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":32,"name":"completed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"481:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"454:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34,"nodeType":"ExpressionStatement","src":"454:36:0"}]},"documentation":null,"id":36,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":[],"id":29,"modifierName":{"argumentTypes":null,"id":28,"name":"restricted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"437:10:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"437:10:0"}],"name":"setCompleted","nodeType":"FunctionDefinition","parameters":{"id":27,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26,"name":"completed","nodeType":"VariableDeclaration","scope":36,"src":"414:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25,"name":"uint","nodeType":"ElementaryTypeName","src":"414:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"413:16:0"},"payable":false,"returnParameters":{"id":30,"nodeType":"ParameterList","parameters":[],"src":"448:0:0"},"scope":57,"src":"392:103:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":55,"nodeType":"Block","src":"555:109:0","statements":[{"assignments":[44],"declarations":[{"constant":false,"id":44,"name":"upgraded","nodeType":"VariableDeclaration","scope":56,"src":"561:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$57","typeString":"contract Migrations"},"typeName":{"contractScope":null,"id":43,"name":"Migrations","nodeType":"UserDefinedTypeName","referencedDeclaration":57,"src":"561:10:0","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$57","typeString":"contract Migrations"}},"value":null,"visibility":"internal"}],"id":48,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":46,"name":"new_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38,"src":"594:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":45,"name":"Migrations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57,"src":"583:10:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Migrations_$57_$","typeString":"type(contract Migrations)"}},"id":47,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"583:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$57","typeString":"contract Migrations"}},"nodeType":"VariableDeclarationStatement","src":"561:45:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":52,"name":"last_completed_migration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6,"src":"634:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":49,"name":"upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44,"src":"612:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$57","typeString":"contract Migrations"}},"id":51,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setCompleted","nodeType":"MemberAccess","referencedDeclaration":36,"src":"612:21:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":53,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"612:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54,"nodeType":"ExpressionStatement","src":"612:47:0"}]},"documentation":null,"id":56,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":[],"id":41,"modifierName":{"argumentTypes":null,"id":40,"name":"restricted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"544:10:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"544:10:0"}],"name":"upgrade","nodeType":"FunctionDefinition","parameters":{"id":39,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38,"name":"new_address","nodeType":"VariableDeclaration","scope":56,"src":"516:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37,"name":"address","nodeType":"ElementaryTypeName","src":"516:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"515:21:0"},"payable":false,"returnParameters":{"id":42,"nodeType":"ParameterList","parameters":[],"src":"555:0:0"},"scope":57,"src":"499:165:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"}],"scope":58,"src":"178:488:0"}],"src":"0:667:0"},"legacyAST":{"absolutePath":"/media/op/w3/tcr/contracts/Migrations.sol","exportedSymbols":{"Migrations":[57]},"id":58,"nodeType":"SourceUnit","nodes":[{"id":1,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:24:0"},{"absolutePath":"tokens/eip20/EIP20.sol","file":"tokens/eip20/EIP20.sol","id":2,"nodeType":"ImportDirective","scope":58,"sourceUnit":3753,"src":"144:32:0","symbolAliases":[],"unitAlias":""},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":57,"linearizedBaseContracts":[57],"name":"Migrations","nodeType":"ContractDefinition","nodes":[{"constant":false,"id":4,"name":"owner","nodeType":"VariableDeclaration","scope":57,"src":"202:20:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3,"name":"address","nodeType":"ElementaryTypeName","src":"202:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"public"},{"constant":false,"id":6,"name":"last_completed_migration","nodeType":"VariableDeclaration","scope":57,"src":"226:36:0","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":5,"name":"uint","nodeType":"ElementaryTypeName","src":"226:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"body":{"id":14,"nodeType":"Block","src":"289:37:0","statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":11,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":8,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"299:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":9,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"299:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":10,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4,"src":"313:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"299:19:0","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":13,"nodeType":"IfStatement","src":"295:26:0","trueBody":{"id":12,"nodeType":"PlaceholderStatement","src":"320:1:0"}}]},"documentation":null,"id":15,"name":"restricted","nodeType":"ModifierDefinition","parameters":{"id":7,"nodeType":"ParameterList","parameters":[],"src":"286:2:0"},"src":"267:59:0","visibility":"internal"},{"body":{"id":23,"nodeType":"Block","src":"359:29:0","statements":[{"expression":{"argumentTypes":null,"id":21,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":18,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":4,"src":"365:5:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":19,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"373:3:0","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":20,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"373:10:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"365:18:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":22,"nodeType":"ExpressionStatement","src":"365:18:0"}]},"documentation":null,"id":24,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"Migrations","nodeType":"FunctionDefinition","parameters":{"id":16,"nodeType":"ParameterList","parameters":[],"src":"349:2:0"},"payable":false,"returnParameters":{"id":17,"nodeType":"ParameterList","parameters":[],"src":"359:0:0"},"scope":57,"src":"330:58:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":35,"nodeType":"Block","src":"448:47:0","statements":[{"expression":{"argumentTypes":null,"id":33,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":31,"name":"last_completed_migration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6,"src":"454:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":32,"name":"completed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":26,"src":"481:9:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"454:36:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":34,"nodeType":"ExpressionStatement","src":"454:36:0"}]},"documentation":null,"id":36,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":[],"id":29,"modifierName":{"argumentTypes":null,"id":28,"name":"restricted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"437:10:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"437:10:0"}],"name":"setCompleted","nodeType":"FunctionDefinition","parameters":{"id":27,"nodeType":"ParameterList","parameters":[{"constant":false,"id":26,"name":"completed","nodeType":"VariableDeclaration","scope":36,"src":"414:14:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":25,"name":"uint","nodeType":"ElementaryTypeName","src":"414:4:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"413:16:0"},"payable":false,"returnParameters":{"id":30,"nodeType":"ParameterList","parameters":[],"src":"448:0:0"},"scope":57,"src":"392:103:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":55,"nodeType":"Block","src":"555:109:0","statements":[{"assignments":[44],"declarations":[{"constant":false,"id":44,"name":"upgraded","nodeType":"VariableDeclaration","scope":56,"src":"561:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$57","typeString":"contract Migrations"},"typeName":{"contractScope":null,"id":43,"name":"Migrations","nodeType":"UserDefinedTypeName","referencedDeclaration":57,"src":"561:10:0","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$57","typeString":"contract Migrations"}},"value":null,"visibility":"internal"}],"id":48,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":46,"name":"new_address","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":38,"src":"594:11:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":45,"name":"Migrations","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":57,"src":"583:10:0","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Migrations_$57_$","typeString":"type(contract Migrations)"}},"id":47,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"583:23:0","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$57","typeString":"contract Migrations"}},"nodeType":"VariableDeclarationStatement","src":"561:45:0"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":52,"name":"last_completed_migration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6,"src":"634:24:0","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":49,"name":"upgraded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":44,"src":"612:8:0","typeDescriptions":{"typeIdentifier":"t_contract$_Migrations_$57","typeString":"contract Migrations"}},"id":51,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"setCompleted","nodeType":"MemberAccess","referencedDeclaration":36,"src":"612:21:0","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":53,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"612:47:0","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":54,"nodeType":"ExpressionStatement","src":"612:47:0"}]},"documentation":null,"id":56,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[{"arguments":[],"id":41,"modifierName":{"argumentTypes":null,"id":40,"name":"restricted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":15,"src":"544:10:0","typeDescriptions":{"typeIdentifier":"t_modifier$__$","typeString":"modifier ()"}},"nodeType":"ModifierInvocation","src":"544:10:0"}],"name":"upgrade","nodeType":"FunctionDefinition","parameters":{"id":39,"nodeType":"ParameterList","parameters":[{"constant":false,"id":38,"name":"new_address","nodeType":"VariableDeclaration","scope":56,"src":"516:19:0","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":37,"name":"address","nodeType":"ElementaryTypeName","src":"516:7:0","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"515:21:0"},"payable":false,"returnParameters":{"id":42,"nodeType":"ParameterList","parameters":[],"src":"555:0:0"},"scope":57,"src":"499:165:0","stateMutability":"nonpayable","superFunction":null,"visibility":"public"}],"scope":58,"src":"178:488:0"}],"src":"0:667:0"},"compiler":{"name":"solc","version":"0.4.21+commit.dfe3193c.Emscripten.clang"},"networks":{},"schemaVersion":"2.0.0","updatedAt":"2018-04-16T22:09:02.604Z"} /***/ }), /* 852 */ /***/ (function(module, exports) { -module.exports = {"contractName":"PLCRVoting","abi":[{"constant":true,"inputs":[],"name":"INITIAL_POLL_NONCE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"voteTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"pollMap","outputs":[{"name":"commitEndDate","type":"uint256"},{"name":"revealEndDate","type":"uint256"},{"name":"voteQuorum","type":"uint256"},{"name":"votesFor","type":"uint256"},{"name":"votesAgainst","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pollNonce","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"pollID","type":"uint256"},{"indexed":false,"name":"numTokens","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_VoteCommitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"pollID","type":"uint256"},{"indexed":false,"name":"numTokens","type":"uint256"},{"indexed":false,"name":"votesFor","type":"uint256"},{"indexed":false,"name":"votesAgainst","type":"uint256"},{"indexed":true,"name":"choice","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_VoteRevealed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"voteQuorum","type":"uint256"},{"indexed":false,"name":"commitEndDate","type":"uint256"},{"indexed":false,"name":"revealEndDate","type":"uint256"},{"indexed":true,"name":"pollID","type":"uint256"},{"indexed":true,"name":"creator","type":"address"}],"name":"_PollCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"numTokens","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_VotingRightsGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"numTokens","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_VotingRightsWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"pollID","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_TokensRescued","type":"event"},{"constant":false,"inputs":[{"name":"_numTokens","type":"uint256"}],"name":"requestVotingRights","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_numTokens","type":"uint256"}],"name":"withdrawVotingRights","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"rescueTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_pollID","type":"uint256"},{"name":"_secretHash","type":"bytes32"},{"name":"_numTokens","type":"uint256"},{"name":"_prevPollID","type":"uint256"}],"name":"commitVote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_prevID","type":"uint256"},{"name":"_nextID","type":"uint256"},{"name":"_voter","type":"address"},{"name":"_numTokens","type":"uint256"}],"name":"validPosition","outputs":[{"name":"valid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_pollID","type":"uint256"},{"name":"_voteOption","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"revealVote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_pollID","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"getNumPassingTokens","outputs":[{"name":"correctVotes","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_voteQuorum","type":"uint256"},{"name":"_commitDuration","type":"uint256"},{"name":"_revealDuration","type":"uint256"}],"name":"startPoll","outputs":[{"name":"pollID","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"isPassed","outputs":[{"name":"passed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"getTotalNumberOfTokensForWinningOption","outputs":[{"name":"numTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"pollEnded","outputs":[{"name":"ended","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"commitPeriodActive","outputs":[{"name":"active","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"revealPeriodActive","outputs":[{"name":"active","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_pollID","type":"uint256"}],"name":"didCommit","outputs":[{"name":"committed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_pollID","type":"uint256"}],"name":"didReveal","outputs":[{"name":"revealed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"pollExists","outputs":[{"name":"exists","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_pollID","type":"uint256"}],"name":"getCommitHash","outputs":[{"name":"commitHash","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_pollID","type":"uint256"}],"name":"getNumTokens","outputs":[{"name":"numTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"}],"name":"getLastNode","outputs":[{"name":"pollID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"}],"name":"getLockedTokens","outputs":[{"name":"numTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_numTokens","type":"uint256"},{"name":"_pollID","type":"uint256"}],"name":"getInsertPointForNumTokens","outputs":[{"name":"prevNode","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_terminationDate","type":"uint256"}],"name":"isExpired","outputs":[{"name":"expired","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"},{"name":"_pollID","type":"uint256"}],"name":"attrUUID","outputs":[{"name":"UUID","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061250a8339810160405280805190602001909190505080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000808190555050612487806100836000396000f30060606040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063053e71a61461016f5780632173a10f146101a65780632c052031146101cf57806332ed3d601461022e5780633b93029414610277578063427fa1d2146102c4578063441c77c014610311578063494031831461034c5780636148fed5146103875780636b2d95d4146103da5780636cbf9c5e146104275780637f97e83614610469578063819b0293146104c357806388d21ff31461052f57806397508f361461056a5780639760356014610593578063a1103f37146105b6578063a25236fe14610614578063a4439dc514610637578063aa7ca46414610672578063b11d8bb8146106cc578063b43bd06914610701578063d138209214610760578063d901402b146107b6578063d9548e5314610814578063e7b1d43c1461084f578063ee68483014610872578063fc0c546a146108ad575b600080fd5b341561017a57600080fd5b6101906004808035906020019091905050610902565b6040518082815260200191505060405180910390f35b34156101b157600080fd5b6101b9610963565b6040518082815260200191505060405180910390f35b34156101da57600080fd5b610218600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610968565b6040518082815260200191505060405180910390f35b341561023957600080fd5b6102616004808035906020019091908035906020019091908035906020019091905050610b5d565b6040518082815260200191505060405180910390f35b341561028257600080fd5b6102ae600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c7a565b6040518082815260200191505060405180910390f35b34156102cf57600080fd5b6102fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c92565b6040518082815260200191505060405180910390f35b341561031c57600080fd5b6103326004808035906020019091905050610d65565b604051808215151515815260200191505060405180910390f35b341561035757600080fd5b61036d6004808035906020019091905050610db4565b604051808215151515815260200191505060405180910390f35b341561039257600080fd5b6103a86004808035906020019091905050610e47565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34156103e557600080fd5b610411600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e7d565b6040518082815260200191505060405180910390f35b341561043257600080fd5b610467600480803590602001909190803560001916906020019091908035906020019091908035906020019091905050610e98565b005b341561047457600080fd5b6104a9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114e7565b604051808215151515815260200191505060405180910390f35b34156104ce57600080fd5b610515600480803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611566565b604051808215151515815260200191505060405180910390f35b341561053a57600080fd5b61055060048080359060200190919050506115aa565b604051808215151515815260200191505060405180910390f35b341561057557600080fd5b61057d6115c5565b6040518082815260200191505060405180910390f35b341561059e57600080fd5b6105b460048080359060200190919050506115cb565b005b34156105c157600080fd5b6105f6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506117d2565b60405180826000191660001916815260200191505060405180910390f35b341561061f57600080fd5b6106356004808035906020019091905050611835565b005b341561064257600080fd5b6106586004808035906020019091905050611ace565b604051808215151515815260200191505060405180910390f35b341561067d57600080fd5b6106b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611b0b565b604051808215151515815260200191505060405180910390f35b34156106d757600080fd5b6106ff6004808035906020019091908035906020019091908035906020019091905050611b8a565b005b341561070c57600080fd5b61074a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611ed7565b6040518082815260200191505060405180910390f35b341561076b57600080fd5b6107a0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611fd1565b6040518082815260200191505060405180910390f35b34156107c157600080fd5b6107f6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506120b1565b60405180826000191660001916815260200191505060405180910390f35b341561081f57600080fd5b6108356004808035906020019091905050612194565b604051808215151515815260200191505060405180910390f35b341561085a57600080fd5b61087060048080359060200190919050506121a0565b005b341561087d57600080fd5b6108936004808035906020019091905050612392565b604051808215151515815260200191505060405180910390f35b34156108b857600080fd5b6108c06123ce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061090d82612392565b151561091857600080fd5b61092182610db4565b15610944576001600083815260200190815260200160002060030154905061095e565b600160008381526020019081526020016000206004015490505b919050565b600081565b600080600061097686610c92565b91506109828683611fd1565b90505b600082141515610b50576109998683611fd1565b90508481111515610a805783821415610a7857600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610a5e57600080fd5b5af41515610a6b57600080fd5b5050506040518051905091505b819250610b54565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610b3257600080fd5b5af41515610b3f57600080fd5b505050604051805190509150610985565b8192505b50509392505050565b6000806000600160005401600081905550610b8185426123f490919063ffffffff16565b9150610b9684836123f490919063ffffffff16565b905060a060405190810160405280838152602001828152602001878152602001600081526020016000815250600160008054815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff166000547f404f1f1c229d9eb2a949e7584da6ffde9d059ef2169f487ca815434cce0640d088858560405180848152602001838152602001828152602001935050505060405180910390a3600054925050509392505050565b60026020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a909160006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610d4757600080fd5b5af41515610d5457600080fd5b505050604051805190509050919050565b6000610d70826115aa565b1515610d7b57600080fd5b610d9a6001600084815260200190815260200160002060010154612194565b158015610dad5750610dab82611ace565b155b9050919050565b6000610dbe61242b565b610dc783612392565b1515610dd257600080fd5b6001600084815260200190815260200160002060a060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060800151816060015101816040015102816060015160640211915050919050565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b6000610e9182610e8c84610c92565b611fd1565b9050919050565b600080610ea486611ace565b1515610eaf57600080fd5b83600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610efd57600080fd5b60008614151515610f0d57600080fd5b6000831480610fe15750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610fc957600080fd5b5af41515610fd657600080fd5b505050604051805190505b1515610fec57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561109e57600080fd5b5af415156110ab57600080fd5b5050506040518051905091508582146110c4578161118e565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561117657600080fd5b5af4151561118357600080fd5b505050604051805190505b915061119c83833387611566565b15156111a757600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________639735c51b90918589866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085815260200184815260200183815260200182815260200194505050505060006040518083038186803b151561126957600080fd5b5af4151561127657600080fd5b50505061128333876117d2565b9050600473__AttributeStore________________________63977aa031909183876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180848152602001836000191660001916815260200180602001838152602001828103825260098152602001807f6e756d546f6b656e73000000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b151561134357600080fd5b5af4151561135057600080fd5b505050600473__AttributeStore________________________63977aa03190918388600190046040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018360001916600019168152602001806020018381526020018281038252600a8152602001807f636f6d6d6974486173680000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b151561141557600080fd5b5af4151561142257600080fd5b505050600180600088815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16867fea7979e4280d7e6bffc1c7d83a1ac99f16d02ecc14465ce41016226783b663d7866040518082815260200191505060405180910390a3505050505050565b60006114f2826115aa565b15156114fd57600080fd5b6001600083815260200190815260200160002060050160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008060006115758588611fd1565b84101591506115848587611fd1565b841115806115925750600086145b905081801561159e5750805b92505050949350505050565b60008082141580156115be57506000548211155b9050919050565b60005481565b6115ea6001600083815260200190815260200160002060010154612194565b15156115f557600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15156116a757600080fd5b5af415156116b457600080fd5b5050506040518051905015156116c957600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b151561177b57600080fd5b5af4151561178857600080fd5b5050503373ffffffffffffffffffffffffffffffffffffffff16817f402507661c8c8cb90e0a796450b8bdd28b6c516f05279c0cd29e84c344e1699a60405160405180910390a350565b60008282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001925050506040518091039020905092915050565b80600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156118f257600080fd5b5af115156118ff57600080fd5b505050604051805190501015151561191657600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515611a5b57600080fd5b5af11515611a6857600080fd5b505050604051805190501515611a7d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ff7aaf024511d9982df8cd0d437c71c30106e6848cd1ba3d288d7a9c0e276aeda826040518082815260200191505060405180910390a250565b6000611ad9826115aa565b1515611ae457600080fd5b611b036001600084815260200190815260200160002060000154612194565b159050919050565b6000611b16826115aa565b1515611b2157600080fd5b6001600083815260200190815260200160002060060160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000611b9584610d65565b1515611ba057600080fd5b6001600085815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611c0c57600080fd5b6001600085815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c7957600080fd5b611c8333856120b1565b6000191683836040518083815260200182815260200192505050604051809103902060001916141515611cb557600080fd5b611cbf3385611fd1565b90506001831415611cf357806001600086815260200190815260200160002060030160008282540192505081905550611d18565b8060016000868152602001908152602001600020600401600082825401925050819055505b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b1515611dca57600080fd5b5af41515611dd757600080fd5b505050600180600086815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff1683857ff42c78852433ace4bdcb44f6e80c8daae529e2d999c88cf6bf8f77b1e2890fdd84600160008a815260200190815260200160002060030154600160008b81526020019081526020016000206004015460405180848152602001838152602001828152602001935050505060405180910390a450505050565b600080600080611ee686612392565b1515611ef157600080fd5b6001600087815260200190815260200160002060060160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f5d57600080fd5b611f6686610db4565b611f71576000611f74565b60015b60ff1692508285604051808381526020018281526020019250505060405180910390209150611fa387876120b1565b905080600019168260001916141515611fbb57600080fd5b611fc58787611fd1565b93505050509392505050565b6000600473__AttributeStore________________________6350389f5c9091611ffb86866117d2565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826000191660001916815260200180602001828103825260098152602001807f6e756d546f6b656e730000000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b151561209257600080fd5b5af4151561209f57600080fd5b50505060405180519050905092915050565b6000600473__AttributeStore________________________6350389f5c90916120db86866117d2565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260001916600019168152602001806020018281038252600a8152602001807f636f6d6d69744861736800000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b151561217257600080fd5b5af4151561217f57600080fd5b50505060405180519050600102905092915050565b60008142119050919050565b60006121fc6121ae33610e7d565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b905081811015151561220d57600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561231e57600080fd5b5af1151561232b57600080fd5b50505060405180519050151561234057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ffaeb7dbb9992397d26ea1944efd40c80b40f702faf69b46c67ad10aba68ccb79836040518082815260200191505060405180910390a25050565b600061239d826115aa565b15156123a857600080fd5b6123c76001600084815260200190815260200160002060010154612194565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080828401905083811015151561240857fe5b8091505092915050565b600082821115151561242057fe5b818303905092915050565b60a060405190810160405280600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820a63295ce8fa64e8311536b42d4c5d8999e087411ed196ad527c4bc9629d38d070029","deployedBytecode":"0x60606040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063053e71a61461016f5780632173a10f146101a65780632c052031146101cf57806332ed3d601461022e5780633b93029414610277578063427fa1d2146102c4578063441c77c014610311578063494031831461034c5780636148fed5146103875780636b2d95d4146103da5780636cbf9c5e146104275780637f97e83614610469578063819b0293146104c357806388d21ff31461052f57806397508f361461056a5780639760356014610593578063a1103f37146105b6578063a25236fe14610614578063a4439dc514610637578063aa7ca46414610672578063b11d8bb8146106cc578063b43bd06914610701578063d138209214610760578063d901402b146107b6578063d9548e5314610814578063e7b1d43c1461084f578063ee68483014610872578063fc0c546a146108ad575b600080fd5b341561017a57600080fd5b6101906004808035906020019091905050610902565b6040518082815260200191505060405180910390f35b34156101b157600080fd5b6101b9610963565b6040518082815260200191505060405180910390f35b34156101da57600080fd5b610218600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610968565b6040518082815260200191505060405180910390f35b341561023957600080fd5b6102616004808035906020019091908035906020019091908035906020019091905050610b5d565b6040518082815260200191505060405180910390f35b341561028257600080fd5b6102ae600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c7a565b6040518082815260200191505060405180910390f35b34156102cf57600080fd5b6102fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c92565b6040518082815260200191505060405180910390f35b341561031c57600080fd5b6103326004808035906020019091905050610d65565b604051808215151515815260200191505060405180910390f35b341561035757600080fd5b61036d6004808035906020019091905050610db4565b604051808215151515815260200191505060405180910390f35b341561039257600080fd5b6103a86004808035906020019091905050610e47565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34156103e557600080fd5b610411600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e7d565b6040518082815260200191505060405180910390f35b341561043257600080fd5b610467600480803590602001909190803560001916906020019091908035906020019091908035906020019091905050610e98565b005b341561047457600080fd5b6104a9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114e7565b604051808215151515815260200191505060405180910390f35b34156104ce57600080fd5b610515600480803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611566565b604051808215151515815260200191505060405180910390f35b341561053a57600080fd5b61055060048080359060200190919050506115aa565b604051808215151515815260200191505060405180910390f35b341561057557600080fd5b61057d6115c5565b6040518082815260200191505060405180910390f35b341561059e57600080fd5b6105b460048080359060200190919050506115cb565b005b34156105c157600080fd5b6105f6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506117d2565b60405180826000191660001916815260200191505060405180910390f35b341561061f57600080fd5b6106356004808035906020019091905050611835565b005b341561064257600080fd5b6106586004808035906020019091905050611ace565b604051808215151515815260200191505060405180910390f35b341561067d57600080fd5b6106b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611b0b565b604051808215151515815260200191505060405180910390f35b34156106d757600080fd5b6106ff6004808035906020019091908035906020019091908035906020019091905050611b8a565b005b341561070c57600080fd5b61074a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611ed7565b6040518082815260200191505060405180910390f35b341561076b57600080fd5b6107a0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611fd1565b6040518082815260200191505060405180910390f35b34156107c157600080fd5b6107f6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506120b1565b60405180826000191660001916815260200191505060405180910390f35b341561081f57600080fd5b6108356004808035906020019091905050612194565b604051808215151515815260200191505060405180910390f35b341561085a57600080fd5b61087060048080359060200190919050506121a0565b005b341561087d57600080fd5b6108936004808035906020019091905050612392565b604051808215151515815260200191505060405180910390f35b34156108b857600080fd5b6108c06123ce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061090d82612392565b151561091857600080fd5b61092182610db4565b15610944576001600083815260200190815260200160002060030154905061095e565b600160008381526020019081526020016000206004015490505b919050565b600081565b600080600061097686610c92565b91506109828683611fd1565b90505b600082141515610b50576109998683611fd1565b90508481111515610a805783821415610a7857600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610a5e57600080fd5b5af41515610a6b57600080fd5b5050506040518051905091505b819250610b54565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610b3257600080fd5b5af41515610b3f57600080fd5b505050604051805190509150610985565b8192505b50509392505050565b6000806000600160005401600081905550610b8185426123f490919063ffffffff16565b9150610b9684836123f490919063ffffffff16565b905060a060405190810160405280838152602001828152602001878152602001600081526020016000815250600160008054815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff166000547f404f1f1c229d9eb2a949e7584da6ffde9d059ef2169f487ca815434cce0640d088858560405180848152602001838152602001828152602001935050505060405180910390a3600054925050509392505050565b60026020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a909160006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610d4757600080fd5b5af41515610d5457600080fd5b505050604051805190509050919050565b6000610d70826115aa565b1515610d7b57600080fd5b610d9a6001600084815260200190815260200160002060010154612194565b158015610dad5750610dab82611ace565b155b9050919050565b6000610dbe61242b565b610dc783612392565b1515610dd257600080fd5b6001600084815260200190815260200160002060a060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060800151816060015101816040015102816060015160640211915050919050565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b6000610e9182610e8c84610c92565b611fd1565b9050919050565b600080610ea486611ace565b1515610eaf57600080fd5b83600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610efd57600080fd5b60008614151515610f0d57600080fd5b6000831480610fe15750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610fc957600080fd5b5af41515610fd657600080fd5b505050604051805190505b1515610fec57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561109e57600080fd5b5af415156110ab57600080fd5b5050506040518051905091508582146110c4578161118e565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561117657600080fd5b5af4151561118357600080fd5b505050604051805190505b915061119c83833387611566565b15156111a757600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________639735c51b90918589866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085815260200184815260200183815260200182815260200194505050505060006040518083038186803b151561126957600080fd5b5af4151561127657600080fd5b50505061128333876117d2565b9050600473__AttributeStore________________________63977aa031909183876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180848152602001836000191660001916815260200180602001838152602001828103825260098152602001807f6e756d546f6b656e73000000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b151561134357600080fd5b5af4151561135057600080fd5b505050600473__AttributeStore________________________63977aa03190918388600190046040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018360001916600019168152602001806020018381526020018281038252600a8152602001807f636f6d6d6974486173680000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b151561141557600080fd5b5af4151561142257600080fd5b505050600180600088815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16867fea7979e4280d7e6bffc1c7d83a1ac99f16d02ecc14465ce41016226783b663d7866040518082815260200191505060405180910390a3505050505050565b60006114f2826115aa565b15156114fd57600080fd5b6001600083815260200190815260200160002060050160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008060006115758588611fd1565b84101591506115848587611fd1565b841115806115925750600086145b905081801561159e5750805b92505050949350505050565b60008082141580156115be57506000548211155b9050919050565b60005481565b6115ea6001600083815260200190815260200160002060010154612194565b15156115f557600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15156116a757600080fd5b5af415156116b457600080fd5b5050506040518051905015156116c957600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b151561177b57600080fd5b5af4151561178857600080fd5b5050503373ffffffffffffffffffffffffffffffffffffffff16817f402507661c8c8cb90e0a796450b8bdd28b6c516f05279c0cd29e84c344e1699a60405160405180910390a350565b60008282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001925050506040518091039020905092915050565b80600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156118f257600080fd5b5af115156118ff57600080fd5b505050604051805190501015151561191657600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515611a5b57600080fd5b5af11515611a6857600080fd5b505050604051805190501515611a7d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ff7aaf024511d9982df8cd0d437c71c30106e6848cd1ba3d288d7a9c0e276aeda826040518082815260200191505060405180910390a250565b6000611ad9826115aa565b1515611ae457600080fd5b611b036001600084815260200190815260200160002060000154612194565b159050919050565b6000611b16826115aa565b1515611b2157600080fd5b6001600083815260200190815260200160002060060160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000611b9584610d65565b1515611ba057600080fd5b6001600085815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611c0c57600080fd5b6001600085815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c7957600080fd5b611c8333856120b1565b6000191683836040518083815260200182815260200192505050604051809103902060001916141515611cb557600080fd5b611cbf3385611fd1565b90506001831415611cf357806001600086815260200190815260200160002060030160008282540192505081905550611d18565b8060016000868152602001908152602001600020600401600082825401925050819055505b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b1515611dca57600080fd5b5af41515611dd757600080fd5b505050600180600086815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff1683857ff42c78852433ace4bdcb44f6e80c8daae529e2d999c88cf6bf8f77b1e2890fdd84600160008a815260200190815260200160002060030154600160008b81526020019081526020016000206004015460405180848152602001838152602001828152602001935050505060405180910390a450505050565b600080600080611ee686612392565b1515611ef157600080fd5b6001600087815260200190815260200160002060060160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f5d57600080fd5b611f6686610db4565b611f71576000611f74565b60015b60ff1692508285604051808381526020018281526020019250505060405180910390209150611fa387876120b1565b905080600019168260001916141515611fbb57600080fd5b611fc58787611fd1565b93505050509392505050565b6000600473__AttributeStore________________________6350389f5c9091611ffb86866117d2565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826000191660001916815260200180602001828103825260098152602001807f6e756d546f6b656e730000000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b151561209257600080fd5b5af4151561209f57600080fd5b50505060405180519050905092915050565b6000600473__AttributeStore________________________6350389f5c90916120db86866117d2565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260001916600019168152602001806020018281038252600a8152602001807f636f6d6d69744861736800000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b151561217257600080fd5b5af4151561217f57600080fd5b50505060405180519050600102905092915050565b60008142119050919050565b60006121fc6121ae33610e7d565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b905081811015151561220d57600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561231e57600080fd5b5af1151561232b57600080fd5b50505060405180519050151561234057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ffaeb7dbb9992397d26ea1944efd40c80b40f702faf69b46c67ad10aba68ccb79836040518082815260200191505060405180910390a25050565b600061239d826115aa565b15156123a857600080fd5b6123c76001600084815260200190815260200160002060010154612194565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080828401905083811015151561240857fe5b8091505092915050565b600082821115151561242057fe5b818303905092915050565b60a060405190810160405280600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a72305820a63295ce8fa64e8311536b42d4c5d8999e087411ed196ad527c4bc9629d38d070029"} +module.exports = {"contractName":"PLCRVoting","abi":[{"constant":true,"inputs":[],"name":"INITIAL_POLL_NONCE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"voteTokenBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"pollMap","outputs":[{"name":"commitEndDate","type":"uint256"},{"name":"revealEndDate","type":"uint256"},{"name":"voteQuorum","type":"uint256"},{"name":"votesFor","type":"uint256"},{"name":"votesAgainst","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pollNonce","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"pollID","type":"uint256"},{"indexed":false,"name":"numTokens","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_VoteCommitted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"pollID","type":"uint256"},{"indexed":false,"name":"numTokens","type":"uint256"},{"indexed":false,"name":"votesFor","type":"uint256"},{"indexed":false,"name":"votesAgainst","type":"uint256"},{"indexed":true,"name":"choice","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_VoteRevealed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"voteQuorum","type":"uint256"},{"indexed":false,"name":"commitEndDate","type":"uint256"},{"indexed":false,"name":"revealEndDate","type":"uint256"},{"indexed":true,"name":"pollID","type":"uint256"},{"indexed":true,"name":"creator","type":"address"}],"name":"_PollCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"numTokens","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_VotingRightsGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"numTokens","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_VotingRightsWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"pollID","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_TokensRescued","type":"event"},{"constant":false,"inputs":[{"name":"_numTokens","type":"uint256"}],"name":"requestVotingRights","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_numTokens","type":"uint256"}],"name":"withdrawVotingRights","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"rescueTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_pollID","type":"uint256"},{"name":"_secretHash","type":"bytes32"},{"name":"_numTokens","type":"uint256"},{"name":"_prevPollID","type":"uint256"}],"name":"commitVote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_prevID","type":"uint256"},{"name":"_nextID","type":"uint256"},{"name":"_voter","type":"address"},{"name":"_numTokens","type":"uint256"}],"name":"validPosition","outputs":[{"name":"valid","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_pollID","type":"uint256"},{"name":"_voteOption","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"revealVote","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_pollID","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"getNumPassingTokens","outputs":[{"name":"correctVotes","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_voteQuorum","type":"uint256"},{"name":"_commitDuration","type":"uint256"},{"name":"_revealDuration","type":"uint256"}],"name":"startPoll","outputs":[{"name":"pollID","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"isPassed","outputs":[{"name":"passed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"getTotalNumberOfTokensForWinningOption","outputs":[{"name":"numTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"pollEnded","outputs":[{"name":"ended","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"commitPeriodActive","outputs":[{"name":"active","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"revealPeriodActive","outputs":[{"name":"active","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_pollID","type":"uint256"}],"name":"didCommit","outputs":[{"name":"committed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_pollID","type":"uint256"}],"name":"didReveal","outputs":[{"name":"revealed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_pollID","type":"uint256"}],"name":"pollExists","outputs":[{"name":"exists","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_pollID","type":"uint256"}],"name":"getCommitHash","outputs":[{"name":"commitHash","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_pollID","type":"uint256"}],"name":"getNumTokens","outputs":[{"name":"numTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"}],"name":"getLastNode","outputs":[{"name":"pollID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"}],"name":"getLockedTokens","outputs":[{"name":"numTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_numTokens","type":"uint256"},{"name":"_pollID","type":"uint256"}],"name":"getInsertPointForNumTokens","outputs":[{"name":"prevNode","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_terminationDate","type":"uint256"}],"name":"isExpired","outputs":[{"name":"expired","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_user","type":"address"},{"name":"_pollID","type":"uint256"}],"name":"attrUUID","outputs":[{"name":"UUID","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061250a8339810160405280805190602001909190505080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000808190555050612487806100836000396000f30060606040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063053e71a61461016f5780632173a10f146101a65780632c052031146101cf57806332ed3d601461022e5780633b93029414610277578063427fa1d2146102c4578063441c77c014610311578063494031831461034c5780636148fed5146103875780636b2d95d4146103da5780636cbf9c5e146104275780637f97e83614610469578063819b0293146104c357806388d21ff31461052f57806397508f361461056a5780639760356014610593578063a1103f37146105b6578063a25236fe14610614578063a4439dc514610637578063aa7ca46414610672578063b11d8bb8146106cc578063b43bd06914610701578063d138209214610760578063d901402b146107b6578063d9548e5314610814578063e7b1d43c1461084f578063ee68483014610872578063fc0c546a146108ad575b600080fd5b341561017a57600080fd5b6101906004808035906020019091905050610902565b6040518082815260200191505060405180910390f35b34156101b157600080fd5b6101b9610963565b6040518082815260200191505060405180910390f35b34156101da57600080fd5b610218600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610968565b6040518082815260200191505060405180910390f35b341561023957600080fd5b6102616004808035906020019091908035906020019091908035906020019091905050610b5d565b6040518082815260200191505060405180910390f35b341561028257600080fd5b6102ae600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c7a565b6040518082815260200191505060405180910390f35b34156102cf57600080fd5b6102fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c92565b6040518082815260200191505060405180910390f35b341561031c57600080fd5b6103326004808035906020019091905050610d65565b604051808215151515815260200191505060405180910390f35b341561035757600080fd5b61036d6004808035906020019091905050610db4565b604051808215151515815260200191505060405180910390f35b341561039257600080fd5b6103a86004808035906020019091905050610e47565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34156103e557600080fd5b610411600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e7d565b6040518082815260200191505060405180910390f35b341561043257600080fd5b610467600480803590602001909190803560001916906020019091908035906020019091908035906020019091905050610e98565b005b341561047457600080fd5b6104a9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114e7565b604051808215151515815260200191505060405180910390f35b34156104ce57600080fd5b610515600480803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611566565b604051808215151515815260200191505060405180910390f35b341561053a57600080fd5b61055060048080359060200190919050506115aa565b604051808215151515815260200191505060405180910390f35b341561057557600080fd5b61057d6115c5565b6040518082815260200191505060405180910390f35b341561059e57600080fd5b6105b460048080359060200190919050506115cb565b005b34156105c157600080fd5b6105f6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506117d2565b60405180826000191660001916815260200191505060405180910390f35b341561061f57600080fd5b6106356004808035906020019091905050611835565b005b341561064257600080fd5b6106586004808035906020019091905050611ace565b604051808215151515815260200191505060405180910390f35b341561067d57600080fd5b6106b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611b0b565b604051808215151515815260200191505060405180910390f35b34156106d757600080fd5b6106ff6004808035906020019091908035906020019091908035906020019091905050611b8a565b005b341561070c57600080fd5b61074a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611ed7565b6040518082815260200191505060405180910390f35b341561076b57600080fd5b6107a0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611fd1565b6040518082815260200191505060405180910390f35b34156107c157600080fd5b6107f6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506120b1565b60405180826000191660001916815260200191505060405180910390f35b341561081f57600080fd5b6108356004808035906020019091905050612194565b604051808215151515815260200191505060405180910390f35b341561085a57600080fd5b61087060048080359060200190919050506121a0565b005b341561087d57600080fd5b6108936004808035906020019091905050612392565b604051808215151515815260200191505060405180910390f35b34156108b857600080fd5b6108c06123ce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061090d82612392565b151561091857600080fd5b61092182610db4565b15610944576001600083815260200190815260200160002060030154905061095e565b600160008381526020019081526020016000206004015490505b919050565b600081565b600080600061097686610c92565b91506109828683611fd1565b90505b600082141515610b50576109998683611fd1565b90508481111515610a805783821415610a7857600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610a5e57600080fd5b5af41515610a6b57600080fd5b5050506040518051905091505b819250610b54565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610b3257600080fd5b5af41515610b3f57600080fd5b505050604051805190509150610985565b8192505b50509392505050565b6000806000600160005401600081905550610b8185426123f490919063ffffffff16565b9150610b9684836123f490919063ffffffff16565b905060a060405190810160405280838152602001828152602001878152602001600081526020016000815250600160008054815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff166000547f404f1f1c229d9eb2a949e7584da6ffde9d059ef2169f487ca815434cce0640d088858560405180848152602001838152602001828152602001935050505060405180910390a3600054925050509392505050565b60026020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a909160006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610d4757600080fd5b5af41515610d5457600080fd5b505050604051805190509050919050565b6000610d70826115aa565b1515610d7b57600080fd5b610d9a6001600084815260200190815260200160002060010154612194565b158015610dad5750610dab82611ace565b155b9050919050565b6000610dbe61242b565b610dc783612392565b1515610dd257600080fd5b6001600084815260200190815260200160002060a060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060800151816060015101816040015102816060015160640211915050919050565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b6000610e9182610e8c84610c92565b611fd1565b9050919050565b600080610ea486611ace565b1515610eaf57600080fd5b83600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610efd57600080fd5b60008614151515610f0d57600080fd5b6000831480610fe15750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610fc957600080fd5b5af41515610fd657600080fd5b505050604051805190505b1515610fec57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561109e57600080fd5b5af415156110ab57600080fd5b5050506040518051905091508582146110c4578161118e565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561117657600080fd5b5af4151561118357600080fd5b505050604051805190505b915061119c83833387611566565b15156111a757600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________639735c51b90918589866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085815260200184815260200183815260200182815260200194505050505060006040518083038186803b151561126957600080fd5b5af4151561127657600080fd5b50505061128333876117d2565b9050600473__AttributeStore________________________63977aa031909183876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180848152602001836000191660001916815260200180602001838152602001828103825260098152602001807f6e756d546f6b656e73000000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b151561134357600080fd5b5af4151561135057600080fd5b505050600473__AttributeStore________________________63977aa03190918388600190046040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018360001916600019168152602001806020018381526020018281038252600a8152602001807f636f6d6d6974486173680000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b151561141557600080fd5b5af4151561142257600080fd5b505050600180600088815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16867fea7979e4280d7e6bffc1c7d83a1ac99f16d02ecc14465ce41016226783b663d7866040518082815260200191505060405180910390a3505050505050565b60006114f2826115aa565b15156114fd57600080fd5b6001600083815260200190815260200160002060050160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008060006115758588611fd1565b84101591506115848587611fd1565b841115806115925750600086145b905081801561159e5750805b92505050949350505050565b60008082141580156115be57506000548211155b9050919050565b60005481565b6115ea6001600083815260200190815260200160002060010154612194565b15156115f557600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15156116a757600080fd5b5af415156116b457600080fd5b5050506040518051905015156116c957600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b151561177b57600080fd5b5af4151561178857600080fd5b5050503373ffffffffffffffffffffffffffffffffffffffff16817f402507661c8c8cb90e0a796450b8bdd28b6c516f05279c0cd29e84c344e1699a60405160405180910390a350565b60008282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001925050506040518091039020905092915050565b80600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156118f257600080fd5b5af115156118ff57600080fd5b505050604051805190501015151561191657600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515611a5b57600080fd5b5af11515611a6857600080fd5b505050604051805190501515611a7d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ff7aaf024511d9982df8cd0d437c71c30106e6848cd1ba3d288d7a9c0e276aeda826040518082815260200191505060405180910390a250565b6000611ad9826115aa565b1515611ae457600080fd5b611b036001600084815260200190815260200160002060000154612194565b159050919050565b6000611b16826115aa565b1515611b2157600080fd5b6001600083815260200190815260200160002060060160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000611b9584610d65565b1515611ba057600080fd5b6001600085815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611c0c57600080fd5b6001600085815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c7957600080fd5b611c8333856120b1565b6000191683836040518083815260200182815260200192505050604051809103902060001916141515611cb557600080fd5b611cbf3385611fd1565b90506001831415611cf357806001600086815260200190815260200160002060030160008282540192505081905550611d18565b8060016000868152602001908152602001600020600401600082825401925050819055505b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b1515611dca57600080fd5b5af41515611dd757600080fd5b505050600180600086815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff1683857ff42c78852433ace4bdcb44f6e80c8daae529e2d999c88cf6bf8f77b1e2890fdd84600160008a815260200190815260200160002060030154600160008b81526020019081526020016000206004015460405180848152602001838152602001828152602001935050505060405180910390a450505050565b600080600080611ee686612392565b1515611ef157600080fd5b6001600087815260200190815260200160002060060160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f5d57600080fd5b611f6686610db4565b611f71576000611f74565b60015b60ff1692508285604051808381526020018281526020019250505060405180910390209150611fa387876120b1565b905080600019168260001916141515611fbb57600080fd5b611fc58787611fd1565b93505050509392505050565b6000600473__AttributeStore________________________6350389f5c9091611ffb86866117d2565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826000191660001916815260200180602001828103825260098152602001807f6e756d546f6b656e730000000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b151561209257600080fd5b5af4151561209f57600080fd5b50505060405180519050905092915050565b6000600473__AttributeStore________________________6350389f5c90916120db86866117d2565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260001916600019168152602001806020018281038252600a8152602001807f636f6d6d69744861736800000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b151561217257600080fd5b5af4151561217f57600080fd5b50505060405180519050600102905092915050565b60008142119050919050565b60006121fc6121ae33610e7d565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b905081811015151561220d57600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561231e57600080fd5b5af1151561232b57600080fd5b50505060405180519050151561234057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ffaeb7dbb9992397d26ea1944efd40c80b40f702faf69b46c67ad10aba68ccb79836040518082815260200191505060405180910390a25050565b600061239d826115aa565b15156123a857600080fd5b6123c76001600084815260200190815260200160002060010154612194565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080828401905083811015151561240857fe5b8091505092915050565b600082821115151561242057fe5b818303905092915050565b60a060405190810160405280600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a723058206d83f295e31d65928779ebece4e7be1fd7b80b5e3d72334bb8684b05df580f640029","deployedBytecode":"0x60606040526004361061016a576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063053e71a61461016f5780632173a10f146101a65780632c052031146101cf57806332ed3d601461022e5780633b93029414610277578063427fa1d2146102c4578063441c77c014610311578063494031831461034c5780636148fed5146103875780636b2d95d4146103da5780636cbf9c5e146104275780637f97e83614610469578063819b0293146104c357806388d21ff31461052f57806397508f361461056a5780639760356014610593578063a1103f37146105b6578063a25236fe14610614578063a4439dc514610637578063aa7ca46414610672578063b11d8bb8146106cc578063b43bd06914610701578063d138209214610760578063d901402b146107b6578063d9548e5314610814578063e7b1d43c1461084f578063ee68483014610872578063fc0c546a146108ad575b600080fd5b341561017a57600080fd5b6101906004808035906020019091905050610902565b6040518082815260200191505060405180910390f35b34156101b157600080fd5b6101b9610963565b6040518082815260200191505060405180910390f35b34156101da57600080fd5b610218600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050610968565b6040518082815260200191505060405180910390f35b341561023957600080fd5b6102616004808035906020019091908035906020019091908035906020019091905050610b5d565b6040518082815260200191505060405180910390f35b341561028257600080fd5b6102ae600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c7a565b6040518082815260200191505060405180910390f35b34156102cf57600080fd5b6102fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c92565b6040518082815260200191505060405180910390f35b341561031c57600080fd5b6103326004808035906020019091905050610d65565b604051808215151515815260200191505060405180910390f35b341561035757600080fd5b61036d6004808035906020019091905050610db4565b604051808215151515815260200191505060405180910390f35b341561039257600080fd5b6103a86004808035906020019091905050610e47565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b34156103e557600080fd5b610411600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e7d565b6040518082815260200191505060405180910390f35b341561043257600080fd5b610467600480803590602001909190803560001916906020019091908035906020019091908035906020019091905050610e98565b005b341561047457600080fd5b6104a9600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506114e7565b604051808215151515815260200191505060405180910390f35b34156104ce57600080fd5b610515600480803590602001909190803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611566565b604051808215151515815260200191505060405180910390f35b341561053a57600080fd5b61055060048080359060200190919050506115aa565b604051808215151515815260200191505060405180910390f35b341561057557600080fd5b61057d6115c5565b6040518082815260200191505060405180910390f35b341561059e57600080fd5b6105b460048080359060200190919050506115cb565b005b34156105c157600080fd5b6105f6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506117d2565b60405180826000191660001916815260200191505060405180910390f35b341561061f57600080fd5b6106356004808035906020019091905050611835565b005b341561064257600080fd5b6106586004808035906020019091905050611ace565b604051808215151515815260200191505060405180910390f35b341561067d57600080fd5b6106b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611b0b565b604051808215151515815260200191505060405180910390f35b34156106d757600080fd5b6106ff6004808035906020019091908035906020019091908035906020019091905050611b8a565b005b341561070c57600080fd5b61074a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611ed7565b6040518082815260200191505060405180910390f35b341561076b57600080fd5b6107a0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611fd1565b6040518082815260200191505060405180910390f35b34156107c157600080fd5b6107f6600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506120b1565b60405180826000191660001916815260200191505060405180910390f35b341561081f57600080fd5b6108356004808035906020019091905050612194565b604051808215151515815260200191505060405180910390f35b341561085a57600080fd5b61087060048080359060200190919050506121a0565b005b341561087d57600080fd5b6108936004808035906020019091905050612392565b604051808215151515815260200191505060405180910390f35b34156108b857600080fd5b6108c06123ce565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600061090d82612392565b151561091857600080fd5b61092182610db4565b15610944576001600083815260200190815260200160002060030154905061095e565b600160008381526020019081526020016000206004015490505b919050565b600081565b600080600061097686610c92565b91506109828683611fd1565b90505b600082141515610b50576109998683611fd1565b90508481111515610a805783821415610a7857600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610a5e57600080fd5b5af41515610a6b57600080fd5b5050506040518051905091505b819250610b54565b600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a9091846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610b3257600080fd5b5af41515610b3f57600080fd5b505050604051805190509150610985565b8192505b50509392505050565b6000806000600160005401600081905550610b8185426123f490919063ffffffff16565b9150610b9684836123f490919063ffffffff16565b905060a060405190810160405280838152602001828152602001878152602001600081526020016000815250600160008054815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030155608082015181600401559050503373ffffffffffffffffffffffffffffffffffffffff166000547f404f1f1c229d9eb2a949e7584da6ffde9d059ef2169f487ca815434cce0640d088858560405180848152602001838152602001828152602001935050505060405180910390a3600054925050509392505050565b60026020528060005260406000206000915090505481565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6330fe0a0a909160006040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610d4757600080fd5b5af41515610d5457600080fd5b505050604051805190509050919050565b6000610d70826115aa565b1515610d7b57600080fd5b610d9a6001600084815260200190815260200160002060010154612194565b158015610dad5750610dab82611ace565b155b9050919050565b6000610dbe61242b565b610dc783612392565b1515610dd257600080fd5b6001600084815260200190815260200160002060a060405190810160405290816000820154815260200160018201548152602001600282015481526020016003820154815260200160048201548152505090508060800151816060015101816040015102816060015160640211915050919050565b60016020528060005260406000206000915090508060000154908060010154908060020154908060030154908060040154905085565b6000610e9182610e8c84610c92565b611fd1565b9050919050565b600080610ea486611ace565b1515610eaf57600080fd5b83600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410151515610efd57600080fd5b60008614151515610f0d57600080fd5b6000831480610fe15750600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b1515610fc957600080fd5b5af41515610fd657600080fd5b505050604051805190505b1515610fec57600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091856040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561109e57600080fd5b5af415156110ab57600080fd5b5050506040518051905091508582146110c4578161118e565b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________6307d29ac99091886040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b151561117657600080fd5b5af4151561118357600080fd5b505050604051805190505b915061119c83833387611566565b15156111a757600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________639735c51b90918589866040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085815260200184815260200183815260200182815260200194505050505060006040518083038186803b151561126957600080fd5b5af4151561127657600080fd5b50505061128333876117d2565b9050600473__AttributeStore________________________63977aa031909183876040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180848152602001836000191660001916815260200180602001838152602001828103825260098152602001807f6e756d546f6b656e73000000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b151561134357600080fd5b5af4151561135057600080fd5b505050600473__AttributeStore________________________63977aa03190918388600190046040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018360001916600019168152602001806020018381526020018281038252600a8152602001807f636f6d6d6974486173680000000000000000000000000000000000000000000081525060200194505050505060006040518083038186803b151561141557600080fd5b5af4151561142257600080fd5b505050600180600088815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16867fea7979e4280d7e6bffc1c7d83a1ac99f16d02ecc14465ce41016226783b663d7866040518082815260200191505060405180910390a3505050505050565b60006114f2826115aa565b15156114fd57600080fd5b6001600083815260200190815260200160002060050160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60008060006115758588611fd1565b84101591506115848587611fd1565b841115806115925750600086145b905081801561159e5750805b92505050949350505050565b60008082141580156115be57506000548211155b9050919050565b60005481565b6115ea6001600083815260200190815260200160002060010154612194565b15156115f557600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________63366a5ba29091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060206040518083038186803b15156116a757600080fd5b5af415156116b457600080fd5b5050506040518051905015156116c957600080fd5b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b151561177b57600080fd5b5af4151561178857600080fd5b5050503373ffffffffffffffffffffffffffffffffffffffff16817f402507661c8c8cb90e0a796450b8bdd28b6c516f05279c0cd29e84c344e1699a60405160405180910390a350565b60008282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401828152602001925050506040518091039020905092915050565b80600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166370a08231336040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b15156118f257600080fd5b5af115156118ff57600080fd5b505050604051805190501015151561191657600080fd5b80600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515611a5b57600080fd5b5af11515611a6857600080fd5b505050604051805190501515611a7d57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ff7aaf024511d9982df8cd0d437c71c30106e6848cd1ba3d288d7a9c0e276aeda826040518082815260200191505060405180910390a250565b6000611ad9826115aa565b1515611ae457600080fd5b611b036001600084815260200190815260200160002060000154612194565b159050919050565b6000611b16826115aa565b1515611b2157600080fd5b6001600083815260200190815260200160002060060160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000611b9584610d65565b1515611ba057600080fd5b6001600085815260200190815260200160002060050160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611c0c57600080fd5b6001600085815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151515611c7957600080fd5b611c8333856120b1565b6000191683836040518083815260200182815260200192505050604051809103902060001916141515611cb557600080fd5b611cbf3385611fd1565b90506001831415611cf357806001600086815260200190815260200160002060030160008282540192505081905550611d18565b8060016000868152602001908152602001600020600401600082825401925050819055505b600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002073__DLL___________________________________636d900ed09091866040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018281526020019250505060006040518083038186803b1515611dca57600080fd5b5af41515611dd757600080fd5b505050600180600086815260200190815260200160002060060160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff1683857ff42c78852433ace4bdcb44f6e80c8daae529e2d999c88cf6bf8f77b1e2890fdd84600160008a815260200190815260200160002060030154600160008b81526020019081526020016000206004015460405180848152602001838152602001828152602001935050505060405180910390a450505050565b600080600080611ee686612392565b1515611ef157600080fd5b6001600087815260200190815260200160002060060160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515611f5d57600080fd5b611f6686610db4565b611f71576000611f74565b60015b60ff1692508285604051808381526020018281526020019250505060405180910390209150611fa387876120b1565b905080600019168260001916141515611fbb57600080fd5b611fc58787611fd1565b93505050509392505050565b6000600473__AttributeStore________________________6350389f5c9091611ffb86866117d2565b6040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180838152602001826000191660001916815260200180602001828103825260098152602001807f6e756d546f6b656e730000000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b151561209257600080fd5b5af4151561209f57600080fd5b50505060405180519050905092915050565b6000600473__AttributeStore________________________6350389f5c90916120db86866117d2565b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808381526020018260001916600019168152602001806020018281038252600a8152602001807f636f6d6d69744861736800000000000000000000000000000000000000000000815250602001935050505060206040518083038186803b151561217257600080fd5b5af4151561217f57600080fd5b50505060405180519050600102905092915050565b60008142119050919050565b60006121fc6121ae33610e7d565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461241290919063ffffffff16565b905081811015151561220d57600080fd5b81600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540392505081905550600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561231e57600080fd5b5af1151561232b57600080fd5b50505060405180519050151561234057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167ffaeb7dbb9992397d26ea1944efd40c80b40f702faf69b46c67ad10aba68ccb79836040518082815260200191505060405180910390a25050565b600061239d826115aa565b15156123a857600080fd5b6123c76001600084815260200190815260200160002060010154612194565b9050919050565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080828401905083811015151561240857fe5b8091505092915050565b600082821115151561242057fe5b818303905092915050565b60a060405190810160405280600081526020016000815260200160008152602001600081526020016000815250905600a165627a7a723058206d83f295e31d65928779ebece4e7be1fd7b80b5e3d72334bb8684b05df580f640029","sourceMap":"292:17800:5:-;;;2436:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2516:10;2493:5;;:34;;;;;;;;;;;;;;;;;;1841:1;2537:9;:30;;;;2436:138;292:17800;;;;;;","deployedSourceMap":"292:17800:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10975:288;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1799:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16151:1117;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9561:623;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1948:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14981:124;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12341:217;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10403:256;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1876:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15294:147;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4814:1194;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12814:187;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6514:399;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13637:134;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1848:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3972:257;;;;;;;;;;;;;;;;;;;;;;;;;;17959:131;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2937:295;;;;;;;;;;;;;;;;;;;;;;;;;;11925:185;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13255:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7275:1138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8639:483;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14596:175;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14134:190;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17586:141;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3440:370;;;;;;;;;;;;;;;;;;;;;;;;;;11449:174;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2120:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10975:288;11062:14;11096:18;11106:7;11096:9;:18::i;:::-;11088:27;;;;;;;;11130:17;11139:7;11130:8;:17::i;:::-;11126:130;;;11168:7;:16;11176:7;11168:16;;;;;;;;;;;:25;;;11161:32;;;;11126:130;11227:7;:16;11235:7;11227:16;;;;;;;;;;;:29;;;11220:36;;10975:288;;;;:::o;1799:43::-;1841:1;1799:43;:::o;16151:1117::-;16263:13;16363:11;16404:17;16377:19;16389:6;16377:11;:19::i;:::-;16363:33;;16424:28;16437:6;16445;16424:12;:28::i;:::-;16404:48;;16534:610;16550:1;16540:6;:11;;16534:610;;;16634:28;16647:6;16655;16634:12;:28::i;:::-;16619:43;;16691:10;16675:12;:26;;16672:324;;;16758:7;16748:6;:17;16745:178;;;16880:6;:14;16887:6;16880:14;;;;;;;;;;;;;;;:22;;;;16903:6;16880:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16871:39;;16745:178;16978:6;16971:13;;;;16672:324;17105:6;:14;17112:6;17105:14;;;;;;;;;;;;;;;:22;;;;17128:6;17105:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17096:39;;16534:610;;;17255:6;17248:13;;16151:1117;;;;;;;;:::o;9561:623::-;9658:11;9717:18;9784;9705:1;9693:9;;:13;9681:9;:25;;;;9738:36;9758:15;9738;:19;;:36;;;;:::i;:::-;9717:57;;9805:34;9823:15;9805:13;:17;;:34;;;;:::i;:::-;9784:55;;9871:191;;;;;;;;;9942:13;9871:191;;;;9984:13;9871:191;;;;9902:11;9871:191;;;;10021:1;9871:191;;;;10050:1;9871:191;;;9850:7;:18;9858:9;;9850:18;;;;;;;;;;;:212;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10140:10;10073:78;;10129:9;;10073:78;10086:11;10099:13;10114;10073:78;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10168:9;;10161:16;;9561:623;;;;;;;:::o;1948:48::-;;;;;;;;;;;;;;;;;:::o;14981:124::-;15043:11;15073:6;:14;15080:6;15073:14;;;;;;;;;;;;;;;:22;;;;15096:1;15073:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15066:32;;14981:124;;;:::o;12341:217::-;12408:11;12439:19;12450:7;12439:10;:19::i;:::-;12431:28;;;;;;;;12478:41;12488:7;:16;12496:7;12488:16;;;;;;;;;;;:30;;;12478:9;:41::i;:::-;12477:42;:74;;;;;12524:27;12543:7;12524:18;:27::i;:::-;12523:28;12477:74;12470:81;;12341:217;;;:::o;10403:256::-;10460:11;10521:16;;:::i;:::-;10491:18;10501:7;10491:9;:18::i;:::-;10483:27;;;;;;;;10540:7;:16;10548:7;10540:16;;;;;;;;;;;10521:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10633:4;:17;;;10617:4;:13;;;:33;10598:4;:15;;;:53;10580:4;:13;;;10574:3;:19;10573:79;10566:86;;10403:256;;;;:::o;1876:36::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;15294:147::-;15360:14;15393:41;15406:6;15414:19;15426:6;15414:11;:19::i;:::-;15393:12;:41::i;:::-;15386:48;;15294:147;;;:::o;4814:1194::-;5328:15;5717:12;4931:27;4950:7;4931:18;:27::i;:::-;4923:36;;;;;;;;5009:10;4977:16;:28;4994:10;4977:28;;;;;;;;;;;;;;;;:42;;4969:51;;;;;;;;5083:1;5072:7;:12;;5064:21;;;;;;;;5271:1;5256:11;:16;:60;;;;5276:6;:18;5283:10;5276:18;;;;;;;;;;;;;;;:27;;;;5304:11;5276:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5256:60;5248:69;;;;;;;;5346:6;:18;5353:10;5346:18;;;;;;;;;;;;;;;:26;;;;5373:11;5346:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5328:57;;5496:7;5482:10;:21;5481:74;;5545:10;5481:74;;;5507:6;:18;5514:10;5507:18;;;;;;;;;;;;;;;:26;;;;5534:7;5507:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5481:74;5468:87;;5574:62;5588:11;5601:10;5613;5625;5574:13;:62::i;:::-;5566:71;;;;;;;;5647:6;:18;5654:10;5647:18;;;;;;;;;;;;;;;:25;;;;5673:11;5686:7;5695:10;5647:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5732:29;5741:10;5753:7;5732:8;:29::i;:::-;5717:44;;5772:5;:18;;;;5791:4;5810:10;5772:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5831:5;:18;;;;5850:4;5875:11;5870:17;;;5831:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5940:4;5899:7;:16;5907:7;5899:16;;;;;;;;;;;:26;;:38;5926:10;5899:38;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;5990:10;5954:47;;5969:7;5954:47;5978:10;5954:47;;;;;;;;;;;;;;;;;;4814:1194;;;;;;:::o;12814:187::-;12888:14;12922:19;12933:7;12922:10;:19::i;:::-;12914:28;;;;;;;;12960:7;:16;12968:7;12960:16;;;;;;;;;;;:26;;:34;12987:6;12960:34;;;;;;;;;;;;;;;;;;;;;;;;;12953:41;;12814:187;;;;:::o;6514:399::-;6623:10;6645:14;6789;6677:29;6690:6;6698:7;6677:12;:29::i;:::-;6663:10;:43;;6645:62;;6821:29;6834:6;6842:7;6821:12;:29::i;:::-;6807:10;:43;;:59;;;;6865:1;6854:7;:12;6807:59;6789:78;;6884:9;:22;;;;;6897:9;6884:22;6877:29;;6514:399;;;;;;;;:::o;13637:134::-;13696:11;13738:1;13727:7;:12;;:36;;;;;13754:9;;13743:7;:20;;13727:36;13719:45;;13637:134;;;:::o;1848:21::-;;;;:::o;3972:257::-;4035:41;4045:7;:16;4053:7;4045:16;;;;;;;;;;;:30;;;4035:9;:41::i;:::-;4027:50;;;;;;;;4095:6;:18;4102:10;4095:18;;;;;;;;;;;;;;;:27;;;;4123:7;4095:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4087:45;;;;;;;;4143:6;:18;4150:10;4143:18;;;;;;;;;;;;;;;:25;;;;4169:7;4143:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4211:10;4187:35;;4202:7;4187:35;;;;;;;;;;3972:257;:::o;17959:131::-;18027:12;18068:5;18075:7;18058:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18051:32;;17959:131;;;;:::o;2937:295::-;3041:10;3010:5;;;;;;;;;;;:15;;;3026:10;3010:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:41;;3002:50;;;;;;;;3094:10;3062:16;:28;3079:10;3062:28;;;;;;;;;;;;;;;;:42;;;;;;;;;;;3122:5;;;;;;;;;;;:18;;;3141:10;3153:4;3159:10;3122:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3114:57;;;;;;;;3214:10;3181:44;;;3202:10;3181:44;;;;;;;;;;;;;;;;;;2937:295;:::o;11925:185::-;11992:11;12023:19;12034:7;12023:10;:19::i;:::-;12015:28;;;;;;;;12062:41;12072:7;:16;12080:7;12072:16;;;;;;;;;;;:30;;;12062:9;:41::i;:::-;12061:42;12054:49;;11925:185;;;:::o;13255:186::-;13329:13;13362:19;13373:7;13362:10;:19::i;:::-;13354:28;;;;;;;;13400:7;:16;13408:7;13400:16;;;;;;;;;;;:26;;:34;13427:6;13400:34;;;;;;;;;;;;;;;;;;;;;;;;;13393:41;;13255:186;;;;:::o;7275:1138::-;7862:14;7415:27;7434:7;7415:18;:27::i;:::-;7407:36;;;;;;;;7461:7;:16;7469:7;7461:16;;;;;;;;;;;:26;;:38;7488:10;7461:38;;;;;;;;;;;;;;;;;;;;;;;;;7453:47;;;;;;;;7596:7;:16;7604:7;7596:16;;;;;;;;;;;:26;;:38;7623:10;7596:38;;;;;;;;;;;;;;;;;;;;;;;;;7595:39;7587:48;;;;;;;;7755:34;7769:10;7781:7;7755:13;:34::i;:::-;7722:67;;;7732:11;7745:5;7722:29;;;;;;;;;;;;;;;;;;;;;;;;:67;;;;7714:76;;;;;;;;7879:33;7892:10;7904:7;7879:12;:33::i;:::-;7862:50;;7942:1;7927:11;:16;7923:203;;;8033:9;8004:7;:16;8012:7;8004:16;;;;;;;;;;;:25;;;:38;;;;;;;;;;;7923:203;;;8106:9;8073:7;:16;8081:7;8073:16;;;;;;;;;;;:29;;;:42;;;;;;;;;;;7923:203;8136:6;:18;8143:10;8136:18;;;;;;;;;;;;;;;:25;;;;8162:7;8136:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8275:4;8234:7;:16;8242:7;8234:16;;;;;;;;;;;:26;;:38;8261:10;8234:38;;;;;;;;;;;;;;;;:45;;;;;;;;;;;;;;;;;;8395:10;8290:116;;8382:11;8304:7;8290:116;8313:9;8324:7;:16;8332:7;8324:16;;;;;;;;;;;:25;;;8351:7;:16;8359:7;8351:16;;;;;;;;;;;:29;;;8290:116;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7275:1138;;;;:::o;8639:483::-;8735:17;8855:18;8911;8973;8772;8782:7;8772:9;:18::i;:::-;8764:27;;;;;;;;8809:7;:16;8817:7;8809:16;;;;;;;;;;;:26;;:34;8836:6;8809:34;;;;;;;;;;;;;;;;;;;;;;;;;8801:43;;;;;;;;8876:17;8885:7;8876:8;:17::i;:::-;:25;;8900:1;8876:25;;;8896:1;8876:25;8855:46;;;;8942:13;8957:5;8932:31;;;;;;;;;;;;;;;;;;;;;;;;8911:52;;8994:30;9008:6;9016:7;8994:13;:30::i;:::-;8973:51;;9057:10;9043:24;;;:10;:24;;;;9035:33;;;;;;;;9086:29;9099:6;9107:7;9086:12;:29::i;:::-;9079:36;;8639:483;;;;;;;;:::o;14596:175::-;14673:14;14706:5;:18;;;;14725:25;14734:6;14742:7;14725:8;:25::i;:::-;14706:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14699:65;;14596:175;;;;:::o;14134:190::-;14212:18;14257:5;:18;;;;14276:25;14285:6;14293:7;14276:8;:25::i;:::-;14257:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14249:68;;14242:75;;14134:190;;;;:::o;17586:141::-;17653:12;17703:16;17685:15;:34;17677:43;;17586:141;;;:::o;3440:370::-;3506:20;3529:61;3562:27;3578:10;3562:15;:27::i;:::-;3529:16;:28;3546:10;3529:28;;;;;;;;;;;;;;;;:32;;:61;;;;:::i;:::-;3506:84;;3627:10;3608:15;:29;;3600:38;;;;;;;;3680:10;3648:16;:28;3665:10;3648:28;;;;;;;;;;;;;;;;:42;;;;;;;;;;;3708:5;;;;;;;;;;;:14;;;3723:10;3735;3708:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3700:47;;;;;;;;3792:10;3757:46;;;3780:10;3757:46;;;;;;;;;;;;;;;;;;3440:370;;:::o;11449:174::-;11507:10;11537:19;11548:7;11537:10;:19::i;:::-;11529:28;;;;;;;;11575:41;11585:7;:16;11593:7;11585:16;;;;;;;;;;;:30;;;11575:9;:41::i;:::-;11568:48;;11449:174;;;:::o;2120:27::-;;;;;;;;;;;;;:::o;680:133:8:-;742:7;757:9;773:1;769;:5;757:17;;792:1;787;:6;;780:14;;;;;;807:1;800:8;;680:133;;;;;:::o;562:114::-;624:7;651:1;646;:6;;639:14;;;;;;670:1;666;:5;659:12;;562:114;;;;:::o;292:17800:5:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o","source":"pragma solidity ^0.4.8;\nimport \"tokens/eip20/EIP20Interface.sol\";\nimport \"dll/DLL.sol\";\nimport \"attrstore/AttributeStore.sol\";\nimport \"zeppelin/math/SafeMath.sol\";\n\n/**\n@title Partial-Lock-Commit-Reveal Voting scheme with ERC20 tokens\n@author Team: Aspyn Palatnick, Cem Ozer, Yorke Rhodes\n*/\ncontract PLCRVoting {\n\n // ============\n // EVENTS:\n // ============\n\n event _VoteCommitted(uint indexed pollID, uint numTokens, address indexed voter);\n event _VoteRevealed(uint indexed pollID, uint numTokens, uint votesFor, uint votesAgainst, uint indexed choice, address indexed voter);\n event _PollCreated(uint voteQuorum, uint commitEndDate, uint revealEndDate, uint indexed pollID, address indexed creator);\n event _VotingRightsGranted(uint numTokens, address indexed voter);\n event _VotingRightsWithdrawn(uint numTokens, address indexed voter);\n event _TokensRescued(uint indexed pollID, address indexed voter);\n\n // ============\n // DATA STRUCTURES:\n // ============\n\n using AttributeStore for AttributeStore.Data;\n using DLL for DLL.Data;\n using SafeMath for uint;\n\n struct Poll {\n uint commitEndDate; /// expiration date of commit period for poll\n uint revealEndDate; /// expiration date of reveal period for poll\n uint voteQuorum;\t /// number of votes required for a proposal to pass\n uint votesFor;\t\t /// tally of votes supporting proposal\n uint votesAgainst; /// tally of votes countering proposal\n mapping(address => bool) didCommit; /// indicates whether an address committed a vote for this poll\n mapping(address => bool) didReveal; /// indicates whether an address revealed a vote for this poll\n }\n\n // ============\n // STATE VARIABLES:\n // ============\n\n uint constant public INITIAL_POLL_NONCE = 0;\n uint public pollNonce;\n\n mapping(uint => Poll) public pollMap; // maps pollID to Poll struct\n mapping(address => uint) public voteTokenBalance; // maps user's address to voteToken balance\n\n mapping(address => DLL.Data) dllMap;\n AttributeStore.Data store;\n\n EIP20Interface public token;\n\n // ============\n // CONSTRUCTOR:\n // ============\n\n /**\n @dev Initializes voteQuorum, commitDuration, revealDuration, and pollNonce in addition to token contract and trusted mapping\n @param _tokenAddr The address where the ERC20 token contract is deployed\n */\n function PLCRVoting(address _tokenAddr) public {\n token = EIP20Interface(_tokenAddr);\n pollNonce = INITIAL_POLL_NONCE;\n }\n\n // ================\n // TOKEN INTERFACE:\n // ================\n\n /**\n @notice Loads _numTokens ERC20 tokens into the voting contract for one-to-one voting rights\n @dev Assumes that msg.sender has approved voting contract to spend on their behalf\n @param _numTokens The number of votingTokens desired in exchange for ERC20 tokens\n */\n function requestVotingRights(uint _numTokens) external {\n require(token.balanceOf(msg.sender) >= _numTokens);\n voteTokenBalance[msg.sender] += _numTokens;\n require(token.transferFrom(msg.sender, this, _numTokens));\n _VotingRightsGranted(_numTokens, msg.sender);\n }\n\n /**\n @notice Withdraw _numTokens ERC20 tokens from the voting contract, revoking these voting rights\n @param _numTokens The number of ERC20 tokens desired in exchange for voting rights\n */\n function withdrawVotingRights(uint _numTokens) external {\n uint availableTokens = voteTokenBalance[msg.sender].sub(getLockedTokens(msg.sender));\n require(availableTokens >= _numTokens);\n voteTokenBalance[msg.sender] -= _numTokens;\n require(token.transfer(msg.sender, _numTokens));\n _VotingRightsWithdrawn(_numTokens, msg.sender);\n }\n\n /**\n @dev Unlocks tokens locked in unrevealed vote where poll has ended\n @param _pollID Integer identifier associated with the target poll\n */\n function rescueTokens(uint _pollID) external {\n require(isExpired(pollMap[_pollID].revealEndDate));\n require(dllMap[msg.sender].contains(_pollID));\n\n dllMap[msg.sender].remove(_pollID);\n _TokensRescued(_pollID, msg.sender);\n }\n\n // =================\n // VOTING INTERFACE:\n // =================\n\n /**\n @notice Commits vote using hash of choice and secret salt to conceal vote until reveal\n @param _pollID Integer identifier associated with target poll\n @param _secretHash Commit keccak256 hash of voter's choice and salt (tightly packed in this order)\n @param _numTokens The number of tokens to be committed towards the target poll\n @param _prevPollID The ID of the poll that the user has voted the maximum number of tokens in which is still less than or equal to numTokens\n */\n function commitVote(uint _pollID, bytes32 _secretHash, uint _numTokens, uint _prevPollID) external {\n require(commitPeriodActive(_pollID));\n require(voteTokenBalance[msg.sender] >= _numTokens); // prevent user from overspending\n require(_pollID != 0); // prevent user from committing to zero node placeholder\n\n // Check if _prevPollID exists in the user's DLL or if _prevPollID is 0\n require(_prevPollID == 0 || dllMap[msg.sender].contains(_prevPollID));\n\n uint nextPollID = dllMap[msg.sender].getNext(_prevPollID);\n\n // if nextPollID is equal to _pollID, _pollID is being updated,\n nextPollID = (nextPollID == _pollID) ? dllMap[msg.sender].getNext(_pollID) : nextPollID;\n\n require(validPosition(_prevPollID, nextPollID, msg.sender, _numTokens));\n dllMap[msg.sender].insert(_prevPollID, _pollID, nextPollID);\n\n bytes32 UUID = attrUUID(msg.sender, _pollID);\n\n store.setAttribute(UUID, \"numTokens\", _numTokens);\n store.setAttribute(UUID, \"commitHash\", uint(_secretHash));\n\n pollMap[_pollID].didCommit[msg.sender] = true;\n _VoteCommitted(_pollID, _numTokens, msg.sender);\n }\n\n /**\n @dev Compares previous and next poll's committed tokens for sorting purposes\n @param _prevID Integer identifier associated with previous poll in sorted order\n @param _nextID Integer identifier associated with next poll in sorted order\n @param _voter Address of user to check DLL position for\n @param _numTokens The number of tokens to be committed towards the poll (used for sorting)\n @return valid Boolean indication of if the specified position maintains the sort\n */\n function validPosition(uint _prevID, uint _nextID, address _voter, uint _numTokens) public constant returns (bool valid) {\n bool prevValid = (_numTokens >= getNumTokens(_voter, _prevID));\n // if next is zero node, _numTokens does not need to be greater\n bool nextValid = (_numTokens <= getNumTokens(_voter, _nextID) || _nextID == 0);\n return prevValid && nextValid;\n }\n\n /**\n @notice Reveals vote with choice and secret salt used in generating commitHash to attribute committed tokens\n @param _pollID Integer identifier associated with target poll\n @param _voteOption Vote choice used to generate commitHash for associated poll\n @param _salt Secret number used to generate commitHash for associated poll\n */\n function revealVote(uint _pollID, uint _voteOption, uint _salt) external {\n // Make sure the reveal period is active\n require(revealPeriodActive(_pollID));\n require(pollMap[_pollID].didCommit[msg.sender]); // make sure user has committed a vote for this poll\n require(!pollMap[_pollID].didReveal[msg.sender]); // prevent user from revealing multiple times\n require(keccak256(_voteOption, _salt) == getCommitHash(msg.sender, _pollID)); // compare resultant hash from inputs to original commitHash\n\n uint numTokens = getNumTokens(msg.sender, _pollID);\n\n if (_voteOption == 1) {// apply numTokens to appropriate poll choice\n pollMap[_pollID].votesFor += numTokens;\n } else {\n pollMap[_pollID].votesAgainst += numTokens;\n }\n\n dllMap[msg.sender].remove(_pollID); // remove the node referring to this vote upon reveal\n pollMap[_pollID].didReveal[msg.sender] = true;\n\n _VoteRevealed(_pollID, numTokens, pollMap[_pollID].votesFor, pollMap[_pollID].votesAgainst, _voteOption, msg.sender);\n }\n\n /**\n @param _pollID Integer identifier associated with target poll\n @param _salt Arbitrarily chosen integer used to generate secretHash\n @return correctVotes Number of tokens voted for winning option\n */\n function getNumPassingTokens(address _voter, uint _pollID, uint _salt) public constant returns (uint correctVotes) {\n require(pollEnded(_pollID));\n require(pollMap[_pollID].didReveal[_voter]);\n\n uint winningChoice = isPassed(_pollID) ? 1 : 0;\n bytes32 winnerHash = keccak256(winningChoice, _salt);\n bytes32 commitHash = getCommitHash(_voter, _pollID);\n\n require(winnerHash == commitHash);\n\n return getNumTokens(_voter, _pollID);\n }\n\n // ==================\n // POLLING INTERFACE:\n // ==================\n\n /**\n @dev Initiates a poll with canonical configured parameters at pollID emitted by PollCreated event\n @param _voteQuorum Type of majority (out of 100) that is necessary for poll to be successful\n @param _commitDuration Length of desired commit period in seconds\n @param _revealDuration Length of desired reveal period in seconds\n */\n function startPoll(uint _voteQuorum, uint _commitDuration, uint _revealDuration) public returns (uint pollID) {\n pollNonce = pollNonce + 1;\n\n uint commitEndDate = block.timestamp.add(_commitDuration);\n uint revealEndDate = commitEndDate.add(_revealDuration);\n\n pollMap[pollNonce] = Poll({\n voteQuorum: _voteQuorum,\n commitEndDate: commitEndDate,\n revealEndDate: revealEndDate,\n votesFor: 0,\n votesAgainst: 0\n });\n\n _PollCreated(_voteQuorum, commitEndDate, revealEndDate, pollNonce, msg.sender);\n return pollNonce;\n }\n\n /**\n @notice Determines if proposal has passed\n @dev Check if votesFor out of totalVotes exceeds votesQuorum (requires pollEnded)\n @param _pollID Integer identifier associated with target poll\n */\n function isPassed(uint _pollID) constant public returns (bool passed) {\n require(pollEnded(_pollID));\n\n Poll memory poll = pollMap[_pollID];\n return (100 * poll.votesFor) > (poll.voteQuorum * (poll.votesFor + poll.votesAgainst));\n }\n\n // ----------------\n // POLLING HELPERS:\n // ----------------\n\n /**\n @dev Gets the total winning votes for reward distribution purposes\n @param _pollID Integer identifier associated with target poll\n @return Total number of votes committed to the winning option for specified poll\n */\n function getTotalNumberOfTokensForWinningOption(uint _pollID) constant public returns (uint numTokens) {\n require(pollEnded(_pollID));\n\n if (isPassed(_pollID))\n return pollMap[_pollID].votesFor;\n else\n return pollMap[_pollID].votesAgainst;\n }\n\n /**\n @notice Determines if poll is over\n @dev Checks isExpired for specified poll's revealEndDate\n @return Boolean indication of whether polling period is over\n */\n function pollEnded(uint _pollID) constant public returns (bool ended) {\n require(pollExists(_pollID));\n\n return isExpired(pollMap[_pollID].revealEndDate);\n }\n\n /**\n @notice Checks if the commit period is still active for the specified poll\n @dev Checks isExpired for the specified poll's commitEndDate\n @param _pollID Integer identifier associated with target poll\n @return Boolean indication of isCommitPeriodActive for target poll\n */\n function commitPeriodActive(uint _pollID) constant public returns (bool active) {\n require(pollExists(_pollID));\n\n return !isExpired(pollMap[_pollID].commitEndDate);\n }\n\n /**\n @notice Checks if the reveal period is still active for the specified poll\n @dev Checks isExpired for the specified poll's revealEndDate\n @param _pollID Integer identifier associated with target poll\n */\n function revealPeriodActive(uint _pollID) constant public returns (bool active) {\n require(pollExists(_pollID));\n\n return !isExpired(pollMap[_pollID].revealEndDate) && !commitPeriodActive(_pollID);\n }\n\n /**\n @dev Checks if user has committed for specified poll\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Boolean indication of whether user has committed\n */\n function didCommit(address _voter, uint _pollID) constant public returns (bool committed) {\n require(pollExists(_pollID));\n\n return pollMap[_pollID].didCommit[_voter];\n }\n\n /**\n @dev Checks if user has revealed for specified poll\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Boolean indication of whether user has revealed\n */\n function didReveal(address _voter, uint _pollID) constant public returns (bool revealed) {\n require(pollExists(_pollID));\n\n return pollMap[_pollID].didReveal[_voter];\n }\n\n /**\n @dev Checks if a poll exists\n @param _pollID The pollID whose existance is to be evaluated.\n @return Boolean Indicates whether a poll exists for the provided pollID\n */\n function pollExists(uint _pollID) constant public returns (bool exists) {\n return (_pollID != 0 && _pollID <= pollNonce);\n }\n\n // ---------------------------\n // DOUBLE-LINKED-LIST HELPERS:\n // ---------------------------\n\n /**\n @dev Gets the bytes32 commitHash property of target poll\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Bytes32 hash property attached to target poll\n */\n function getCommitHash(address _voter, uint _pollID) constant public returns (bytes32 commitHash) {\n return bytes32(store.getAttribute(attrUUID(_voter, _pollID), \"commitHash\"));\n }\n\n /**\n @dev Wrapper for getAttribute with attrName=\"numTokens\"\n @param _voter Address of user to check against\n @param _pollID Integer identifier associated with target poll\n @return Number of tokens committed to poll in sorted poll-linked-list\n */\n function getNumTokens(address _voter, uint _pollID) constant public returns (uint numTokens) {\n return store.getAttribute(attrUUID(_voter, _pollID), \"numTokens\");\n }\n\n /**\n @dev Gets top element of sorted poll-linked-list\n @param _voter Address of user to check against\n @return Integer identifier to poll with maximum number of tokens committed to it\n */\n function getLastNode(address _voter) constant public returns (uint pollID) {\n return dllMap[_voter].getPrev(0);\n }\n\n /**\n @dev Gets the numTokens property of getLastNode\n @param _voter Address of user to check against\n @return Maximum number of tokens committed in poll specified\n */\n function getLockedTokens(address _voter) constant public returns (uint numTokens) {\n return getNumTokens(_voter, getLastNode(_voter));\n }\n\n /*\n @dev Takes the last node in the user's DLL and iterates backwards through the list searching\n for a node with a value less than or equal to the provided _numTokens value. When such a node\n is found, if the provided _pollID matches the found nodeID, this operation is an in-place\n update. In that case, return the previous node of the node being updated. Otherwise return the\n first node that was found with a value less than or equal to the provided _numTokens.\n @param _voter The voter whose DLL will be searched\n @param _numTokens The value for the numTokens attribute in the node to be inserted\n @return the node which the propoded node should be inserted after\n */\n function getInsertPointForNumTokens(address _voter, uint _numTokens, uint _pollID)\n constant public returns (uint prevNode) {\n // Get the last node in the list and the number of tokens in that node\n uint nodeID = getLastNode(_voter);\n uint tokensInNode = getNumTokens(_voter, nodeID);\n\n // Iterate backwards through the list until reaching the root node\n while(nodeID != 0) {\n // Get the number of tokens in the current node\n tokensInNode = getNumTokens(_voter, nodeID);\n if(tokensInNode <= _numTokens) { // We found the insert point!\n if(nodeID == _pollID) {\n // This is an in-place update. Return the prev node of the node being updated\n nodeID = dllMap[_voter].getPrev(nodeID);\n }\n // Return the insert point\n return nodeID; \n }\n // We did not find the insert point. Continue iterating backwards through the list\n nodeID = dllMap[_voter].getPrev(nodeID);\n }\n\n // The list is empty, or a smaller value than anything else in the list is being inserted\n return nodeID;\n }\n\n // ----------------\n // GENERAL HELPERS:\n // ----------------\n\n /**\n @dev Checks if an expiration date has been reached\n @param _terminationDate Integer timestamp of date to compare current timestamp with\n @return expired Boolean indication of whether the terminationDate has passed\n */\n function isExpired(uint _terminationDate) constant public returns (bool expired) {\n return (block.timestamp > _terminationDate);\n }\n\n /**\n @dev Generates an identifier which associates a user and a poll together\n @param _pollID Integer identifier associated with target poll\n @return UUID Hash which is deterministic from _user and _pollID\n */\n function attrUUID(address _user, uint _pollID) public pure returns (bytes32 UUID) {\n return keccak256(_user, _pollID);\n }\n}\n","sourcePath":"plcrvoting/PLCRVoting.sol","ast":{"absolutePath":"plcrvoting/PLCRVoting.sol","exportedSymbols":{"PLCRVoting":[3524]},"id":3525,"nodeType":"SourceUnit","nodes":[{"id":2504,"literals":["solidity","^","0.4",".8"],"nodeType":"PragmaDirective","src":"0:23:5"},{"absolutePath":"tokens/eip20/EIP20Interface.sol","file":"tokens/eip20/EIP20Interface.sol","id":2505,"nodeType":"ImportDirective","scope":3525,"sourceUnit":3819,"src":"24:41:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"dll/DLL.sol","file":"dll/DLL.sol","id":2506,"nodeType":"ImportDirective","scope":3525,"sourceUnit":2503,"src":"66:21:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"attrstore/AttributeStore.sol","file":"attrstore/AttributeStore.sol","id":2507,"nodeType":"ImportDirective","scope":3525,"sourceUnit":2202,"src":"88:38:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"zeppelin/math/SafeMath.sol","file":"zeppelin/math/SafeMath.sol","id":2508,"nodeType":"ImportDirective","scope":3525,"sourceUnit":3914,"src":"127:36:5","symbolAliases":[],"unitAlias":""},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":"@title Partial-Lock-Commit-Reveal Voting scheme with ERC20 tokens\n@author Team: Aspyn Palatnick, Cem Ozer, Yorke Rhodes","fullyImplemented":true,"id":3524,"linearizedBaseContracts":[3524],"name":"PLCRVoting","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":null,"id":2516,"name":"_VoteCommitted","nodeType":"EventDefinition","parameters":{"id":2515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2510,"indexed":true,"name":"pollID","nodeType":"VariableDeclaration","scope":2516,"src":"396:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2509,"name":"uint","nodeType":"ElementaryTypeName","src":"396:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2512,"indexed":false,"name":"numTokens","nodeType":"VariableDeclaration","scope":2516,"src":"417:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2511,"name":"uint","nodeType":"ElementaryTypeName","src":"417:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2514,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":2516,"src":"433:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2513,"name":"address","nodeType":"ElementaryTypeName","src":"433:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"395:60:5"},"src":"375:81:5"},{"anonymous":false,"documentation":null,"id":2530,"name":"_VoteRevealed","nodeType":"EventDefinition","parameters":{"id":2529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2518,"indexed":true,"name":"pollID","nodeType":"VariableDeclaration","scope":2530,"src":"481:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2517,"name":"uint","nodeType":"ElementaryTypeName","src":"481:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2520,"indexed":false,"name":"numTokens","nodeType":"VariableDeclaration","scope":2530,"src":"502:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2519,"name":"uint","nodeType":"ElementaryTypeName","src":"502:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2522,"indexed":false,"name":"votesFor","nodeType":"VariableDeclaration","scope":2530,"src":"518:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2521,"name":"uint","nodeType":"ElementaryTypeName","src":"518:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2524,"indexed":false,"name":"votesAgainst","nodeType":"VariableDeclaration","scope":2530,"src":"533:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2523,"name":"uint","nodeType":"ElementaryTypeName","src":"533:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2526,"indexed":true,"name":"choice","nodeType":"VariableDeclaration","scope":2530,"src":"552:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2525,"name":"uint","nodeType":"ElementaryTypeName","src":"552:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2528,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":2530,"src":"573:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2527,"name":"address","nodeType":"ElementaryTypeName","src":"573:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"480:115:5"},"src":"461:135:5"},{"anonymous":false,"documentation":null,"id":2542,"name":"_PollCreated","nodeType":"EventDefinition","parameters":{"id":2541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2532,"indexed":false,"name":"voteQuorum","nodeType":"VariableDeclaration","scope":2542,"src":"620:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2531,"name":"uint","nodeType":"ElementaryTypeName","src":"620:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2534,"indexed":false,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":2542,"src":"637:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2533,"name":"uint","nodeType":"ElementaryTypeName","src":"637:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2536,"indexed":false,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":2542,"src":"657:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2535,"name":"uint","nodeType":"ElementaryTypeName","src":"657:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2538,"indexed":true,"name":"pollID","nodeType":"VariableDeclaration","scope":2542,"src":"677:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2537,"name":"uint","nodeType":"ElementaryTypeName","src":"677:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2540,"indexed":true,"name":"creator","nodeType":"VariableDeclaration","scope":2542,"src":"698:23:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2539,"name":"address","nodeType":"ElementaryTypeName","src":"698:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"619:103:5"},"src":"601:122:5"},{"anonymous":false,"documentation":null,"id":2548,"name":"_VotingRightsGranted","nodeType":"EventDefinition","parameters":{"id":2547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2544,"indexed":false,"name":"numTokens","nodeType":"VariableDeclaration","scope":2548,"src":"755:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2543,"name":"uint","nodeType":"ElementaryTypeName","src":"755:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2546,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":2548,"src":"771:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2545,"name":"address","nodeType":"ElementaryTypeName","src":"771:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"754:39:5"},"src":"728:66:5"},{"anonymous":false,"documentation":null,"id":2554,"name":"_VotingRightsWithdrawn","nodeType":"EventDefinition","parameters":{"id":2553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2550,"indexed":false,"name":"numTokens","nodeType":"VariableDeclaration","scope":2554,"src":"828:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2549,"name":"uint","nodeType":"ElementaryTypeName","src":"828:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2552,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":2554,"src":"844:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2551,"name":"address","nodeType":"ElementaryTypeName","src":"844:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"827:39:5"},"src":"799:68:5"},{"anonymous":false,"documentation":null,"id":2560,"name":"_TokensRescued","nodeType":"EventDefinition","parameters":{"id":2559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"indexed":true,"name":"pollID","nodeType":"VariableDeclaration","scope":2560,"src":"893:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2555,"name":"uint","nodeType":"ElementaryTypeName","src":"893:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2558,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":2560,"src":"914:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2557,"name":"address","nodeType":"ElementaryTypeName","src":"914:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"892:44:5"},"src":"872:65:5"},{"id":2563,"libraryName":{"contractScope":null,"id":2561,"name":"AttributeStore","nodeType":"UserDefinedTypeName","referencedDeclaration":2201,"src":"1014:14:5","typeDescriptions":{"typeIdentifier":"t_contract$_AttributeStore_$2201","typeString":"library AttributeStore"}},"nodeType":"UsingForDirective","src":"1008:45:5","typeName":{"contractScope":null,"id":2562,"name":"AttributeStore.Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2149,"src":"1033:19:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}}},{"id":2566,"libraryName":{"contractScope":null,"id":2564,"name":"DLL","nodeType":"UserDefinedTypeName","referencedDeclaration":2502,"src":"1064:3:5","typeDescriptions":{"typeIdentifier":"t_contract$_DLL_$2502","typeString":"library DLL"}},"nodeType":"UsingForDirective","src":"1058:23:5","typeName":{"contractScope":null,"id":2565,"name":"DLL.Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"1072:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}},{"id":2569,"libraryName":{"contractScope":null,"id":2567,"name":"SafeMath","nodeType":"UserDefinedTypeName","referencedDeclaration":3913,"src":"1092:8:5","typeDescriptions":{"typeIdentifier":"t_contract$_SafeMath_$3913","typeString":"library SafeMath"}},"nodeType":"UsingForDirective","src":"1086:24:5","typeName":{"id":2568,"name":"uint","nodeType":"ElementaryTypeName","src":"1105:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"canonicalName":"PLCRVoting.Poll","id":2588,"members":[{"constant":false,"id":2571,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":2588,"src":"1138:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2570,"name":"uint","nodeType":"ElementaryTypeName","src":"1138:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2573,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":2588,"src":"1216:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2572,"name":"uint","nodeType":"ElementaryTypeName","src":"1216:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2575,"name":"voteQuorum","nodeType":"VariableDeclaration","scope":2588,"src":"1294:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2574,"name":"uint","nodeType":"ElementaryTypeName","src":"1294:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2577,"name":"votesFor","nodeType":"VariableDeclaration","scope":2588,"src":"1375:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2576,"name":"uint","nodeType":"ElementaryTypeName","src":"1375:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2579,"name":"votesAgainst","nodeType":"VariableDeclaration","scope":2588,"src":"1442:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint","nodeType":"ElementaryTypeName","src":"1442:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2583,"name":"didCommit","nodeType":"VariableDeclaration","scope":2588,"src":"1513:34:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":2582,"keyType":{"id":2580,"name":"address","nodeType":"ElementaryTypeName","src":"1521:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1513:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":2581,"name":"bool","nodeType":"ElementaryTypeName","src":"1532:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"value":null,"visibility":"internal"},{"constant":false,"id":2587,"name":"didReveal","nodeType":"VariableDeclaration","scope":2588,"src":"1622:34:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":2586,"keyType":{"id":2584,"name":"address","nodeType":"ElementaryTypeName","src":"1630:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1622:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":2585,"name":"bool","nodeType":"ElementaryTypeName","src":"1641:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"value":null,"visibility":"internal"}],"name":"Poll","nodeType":"StructDefinition","scope":3524,"src":"1116:612:5","visibility":"public"},{"constant":true,"id":2591,"name":"INITIAL_POLL_NONCE","nodeType":"VariableDeclaration","scope":3524,"src":"1799:43:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2589,"name":"uint","nodeType":"ElementaryTypeName","src":"1799:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"30","id":2590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1841:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"constant":false,"id":2593,"name":"pollNonce","nodeType":"VariableDeclaration","scope":3524,"src":"1848:21:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2592,"name":"uint","nodeType":"ElementaryTypeName","src":"1848:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"constant":false,"id":2597,"name":"pollMap","nodeType":"VariableDeclaration","scope":3524,"src":"1876:36:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"},"typeName":{"id":2596,"keyType":{"id":2594,"name":"uint","nodeType":"ElementaryTypeName","src":"1884:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1876:21:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"},"valueType":{"contractScope":null,"id":2595,"name":"Poll","nodeType":"UserDefinedTypeName","referencedDeclaration":2588,"src":"1892:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage_ptr","typeString":"struct PLCRVoting.Poll storage pointer"}}},"value":null,"visibility":"public"},{"constant":false,"id":2601,"name":"voteTokenBalance","nodeType":"VariableDeclaration","scope":3524,"src":"1948:48:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":2600,"keyType":{"id":2598,"name":"address","nodeType":"ElementaryTypeName","src":"1956:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1948:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":2599,"name":"uint","nodeType":"ElementaryTypeName","src":"1967:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"public"},{"constant":false,"id":2605,"name":"dllMap","nodeType":"VariableDeclaration","scope":3524,"src":"2047:35:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"},"typeName":{"id":2604,"keyType":{"id":2602,"name":"address","nodeType":"ElementaryTypeName","src":"2055:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2047:28:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"},"valueType":{"contractScope":null,"id":2603,"name":"DLL.Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"2066:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}},"value":null,"visibility":"internal"},{"constant":false,"id":2607,"name":"store","nodeType":"VariableDeclaration","scope":3524,"src":"2088:25:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage","typeString":"struct AttributeStore.Data storage ref"},"typeName":{"contractScope":null,"id":2606,"name":"AttributeStore.Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2149,"src":"2088:19:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2609,"name":"token","nodeType":"VariableDeclaration","scope":3524,"src":"2120:27:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"},"typeName":{"contractScope":null,"id":2608,"name":"EIP20Interface","nodeType":"UserDefinedTypeName","referencedDeclaration":3818,"src":"2120:14:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"value":null,"visibility":"public"},{"body":{"id":2624,"nodeType":"Block","src":"2483:91:5","statements":[{"expression":{"argumentTypes":null,"id":2618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":2614,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2609,"src":"2493:5:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2616,"name":"_tokenAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2611,"src":"2516:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2615,"name":"EIP20Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3818,"src":"2501:14:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EIP20Interface_$3818_$","typeString":"type(contract EIP20Interface)"}},"id":2617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2501:26:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"src":"2493:34:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2619,"nodeType":"ExpressionStatement","src":"2493:34:5"},{"expression":{"argumentTypes":null,"id":2622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":2620,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"2537:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2621,"name":"INITIAL_POLL_NONCE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2591,"src":"2549:18:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2537:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2623,"nodeType":"ExpressionStatement","src":"2537:30:5"}]},"documentation":"@dev Initializes voteQuorum, commitDuration, revealDuration, and pollNonce in addition to token contract and trusted mapping\n@param _tokenAddr The address where the ERC20 token contract is deployed","id":2625,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"PLCRVoting","nodeType":"FunctionDefinition","parameters":{"id":2612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2611,"name":"_tokenAddr","nodeType":"VariableDeclaration","scope":2625,"src":"2456:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2610,"name":"address","nodeType":"ElementaryTypeName","src":"2456:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"2455:20:5"},"payable":false,"returnParameters":{"id":2613,"nodeType":"ParameterList","parameters":[],"src":"2483:0:5"},"scope":3524,"src":"2436:138:5","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":2663,"nodeType":"Block","src":"2992:240:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2633,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3026:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3026:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":2631,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2609,"src":"3010:5:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":3763,"src":"3010:15:5","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3010:27:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":2636,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2627,"src":"3041:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3010:41:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2630,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3002:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3002:50:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2639,"nodeType":"ExpressionStatement","src":"3002:50:5"},{"expression":{"argumentTypes":null,"id":2645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2640,"name":"voteTokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2601,"src":"3062:16:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2643,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2641,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3079:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3079:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3062:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":2644,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2627,"src":"3094:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3062:42:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2646,"nodeType":"ExpressionStatement","src":"3062:42:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2650,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3141:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3141:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2652,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3949,"src":"3153:4:5","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},{"argumentTypes":null,"id":2653,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2627,"src":"3159:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2648,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2609,"src":"3122:5:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"3122:18:5","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":2654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3122:48:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2647,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3114:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3114:57:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2656,"nodeType":"ExpressionStatement","src":"3114:57:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2658,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2627,"src":"3202:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2659,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3214:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3214:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2657,"name":"_VotingRightsGranted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2548,"src":"3181:20:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":2661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3181:44:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2662,"nodeType":"ExpressionStatement","src":"3181:44:5"}]},"documentation":"@notice Loads _numTokens ERC20 tokens into the voting contract for one-to-one voting rights\n@dev Assumes that msg.sender has approved voting contract to spend on their behalf\n@param _numTokens The number of votingTokens desired in exchange for ERC20 tokens","id":2664,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"requestVotingRights","nodeType":"FunctionDefinition","parameters":{"id":2628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2627,"name":"_numTokens","nodeType":"VariableDeclaration","scope":2664,"src":"2966:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2626,"name":"uint","nodeType":"ElementaryTypeName","src":"2966:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2965:17:5"},"payable":false,"returnParameters":{"id":2629,"nodeType":"ParameterList","parameters":[],"src":"2992:0:5"},"scope":3524,"src":"2937:295:5","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":2710,"nodeType":"Block","src":"3496:314:5","statements":[{"assignments":[2670],"declarations":[{"constant":false,"id":2670,"name":"availableTokens","nodeType":"VariableDeclaration","scope":2711,"src":"3506:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2669,"name":"uint","nodeType":"ElementaryTypeName","src":"3506:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2681,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2677,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3578:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3578:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2676,"name":"getLockedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3425,"src":"3562:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":2679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3562:27:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2671,"name":"voteTokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2601,"src":"3529:16:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2674,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2672,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3546:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3546:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3529:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sub","nodeType":"MemberAccess","referencedDeclaration":3888,"src":"3529:32:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":2680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3529:61:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3506:84:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2683,"name":"availableTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2670,"src":"3608:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":2684,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2666,"src":"3627:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3608:29:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2682,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3600:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3600:38:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2687,"nodeType":"ExpressionStatement","src":"3600:38:5"},{"expression":{"argumentTypes":null,"id":2693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2688,"name":"voteTokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2601,"src":"3648:16:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2691,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2689,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3665:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3665:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3648:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":2692,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2666,"src":"3680:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3648:42:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2694,"nodeType":"ExpressionStatement","src":"3648:42:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2698,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3723:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3723:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2700,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2666,"src":"3735:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2696,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2609,"src":"3708:5:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"3708:14:5","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":2701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3708:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2695,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3700:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3700:47:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2703,"nodeType":"ExpressionStatement","src":"3700:47:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2705,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2666,"src":"3780:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2706,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3792:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3792:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2704,"name":"_VotingRightsWithdrawn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2554,"src":"3757:22:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":2708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3757:46:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2709,"nodeType":"ExpressionStatement","src":"3757:46:5"}]},"documentation":"@notice Withdraw _numTokens ERC20 tokens from the voting contract, revoking these voting rights\n@param _numTokens The number of ERC20 tokens desired in exchange for voting rights","id":2711,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"withdrawVotingRights","nodeType":"FunctionDefinition","parameters":{"id":2667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2666,"name":"_numTokens","nodeType":"VariableDeclaration","scope":2711,"src":"3470:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2665,"name":"uint","nodeType":"ElementaryTypeName","src":"3470:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"3469:17:5"},"payable":false,"returnParameters":{"id":2668,"nodeType":"ParameterList","parameters":[],"src":"3496:0:5"},"scope":3524,"src":"3440:370:5","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":2749,"nodeType":"Block","src":"4017:212:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2718,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"4045:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2720,"indexExpression":{"argumentTypes":null,"id":2719,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"4053:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4045:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"revealEndDate","nodeType":"MemberAccess","referencedDeclaration":2573,"src":"4045:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2717,"name":"isExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4035:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":2722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4035:41:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2716,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4027:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4027:50:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2724,"nodeType":"ExpressionStatement","src":"4027:50:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2731,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"4123:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2726,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"4095:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2729,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2727,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4102:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4102:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4095:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":2290,"src":"4095:27:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (bool)"}},"id":2732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4095:36:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2725,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4087:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4087:45:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2734,"nodeType":"ExpressionStatement","src":"4087:45:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2740,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"4169:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2735,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"4143:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2738,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4150:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4150:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4143:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"remove","nodeType":"MemberAccess","referencedDeclaration":2501,"src":"4143:25:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256)"}},"id":2741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4143:34:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2742,"nodeType":"ExpressionStatement","src":"4143:34:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2744,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"4202:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2745,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4211:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4211:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2743,"name":"_TokensRescued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2560,"src":"4187:14:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":2747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4187:35:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2748,"nodeType":"ExpressionStatement","src":"4187:35:5"}]},"documentation":"@dev Unlocks tokens locked in unrevealed vote where poll has ended\n@param _pollID Integer identifier associated with the target poll","id":2750,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"rescueTokens","nodeType":"FunctionDefinition","parameters":{"id":2714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2713,"name":"_pollID","nodeType":"VariableDeclaration","scope":2750,"src":"3994:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2712,"name":"uint","nodeType":"ElementaryTypeName","src":"3994:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"3993:14:5"},"payable":false,"returnParameters":{"id":2715,"nodeType":"ParameterList","parameters":[],"src":"4017:0:5"},"scope":3524,"src":"3972:257:5","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":2885,"nodeType":"Block","src":"4913:1095:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2763,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"4950:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2762,"name":"commitPeriodActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3265,"src":"4931:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":2764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4931:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2761,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4923:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4923:36:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2766,"nodeType":"ExpressionStatement","src":"4923:36:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2768,"name":"voteTokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2601,"src":"4977:16:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2771,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2769,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4994:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4994:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4977:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":2772,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2756,"src":"5009:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4977:42:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2767,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4969:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4969:51:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2775,"nodeType":"ExpressionStatement","src":"4969:51:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2777,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5072:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"hexValue":"30","id":2778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5083:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5072:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2776,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5064:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5064:21:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2781,"nodeType":"ExpressionStatement","src":"5064:21:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2783,"name":"_prevPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"5256:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":2784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5271:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5256:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2791,"name":"_prevPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"5304:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2786,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"5276:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2789,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2787,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5283:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5283:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5276:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":2290,"src":"5276:27:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (bool)"}},"id":2792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5276:40:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5256:60:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2782,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5248:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5248:69:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2795,"nodeType":"ExpressionStatement","src":"5248:69:5"},{"assignments":[2797],"declarations":[{"constant":false,"id":2797,"name":"nextPollID","nodeType":"VariableDeclaration","scope":2886,"src":"5328:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2796,"name":"uint","nodeType":"ElementaryTypeName","src":"5328:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2805,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2803,"name":"_prevPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"5373:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2798,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"5346:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2801,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2799,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5353:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5353:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5346:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getNext","nodeType":"MemberAccess","referencedDeclaration":2306,"src":"5346:26:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5346:39:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5328:57:5"},{"expression":{"argumentTypes":null,"id":2820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":2806,"name":"nextPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2797,"src":"5468:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"condition":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2807,"name":"nextPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2797,"src":"5482:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2808,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5496:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5482:21:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2810,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5481:23:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"argumentTypes":null,"id":2818,"name":"nextPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2797,"src":"5545:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5481:74:5","trueExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2816,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5534:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2811,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"5507:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2814,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2812,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5514:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5514:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5507:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2815,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getNext","nodeType":"MemberAccess","referencedDeclaration":2306,"src":"5507:26:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5507:35:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5468:87:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2821,"nodeType":"ExpressionStatement","src":"5468:87:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2824,"name":"_prevPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"5588:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":2825,"name":"nextPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2797,"src":"5601:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2826,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5613:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5613:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2828,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2756,"src":"5625:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2823,"name":"validPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2928,"src":"5574:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256,address,uint256) view returns (bool)"}},"id":2829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5574:62:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2822,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5566:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5566:71:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2831,"nodeType":"ExpressionStatement","src":"5566:71:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2837,"name":"_prevPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"5673:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":2838,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5686:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":2839,"name":"nextPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2797,"src":"5695:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2832,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"5647:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2835,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2833,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5654:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5654:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5647:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"insert","nodeType":"MemberAccess","referencedDeclaration":2447,"src":"5647:25:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256,uint256,uint256)"}},"id":2840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5647:59:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2841,"nodeType":"ExpressionStatement","src":"5647:59:5"},{"assignments":[2843],"declarations":[{"constant":false,"id":2843,"name":"UUID","nodeType":"VariableDeclaration","scope":2886,"src":"5717:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5717:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":2849,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2845,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5741:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5741:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2847,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5753:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2844,"name":"attrUUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3523,"src":"5732:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) pure returns (bytes32)"}},"id":2848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5732:29:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5717:44:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2853,"name":"UUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"5791:4:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"hexValue":"6e756d546f6b656e73","id":2854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5797:11:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a","typeString":"literal_string \"numTokens\""},"value":"numTokens"},{"argumentTypes":null,"id":2855,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2756,"src":"5810:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a","typeString":"literal_string \"numTokens\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2850,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"5772:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage","typeString":"struct AttributeStore.Data storage ref"}},"id":2852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"setAttribute","nodeType":"MemberAccess","referencedDeclaration":2200,"src":"5772:18:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$2149_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2149_storage_ptr_$","typeString":"function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)"}},"id":2856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5772:49:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2857,"nodeType":"ExpressionStatement","src":"5772:49:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2861,"name":"UUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"5850:4:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"hexValue":"636f6d6d697448617368","id":2862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5856:12:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3","typeString":"literal_string \"commitHash\""},"value":"commitHash"},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2864,"name":"_secretHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2754,"src":"5875:11:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5870:4:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":"uint"},"id":2865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5870:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3","typeString":"literal_string \"commitHash\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2858,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"5831:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage","typeString":"struct AttributeStore.Data storage ref"}},"id":2860,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"setAttribute","nodeType":"MemberAccess","referencedDeclaration":2200,"src":"5831:18:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$2149_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2149_storage_ptr_$","typeString":"function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)"}},"id":2866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5831:57:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2867,"nodeType":"ExpressionStatement","src":"5831:57:5"},{"expression":{"argumentTypes":null,"id":2876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2868,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"5899:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2870,"indexExpression":{"argumentTypes":null,"id":2869,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5907:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5899:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didCommit","nodeType":"MemberAccess","referencedDeclaration":2583,"src":"5899:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":2874,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2872,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5926:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5926:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5899:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":2875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5940:4:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5899:45:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2877,"nodeType":"ExpressionStatement","src":"5899:45:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2879,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5969:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":2880,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2756,"src":"5978:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2881,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5990:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5990:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2878,"name":"_VoteCommitted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2516,"src":"5954:14:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address)"}},"id":2883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5954:47:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2884,"nodeType":"ExpressionStatement","src":"5954:47:5"}]},"documentation":"@notice Commits vote using hash of choice and secret salt to conceal vote until reveal\n@param _pollID Integer identifier associated with target poll\n@param _secretHash Commit keccak256 hash of voter's choice and salt (tightly packed in this order)\n@param _numTokens The number of tokens to be committed towards the target poll\n@param _prevPollID The ID of the poll that the user has voted the maximum number of tokens in which is still less than or equal to numTokens","id":2886,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"commitVote","nodeType":"FunctionDefinition","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2752,"name":"_pollID","nodeType":"VariableDeclaration","scope":2886,"src":"4834:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2751,"name":"uint","nodeType":"ElementaryTypeName","src":"4834:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2754,"name":"_secretHash","nodeType":"VariableDeclaration","scope":2886,"src":"4848:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4848:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":2756,"name":"_numTokens","nodeType":"VariableDeclaration","scope":2886,"src":"4869:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2755,"name":"uint","nodeType":"ElementaryTypeName","src":"4869:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2758,"name":"_prevPollID","nodeType":"VariableDeclaration","scope":2886,"src":"4886:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2757,"name":"uint","nodeType":"ElementaryTypeName","src":"4886:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4833:70:5"},"payable":false,"returnParameters":{"id":2760,"nodeType":"ParameterList","parameters":[],"src":"4913:0:5"},"scope":3524,"src":"4814:1194:5","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":2927,"nodeType":"Block","src":"6635:278:5","statements":[{"assignments":[2900],"declarations":[{"constant":false,"id":2900,"name":"prevValid","nodeType":"VariableDeclaration","scope":2928,"src":"6645:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2899,"name":"bool","nodeType":"ElementaryTypeName","src":"6645:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"id":2908,"initialValue":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2901,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2894,"src":"6663:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2903,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"6690:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2904,"name":"_prevID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2888,"src":"6698:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2902,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"6677:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":2905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6677:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6663:43:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2907,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6662:45:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"6645:62:5"},{"assignments":[2910],"declarations":[{"constant":false,"id":2910,"name":"nextValid","nodeType":"VariableDeclaration","scope":2928,"src":"6789:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2909,"name":"bool","nodeType":"ElementaryTypeName","src":"6789:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"id":2922,"initialValue":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2911,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2894,"src":"6807:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2913,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"6834:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2914,"name":"_nextID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2890,"src":"6842:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2912,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"6821:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":2915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6821:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6807:43:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2917,"name":"_nextID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2890,"src":"6854:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":2918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6865:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6854:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6807:59:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2921,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6806:61:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"6789:78:5"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2923,"name":"prevValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2900,"src":"6884:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"id":2924,"name":"nextValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2910,"src":"6897:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6884:22:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2898,"id":2926,"nodeType":"Return","src":"6877:29:5"}]},"documentation":"@dev Compares previous and next poll's committed tokens for sorting purposes\n@param _prevID Integer identifier associated with previous poll in sorted order\n@param _nextID Integer identifier associated with next poll in sorted order\n@param _voter Address of user to check DLL position for\n@param _numTokens The number of tokens to be committed towards the poll (used for sorting)\n@return valid Boolean indication of if the specified position maintains the sort","id":2928,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"validPosition","nodeType":"FunctionDefinition","parameters":{"id":2895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2888,"name":"_prevID","nodeType":"VariableDeclaration","scope":2928,"src":"6537:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2887,"name":"uint","nodeType":"ElementaryTypeName","src":"6537:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2890,"name":"_nextID","nodeType":"VariableDeclaration","scope":2928,"src":"6551:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2889,"name":"uint","nodeType":"ElementaryTypeName","src":"6551:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2892,"name":"_voter","nodeType":"VariableDeclaration","scope":2928,"src":"6565:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2891,"name":"address","nodeType":"ElementaryTypeName","src":"6565:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":2894,"name":"_numTokens","nodeType":"VariableDeclaration","scope":2928,"src":"6581:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2893,"name":"uint","nodeType":"ElementaryTypeName","src":"6581:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"6536:61:5"},"payable":false,"returnParameters":{"id":2898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2897,"name":"valid","nodeType":"VariableDeclaration","scope":2928,"src":"6623:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2896,"name":"bool","nodeType":"ElementaryTypeName","src":"6623:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"6622:12:5"},"scope":3524,"src":"6514:399:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3039,"nodeType":"Block","src":"7348:1065:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2939,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"7434:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2938,"name":"revealPeriodActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"7415:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":2940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7415:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2937,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7407:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7407:36:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2942,"nodeType":"ExpressionStatement","src":"7407:36:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2944,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"7461:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2946,"indexExpression":{"argumentTypes":null,"id":2945,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"7469:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7461:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2947,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didCommit","nodeType":"MemberAccess","referencedDeclaration":2583,"src":"7461:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":2950,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2948,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"7488:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7488:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7461:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2943,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7453:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7453:47:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2952,"nodeType":"ExpressionStatement","src":"7453:47:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7595:39:5","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2954,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"7596:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2956,"indexExpression":{"argumentTypes":null,"id":2955,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"7604:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7596:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didReveal","nodeType":"MemberAccess","referencedDeclaration":2587,"src":"7596:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":2960,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2958,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"7623:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7623:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7596:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2953,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7587:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7587:48:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2963,"nodeType":"ExpressionStatement","src":"7587:48:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2966,"name":"_voteOption","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2932,"src":"7732:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":2967,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2934,"src":"7745:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2965,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"7722:9:5","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":2968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7722:29:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2970,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"7769:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7769:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2972,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"7781:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2969,"name":"getCommitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3376,"src":"7755:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) view returns (bytes32)"}},"id":2973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7755:34:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7722:67:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2964,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7714:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7714:76:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2976,"nodeType":"ExpressionStatement","src":"7714:76:5"},{"assignments":[2978],"declarations":[{"constant":false,"id":2978,"name":"numTokens","nodeType":"VariableDeclaration","scope":3040,"src":"7862:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2977,"name":"uint","nodeType":"ElementaryTypeName","src":"7862:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2984,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2980,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"7892:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7892:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2982,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"7904:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2979,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"7879:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":2983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7879:33:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7862:50:5"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2985,"name":"_voteOption","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2932,"src":"7927:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"31","id":2986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7942:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7927:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3003,"nodeType":"Block","src":"8059:67:5","statements":[{"expression":{"argumentTypes":null,"id":3001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2996,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8073:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2998,"indexExpression":{"argumentTypes":null,"id":2997,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8081:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8073:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"votesAgainst","nodeType":"MemberAccess","referencedDeclaration":2579,"src":"8073:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":3000,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2978,"src":"8106:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8073:42:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3002,"nodeType":"ExpressionStatement","src":"8073:42:5"}]},"id":3004,"nodeType":"IfStatement","src":"7923:203:5","trueBody":{"id":2995,"nodeType":"Block","src":"7945:108:5","statements":[{"expression":{"argumentTypes":null,"id":2993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2988,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8004:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2990,"indexExpression":{"argumentTypes":null,"id":2989,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8012:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8004:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"votesFor","nodeType":"MemberAccess","referencedDeclaration":2577,"src":"8004:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":2992,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2978,"src":"8033:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8004:38:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2994,"nodeType":"ExpressionStatement","src":"8004:38:5"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3010,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8162:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3005,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"8136:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":3008,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3006,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8143:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8143:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8136:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":3009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"remove","nodeType":"MemberAccess","referencedDeclaration":2501,"src":"8136:25:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256)"}},"id":3011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8136:34:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3012,"nodeType":"ExpressionStatement","src":"8136:34:5"},{"expression":{"argumentTypes":null,"id":3021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3013,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8234:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3015,"indexExpression":{"argumentTypes":null,"id":3014,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8242:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8234:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3016,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didReveal","nodeType":"MemberAccess","referencedDeclaration":2587,"src":"8234:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3019,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3017,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8261:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8261:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8234:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":3020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8275:4:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8234:45:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3022,"nodeType":"ExpressionStatement","src":"8234:45:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3024,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8304:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3025,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2978,"src":"8313:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3026,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8324:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3028,"indexExpression":{"argumentTypes":null,"id":3027,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8332:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8324:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesFor","nodeType":"MemberAccess","referencedDeclaration":2577,"src":"8324:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3030,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8351:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3032,"indexExpression":{"argumentTypes":null,"id":3031,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8359:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8351:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3033,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesAgainst","nodeType":"MemberAccess","referencedDeclaration":2579,"src":"8351:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3034,"name":"_voteOption","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2932,"src":"8382:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3035,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8395:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8395:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":3023,"name":"_VoteRevealed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2530,"src":"8290:13:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,uint256,address)"}},"id":3037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8290:116:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3038,"nodeType":"ExpressionStatement","src":"8290:116:5"}]},"documentation":"@notice Reveals vote with choice and secret salt used in generating commitHash to attribute committed tokens\n@param _pollID Integer identifier associated with target poll\n@param _voteOption Vote choice used to generate commitHash for associated poll\n@param _salt Secret number used to generate commitHash for associated poll","id":3040,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"revealVote","nodeType":"FunctionDefinition","parameters":{"id":2935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2930,"name":"_pollID","nodeType":"VariableDeclaration","scope":3040,"src":"7295:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2929,"name":"uint","nodeType":"ElementaryTypeName","src":"7295:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2932,"name":"_voteOption","nodeType":"VariableDeclaration","scope":3040,"src":"7309:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2931,"name":"uint","nodeType":"ElementaryTypeName","src":"7309:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2934,"name":"_salt","nodeType":"VariableDeclaration","scope":3040,"src":"7327:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2933,"name":"uint","nodeType":"ElementaryTypeName","src":"7327:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"7294:44:5"},"payable":false,"returnParameters":{"id":2936,"nodeType":"ParameterList","parameters":[],"src":"7348:0:5"},"scope":3524,"src":"7275:1138:5","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":3100,"nodeType":"Block","src":"8754:368:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3053,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"8782:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3052,"name":"pollEnded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3243,"src":"8772:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8772:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3051,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"8764:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8764:27:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3056,"nodeType":"ExpressionStatement","src":"8764:27:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3058,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8809:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3060,"indexExpression":{"argumentTypes":null,"id":3059,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"8817:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8809:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didReveal","nodeType":"MemberAccess","referencedDeclaration":2587,"src":"8809:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3063,"indexExpression":{"argumentTypes":null,"id":3062,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3042,"src":"8836:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8809:34:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3057,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"8801:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8801:43:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3065,"nodeType":"ExpressionStatement","src":"8801:43:5"},{"assignments":[3067],"declarations":[{"constant":false,"id":3067,"name":"winningChoice","nodeType":"VariableDeclaration","scope":3101,"src":"8855:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3066,"name":"uint","nodeType":"ElementaryTypeName","src":"8855:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3074,"initialValue":{"argumentTypes":null,"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3069,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"8885:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3068,"name":"isPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3194,"src":"8876:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8876:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"argumentTypes":null,"hexValue":"30","id":3072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8900:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":3073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8876:25:5","trueExpression":{"argumentTypes":null,"hexValue":"31","id":3071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8896:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"8855:46:5"},{"assignments":[3076],"declarations":[{"constant":false,"id":3076,"name":"winnerHash","nodeType":"VariableDeclaration","scope":3101,"src":"8911:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8911:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":3081,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3078,"name":"winningChoice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3067,"src":"8942:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3079,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"8957:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3077,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"8932:9:5","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":3080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8932:31:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8911:52:5"},{"assignments":[3083],"declarations":[{"constant":false,"id":3083,"name":"commitHash","nodeType":"VariableDeclaration","scope":3101,"src":"8973:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8973:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":3088,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3085,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3042,"src":"9008:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3086,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"9016:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3084,"name":"getCommitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3376,"src":"8994:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) view returns (bytes32)"}},"id":3087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8994:30:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8973:51:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3090,"name":"winnerHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3076,"src":"9043:10:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":3091,"name":"commitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3083,"src":"9057:10:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9043:24:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3089,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"9035:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9035:33:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3094,"nodeType":"ExpressionStatement","src":"9035:33:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3096,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3042,"src":"9099:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3097,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"9107:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3095,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"9086:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9086:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3050,"id":3099,"nodeType":"Return","src":"9079:36:5"}]},"documentation":"@param _pollID Integer identifier associated with target poll\n@param _salt Arbitrarily chosen integer used to generate secretHash\n@return correctVotes Number of tokens voted for winning option","id":3101,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getNumPassingTokens","nodeType":"FunctionDefinition","parameters":{"id":3047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3042,"name":"_voter","nodeType":"VariableDeclaration","scope":3101,"src":"8668:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3041,"name":"address","nodeType":"ElementaryTypeName","src":"8668:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3044,"name":"_pollID","nodeType":"VariableDeclaration","scope":3101,"src":"8684:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3043,"name":"uint","nodeType":"ElementaryTypeName","src":"8684:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3046,"name":"_salt","nodeType":"VariableDeclaration","scope":3101,"src":"8698:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3045,"name":"uint","nodeType":"ElementaryTypeName","src":"8698:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"8667:42:5"},"payable":false,"returnParameters":{"id":3050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3049,"name":"correctVotes","nodeType":"VariableDeclaration","scope":3101,"src":"8735:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3048,"name":"uint","nodeType":"ElementaryTypeName","src":"8735:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"8734:19:5"},"scope":3524,"src":"8639:483:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3156,"nodeType":"Block","src":"9671:513:5","statements":[{"expression":{"argumentTypes":null,"id":3116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3112,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"9681:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3113,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"9693:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"hexValue":"31","id":3114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9705:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9693:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9681:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3117,"nodeType":"ExpressionStatement","src":"9681:25:5"},{"assignments":[3119],"declarations":[{"constant":false,"id":3119,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":3157,"src":"9717:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3118,"name":"uint","nodeType":"ElementaryTypeName","src":"9717:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3125,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3123,"name":"_commitDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"9758:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3120,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3917,"src":"9738:5:5","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9738:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"9738:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":3124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9738:36:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9717:57:5"},{"assignments":[3127],"declarations":[{"constant":false,"id":3127,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":3157,"src":"9784:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3126,"name":"uint","nodeType":"ElementaryTypeName","src":"9784:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3132,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3130,"name":"_revealDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"9823:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":3128,"name":"commitEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3119,"src":"9805:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"9805:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":3131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9805:34:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9784:55:5"},{"expression":{"argumentTypes":null,"id":3143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3133,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"9850:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3135,"indexExpression":{"argumentTypes":null,"id":3134,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"9858:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9850:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3137,"name":"_voteQuorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3103,"src":"9902:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3138,"name":"commitEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3119,"src":"9942:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3139,"name":"revealEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3127,"src":"9984:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"hexValue":"30","id":3140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10021:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"argumentTypes":null,"hexValue":"30","id":3141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10050:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":null,"id":3136,"name":"Poll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2588,"src":"9871:4:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Poll_$2588_storage_ptr_$","typeString":"type(struct PLCRVoting.Poll storage pointer)"}},"id":3142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["voteQuorum","commitEndDate","revealEndDate","votesFor","votesAgainst"],"nodeType":"FunctionCall","src":"9871:191:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory","typeString":"struct PLCRVoting.Poll memory"}},"src":"9850:212:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3144,"nodeType":"ExpressionStatement","src":"9850:212:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3146,"name":"_voteQuorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3103,"src":"10086:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3147,"name":"commitEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3119,"src":"10099:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3148,"name":"revealEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3127,"src":"10114:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3149,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"10129:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3150,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10140:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10140:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":3145,"name":"_PollCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2542,"src":"10073:12:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,address)"}},"id":3152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10073:78:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3153,"nodeType":"ExpressionStatement","src":"10073:78:5"},{"expression":{"argumentTypes":null,"id":3154,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"10168:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3111,"id":3155,"nodeType":"Return","src":"10161:16:5"}]},"documentation":"@dev Initiates a poll with canonical configured parameters at pollID emitted by PollCreated event\n@param _voteQuorum Type of majority (out of 100) that is necessary for poll to be successful\n@param _commitDuration Length of desired commit period in seconds\n@param _revealDuration Length of desired reveal period in seconds","id":3157,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"startPoll","nodeType":"FunctionDefinition","parameters":{"id":3108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3103,"name":"_voteQuorum","nodeType":"VariableDeclaration","scope":3157,"src":"9580:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3102,"name":"uint","nodeType":"ElementaryTypeName","src":"9580:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3105,"name":"_commitDuration","nodeType":"VariableDeclaration","scope":3157,"src":"9598:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3104,"name":"uint","nodeType":"ElementaryTypeName","src":"9598:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3107,"name":"_revealDuration","nodeType":"VariableDeclaration","scope":3157,"src":"9620:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3106,"name":"uint","nodeType":"ElementaryTypeName","src":"9620:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"9579:62:5"},"payable":false,"returnParameters":{"id":3111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3110,"name":"pollID","nodeType":"VariableDeclaration","scope":3157,"src":"9658:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3109,"name":"uint","nodeType":"ElementaryTypeName","src":"9658:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"9657:13:5"},"scope":3524,"src":"9561:623:5","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":3193,"nodeType":"Block","src":"10473:186:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3166,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3159,"src":"10501:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3165,"name":"pollEnded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3243,"src":"10491:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10491:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3164,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"10483:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10483:27:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3169,"nodeType":"ExpressionStatement","src":"10483:27:5"},{"assignments":[3171],"declarations":[{"constant":false,"id":3171,"name":"poll","nodeType":"VariableDeclaration","scope":3194,"src":"10521:16:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory_ptr","typeString":"struct PLCRVoting.Poll memory"},"typeName":{"contractScope":null,"id":3170,"name":"Poll","nodeType":"UserDefinedTypeName","referencedDeclaration":2588,"src":"10521:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage_ptr","typeString":"struct PLCRVoting.Poll storage pointer"}},"value":null,"visibility":"internal"}],"id":3175,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3172,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"10540:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3174,"indexExpression":{"argumentTypes":null,"id":3173,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3159,"src":"10548:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10540:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10521:35:5"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"313030","id":3176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10574:3:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3177,"name":"poll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3171,"src":"10580:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory_ptr","typeString":"struct PLCRVoting.Poll memory"}},"id":3178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesFor","nodeType":"MemberAccess","referencedDeclaration":2577,"src":"10580:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10574:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3180,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10573:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3181,"name":"poll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3171,"src":"10598:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory_ptr","typeString":"struct PLCRVoting.Poll memory"}},"id":3182,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"voteQuorum","nodeType":"MemberAccess","referencedDeclaration":2575,"src":"10598:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3183,"name":"poll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3171,"src":"10617:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory_ptr","typeString":"struct PLCRVoting.Poll memory"}},"id":3184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesFor","nodeType":"MemberAccess","referencedDeclaration":2577,"src":"10617:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3185,"name":"poll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3171,"src":"10633:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory_ptr","typeString":"struct PLCRVoting.Poll memory"}},"id":3186,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesAgainst","nodeType":"MemberAccess","referencedDeclaration":2579,"src":"10633:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10617:33:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3188,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10616:35:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10598:53:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3190,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10597:55:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10573:79:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3163,"id":3192,"nodeType":"Return","src":"10566:86:5"}]},"documentation":"@notice Determines if proposal has passed\n@dev Check if votesFor out of totalVotes exceeds votesQuorum (requires pollEnded)\n@param _pollID Integer identifier associated with target poll","id":3194,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"isPassed","nodeType":"FunctionDefinition","parameters":{"id":3160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3159,"name":"_pollID","nodeType":"VariableDeclaration","scope":3194,"src":"10421:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3158,"name":"uint","nodeType":"ElementaryTypeName","src":"10421:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"10420:14:5"},"payable":false,"returnParameters":{"id":3163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3162,"name":"passed","nodeType":"VariableDeclaration","scope":3194,"src":"10460:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3161,"name":"bool","nodeType":"ElementaryTypeName","src":"10460:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"10459:13:5"},"scope":3524,"src":"10403:256:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3221,"nodeType":"Block","src":"11078:185:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3203,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3196,"src":"11106:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3202,"name":"pollEnded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3243,"src":"11096:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11096:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3201,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"11088:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11088:27:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3206,"nodeType":"ExpressionStatement","src":"11088:27:5"},{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3208,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3196,"src":"11139:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3207,"name":"isPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3194,"src":"11130:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11130:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3215,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"11227:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3217,"indexExpression":{"argumentTypes":null,"id":3216,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3196,"src":"11235:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11227:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesAgainst","nodeType":"MemberAccess","referencedDeclaration":2579,"src":"11227:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3200,"id":3219,"nodeType":"Return","src":"11220:36:5"},"id":3220,"nodeType":"IfStatement","src":"11126:130:5","trueBody":{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3210,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"11168:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3212,"indexExpression":{"argumentTypes":null,"id":3211,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3196,"src":"11176:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11168:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesFor","nodeType":"MemberAccess","referencedDeclaration":2577,"src":"11168:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3200,"id":3214,"nodeType":"Return","src":"11161:32:5"}}]},"documentation":"@dev Gets the total winning votes for reward distribution purposes\n@param _pollID Integer identifier associated with target poll\n@return Total number of votes committed to the winning option for specified poll","id":3222,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getTotalNumberOfTokensForWinningOption","nodeType":"FunctionDefinition","parameters":{"id":3197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3196,"name":"_pollID","nodeType":"VariableDeclaration","scope":3222,"src":"11023:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3195,"name":"uint","nodeType":"ElementaryTypeName","src":"11023:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11022:14:5"},"payable":false,"returnParameters":{"id":3200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3199,"name":"numTokens","nodeType":"VariableDeclaration","scope":3222,"src":"11062:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3198,"name":"uint","nodeType":"ElementaryTypeName","src":"11062:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11061:16:5"},"scope":3524,"src":"10975:288:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3242,"nodeType":"Block","src":"11519:104:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3231,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3224,"src":"11548:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3230,"name":"pollExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"11537:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11537:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3229,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"11529:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11529:28:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3234,"nodeType":"ExpressionStatement","src":"11529:28:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3236,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"11585:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3238,"indexExpression":{"argumentTypes":null,"id":3237,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3224,"src":"11593:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11585:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"revealEndDate","nodeType":"MemberAccess","referencedDeclaration":2573,"src":"11585:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3235,"name":"isExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"11575:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11575:41:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3228,"id":3241,"nodeType":"Return","src":"11568:48:5"}]},"documentation":"@notice Determines if poll is over\n@dev Checks isExpired for specified poll's revealEndDate\n@return Boolean indication of whether polling period is over","id":3243,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"pollEnded","nodeType":"FunctionDefinition","parameters":{"id":3225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3224,"name":"_pollID","nodeType":"VariableDeclaration","scope":3243,"src":"11468:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3223,"name":"uint","nodeType":"ElementaryTypeName","src":"11468:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11467:14:5"},"payable":false,"returnParameters":{"id":3228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3227,"name":"ended","nodeType":"VariableDeclaration","scope":3243,"src":"11507:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3226,"name":"bool","nodeType":"ElementaryTypeName","src":"11507:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"11506:12:5"},"scope":3524,"src":"11449:174:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3264,"nodeType":"Block","src":"12005:105:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3252,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3245,"src":"12034:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3251,"name":"pollExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"12023:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12023:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3250,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"12015:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12015:28:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3255,"nodeType":"ExpressionStatement","src":"12015:28:5"},{"expression":{"argumentTypes":null,"id":3262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12061:42:5","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3257,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"12072:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3259,"indexExpression":{"argumentTypes":null,"id":3258,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3245,"src":"12080:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12072:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"commitEndDate","nodeType":"MemberAccess","referencedDeclaration":2571,"src":"12072:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3256,"name":"isExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"12062:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12062:41:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3249,"id":3263,"nodeType":"Return","src":"12054:49:5"}]},"documentation":"@notice Checks if the commit period is still active for the specified poll\n@dev Checks isExpired for the specified poll's commitEndDate\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of isCommitPeriodActive for target poll","id":3265,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"commitPeriodActive","nodeType":"FunctionDefinition","parameters":{"id":3246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3245,"name":"_pollID","nodeType":"VariableDeclaration","scope":3265,"src":"11953:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3244,"name":"uint","nodeType":"ElementaryTypeName","src":"11953:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11952:14:5"},"payable":false,"returnParameters":{"id":3249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3248,"name":"active","nodeType":"VariableDeclaration","scope":3265,"src":"11992:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3247,"name":"bool","nodeType":"ElementaryTypeName","src":"11992:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"11991:13:5"},"scope":3524,"src":"11925:185:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3291,"nodeType":"Block","src":"12421:137:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3274,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3267,"src":"12450:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3273,"name":"pollExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"12439:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12439:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3272,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"12431:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12431:28:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3277,"nodeType":"ExpressionStatement","src":"12431:28:5"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12477:42:5","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3279,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"12488:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3281,"indexExpression":{"argumentTypes":null,"id":3280,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3267,"src":"12496:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12488:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"revealEndDate","nodeType":"MemberAccess","referencedDeclaration":2573,"src":"12488:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3278,"name":"isExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"12478:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12478:41:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"id":3288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12523:28:5","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3286,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3267,"src":"12543:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3285,"name":"commitPeriodActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3265,"src":"12524:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12524:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12477:74:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3271,"id":3290,"nodeType":"Return","src":"12470:81:5"}]},"documentation":"@notice Checks if the reveal period is still active for the specified poll\n@dev Checks isExpired for the specified poll's revealEndDate\n@param _pollID Integer identifier associated with target poll","id":3292,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"revealPeriodActive","nodeType":"FunctionDefinition","parameters":{"id":3268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3267,"name":"_pollID","nodeType":"VariableDeclaration","scope":3292,"src":"12369:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3266,"name":"uint","nodeType":"ElementaryTypeName","src":"12369:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"12368:14:5"},"payable":false,"returnParameters":{"id":3271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3270,"name":"active","nodeType":"VariableDeclaration","scope":3292,"src":"12408:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3269,"name":"bool","nodeType":"ElementaryTypeName","src":"12408:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"12407:13:5"},"scope":3524,"src":"12341:217:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3314,"nodeType":"Block","src":"12904:97:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3303,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3296,"src":"12933:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3302,"name":"pollExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"12922:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12922:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3301,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"12914:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12914:28:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3306,"nodeType":"ExpressionStatement","src":"12914:28:5"},{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3307,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"12960:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3309,"indexExpression":{"argumentTypes":null,"id":3308,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3296,"src":"12968:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12960:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didCommit","nodeType":"MemberAccess","referencedDeclaration":2583,"src":"12960:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3312,"indexExpression":{"argumentTypes":null,"id":3311,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3294,"src":"12987:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12960:34:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3300,"id":3313,"nodeType":"Return","src":"12953:41:5"}]},"documentation":"@dev Checks if user has committed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has committed","id":3315,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"didCommit","nodeType":"FunctionDefinition","parameters":{"id":3297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3294,"name":"_voter","nodeType":"VariableDeclaration","scope":3315,"src":"12833:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3293,"name":"address","nodeType":"ElementaryTypeName","src":"12833:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3296,"name":"_pollID","nodeType":"VariableDeclaration","scope":3315,"src":"12849:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3295,"name":"uint","nodeType":"ElementaryTypeName","src":"12849:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"12832:30:5"},"payable":false,"returnParameters":{"id":3300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3299,"name":"committed","nodeType":"VariableDeclaration","scope":3315,"src":"12888:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3298,"name":"bool","nodeType":"ElementaryTypeName","src":"12888:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"12887:16:5"},"scope":3524,"src":"12814:187:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3337,"nodeType":"Block","src":"13344:97:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3326,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"13373:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3325,"name":"pollExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"13362:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13362:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3324,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"13354:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13354:28:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3329,"nodeType":"ExpressionStatement","src":"13354:28:5"},{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3330,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"13400:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3332,"indexExpression":{"argumentTypes":null,"id":3331,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"13408:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13400:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didReveal","nodeType":"MemberAccess","referencedDeclaration":2587,"src":"13400:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3335,"indexExpression":{"argumentTypes":null,"id":3334,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"13427:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13400:34:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3323,"id":3336,"nodeType":"Return","src":"13393:41:5"}]},"documentation":"@dev Checks if user has revealed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has revealed","id":3338,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"didReveal","nodeType":"FunctionDefinition","parameters":{"id":3320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3317,"name":"_voter","nodeType":"VariableDeclaration","scope":3338,"src":"13274:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3316,"name":"address","nodeType":"ElementaryTypeName","src":"13274:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3319,"name":"_pollID","nodeType":"VariableDeclaration","scope":3338,"src":"13290:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3318,"name":"uint","nodeType":"ElementaryTypeName","src":"13290:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"13273:30:5"},"payable":false,"returnParameters":{"id":3323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3322,"name":"revealed","nodeType":"VariableDeclaration","scope":3338,"src":"13329:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3321,"name":"bool","nodeType":"ElementaryTypeName","src":"13329:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"13328:15:5"},"scope":3524,"src":"13255:186:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3354,"nodeType":"Block","src":"13709:62:5","statements":[{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3345,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3340,"src":"13727:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"hexValue":"30","id":3346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13738:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13727:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3348,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3340,"src":"13743:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"id":3349,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"13754:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13743:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13727:36:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3352,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13726:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3344,"id":3353,"nodeType":"Return","src":"13719:45:5"}]},"documentation":"@dev Checks if a poll exists\n@param _pollID The pollID whose existance is to be evaluated.\n@return Boolean Indicates whether a poll exists for the provided pollID","id":3355,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"pollExists","nodeType":"FunctionDefinition","parameters":{"id":3341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3340,"name":"_pollID","nodeType":"VariableDeclaration","scope":3355,"src":"13657:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3339,"name":"uint","nodeType":"ElementaryTypeName","src":"13657:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"13656:14:5"},"payable":false,"returnParameters":{"id":3344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3343,"name":"exists","nodeType":"VariableDeclaration","scope":3355,"src":"13696:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3342,"name":"bool","nodeType":"ElementaryTypeName","src":"13696:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"13695:13:5"},"scope":3524,"src":"13637:134:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3375,"nodeType":"Block","src":"14232:92:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3368,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3357,"src":"14285:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3369,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3359,"src":"14293:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3367,"name":"attrUUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3523,"src":"14276:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) pure returns (bytes32)"}},"id":3370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14276:25:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"hexValue":"636f6d6d697448617368","id":3371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14303:12:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3","typeString":"literal_string \"commitHash\""},"value":"commitHash"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3","typeString":"literal_string \"commitHash\""}],"expression":{"argumentTypes":null,"id":3365,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"14257:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage","typeString":"struct AttributeStore.Data storage ref"}},"id":3366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getAttribute","nodeType":"MemberAccess","referencedDeclaration":2173,"src":"14257:18:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2149_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2149_storage_ptr_$","typeString":"function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)"}},"id":3372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14257:59:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14249:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":"bytes32"},"id":3373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14249:68:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":3363,"id":3374,"nodeType":"Return","src":"14242:75:5"}]},"documentation":"@dev Gets the bytes32 commitHash property of target poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Bytes32 hash property attached to target poll","id":3376,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getCommitHash","nodeType":"FunctionDefinition","parameters":{"id":3360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3357,"name":"_voter","nodeType":"VariableDeclaration","scope":3376,"src":"14157:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3356,"name":"address","nodeType":"ElementaryTypeName","src":"14157:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3359,"name":"_pollID","nodeType":"VariableDeclaration","scope":3376,"src":"14173:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3358,"name":"uint","nodeType":"ElementaryTypeName","src":"14173:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14156:30:5"},"payable":false,"returnParameters":{"id":3363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3362,"name":"commitHash","nodeType":"VariableDeclaration","scope":3376,"src":"14212:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14212:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"14211:20:5"},"scope":3524,"src":"14134:190:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3394,"nodeType":"Block","src":"14689:82:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3388,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3378,"src":"14734:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3389,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3380,"src":"14742:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3387,"name":"attrUUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3523,"src":"14725:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) pure returns (bytes32)"}},"id":3390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14725:25:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"hexValue":"6e756d546f6b656e73","id":3391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14752:11:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a","typeString":"literal_string \"numTokens\""},"value":"numTokens"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a","typeString":"literal_string \"numTokens\""}],"expression":{"argumentTypes":null,"id":3385,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"14706:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage","typeString":"struct AttributeStore.Data storage ref"}},"id":3386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getAttribute","nodeType":"MemberAccess","referencedDeclaration":2173,"src":"14706:18:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2149_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2149_storage_ptr_$","typeString":"function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)"}},"id":3392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14706:58:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3384,"id":3393,"nodeType":"Return","src":"14699:65:5"}]},"documentation":"@dev Wrapper for getAttribute with attrName=\"numTokens\"\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Number of tokens committed to poll in sorted poll-linked-list","id":3395,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getNumTokens","nodeType":"FunctionDefinition","parameters":{"id":3381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3378,"name":"_voter","nodeType":"VariableDeclaration","scope":3395,"src":"14618:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3377,"name":"address","nodeType":"ElementaryTypeName","src":"14618:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3380,"name":"_pollID","nodeType":"VariableDeclaration","scope":3395,"src":"14634:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3379,"name":"uint","nodeType":"ElementaryTypeName","src":"14634:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14617:30:5"},"payable":false,"returnParameters":{"id":3384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3383,"name":"numTokens","nodeType":"VariableDeclaration","scope":3395,"src":"14673:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3382,"name":"uint","nodeType":"ElementaryTypeName","src":"14673:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14672:16:5"},"scope":3524,"src":"14596:175:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3409,"nodeType":"Block","src":"15056:49:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"30","id":3406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15096:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3402,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"15073:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":3404,"indexExpression":{"argumentTypes":null,"id":3403,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"15080:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15073:14:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":3405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getPrev","nodeType":"MemberAccess","referencedDeclaration":2322,"src":"15073:22:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":3407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15073:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3401,"id":3408,"nodeType":"Return","src":"15066:32:5"}]},"documentation":"@dev Gets top element of sorted poll-linked-list\n@param _voter Address of user to check against\n@return Integer identifier to poll with maximum number of tokens committed to it","id":3410,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getLastNode","nodeType":"FunctionDefinition","parameters":{"id":3398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3397,"name":"_voter","nodeType":"VariableDeclaration","scope":3410,"src":"15002:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3396,"name":"address","nodeType":"ElementaryTypeName","src":"15002:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"15001:16:5"},"payable":false,"returnParameters":{"id":3401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3400,"name":"pollID","nodeType":"VariableDeclaration","scope":3410,"src":"15043:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3399,"name":"uint","nodeType":"ElementaryTypeName","src":"15043:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"15042:13:5"},"scope":3524,"src":"14981:124:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3424,"nodeType":"Block","src":"15376:65:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3418,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3412,"src":"15406:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3420,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3412,"src":"15426:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3419,"name":"getLastNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3410,"src":"15414:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":3421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15414:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3417,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"15393:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15393:41:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3416,"id":3423,"nodeType":"Return","src":"15386:48:5"}]},"documentation":"@dev Gets the numTokens property of getLastNode\n@param _voter Address of user to check against\n@return Maximum number of tokens committed in poll specified","id":3425,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getLockedTokens","nodeType":"FunctionDefinition","parameters":{"id":3413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3412,"name":"_voter","nodeType":"VariableDeclaration","scope":3425,"src":"15319:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3411,"name":"address","nodeType":"ElementaryTypeName","src":"15319:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"15318:16:5"},"payable":false,"returnParameters":{"id":3416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3415,"name":"numTokens","nodeType":"VariableDeclaration","scope":3425,"src":"15360:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3414,"name":"uint","nodeType":"ElementaryTypeName","src":"15360:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"15359:16:5"},"scope":3524,"src":"15294:147:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3493,"nodeType":"Block","src":"16278:990:5","statements":[{"assignments":[3437],"declarations":[{"constant":false,"id":3437,"name":"nodeID","nodeType":"VariableDeclaration","scope":3494,"src":"16363:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3436,"name":"uint","nodeType":"ElementaryTypeName","src":"16363:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3441,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3439,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3427,"src":"16389:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3438,"name":"getLastNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3410,"src":"16377:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":3440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16377:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16363:33:5"},{"assignments":[3443],"declarations":[{"constant":false,"id":3443,"name":"tokensInNode","nodeType":"VariableDeclaration","scope":3494,"src":"16404:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3442,"name":"uint","nodeType":"ElementaryTypeName","src":"16404:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3448,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3445,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3427,"src":"16437:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3446,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16445:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3444,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"16424:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16424:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16404:48:5"},{"body":{"id":3489,"nodeType":"Block","src":"16553:591:5","statements":[{"expression":{"argumentTypes":null,"id":3457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3452,"name":"tokensInNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3443,"src":"16619:12:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3454,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3427,"src":"16647:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3455,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16655:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3453,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"16634:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16634:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16619:43:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3458,"nodeType":"ExpressionStatement","src":"16619:43:5"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3459,"name":"tokensInNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3443,"src":"16675:12:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"id":3460,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3429,"src":"16691:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16675:26:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":3479,"nodeType":"IfStatement","src":"16672:324:5","trueBody":{"id":3478,"nodeType":"Block","src":"16703:293:5","statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3462,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16748:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":3463,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"16758:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16748:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":3475,"nodeType":"IfStatement","src":"16745:178:5","trueBody":{"id":3474,"nodeType":"Block","src":"16767:156:5","statements":[{"expression":{"argumentTypes":null,"id":3472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3465,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16871:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3470,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16903:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3466,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"16880:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":3468,"indexExpression":{"argumentTypes":null,"id":3467,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3427,"src":"16887:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16880:14:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":3469,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getPrev","nodeType":"MemberAccess","referencedDeclaration":2322,"src":"16880:22:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":3471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16880:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16871:39:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3473,"nodeType":"ExpressionStatement","src":"16871:39:5"}]}},{"expression":{"argumentTypes":null,"id":3476,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16978:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3435,"id":3477,"nodeType":"Return","src":"16971:13:5"}]}},{"expression":{"argumentTypes":null,"id":3487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3480,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"17096:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3485,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"17128:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3481,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"17105:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":3483,"indexExpression":{"argumentTypes":null,"id":3482,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3427,"src":"17112:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17105:14:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":3484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getPrev","nodeType":"MemberAccess","referencedDeclaration":2322,"src":"17105:22:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":3486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17105:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17096:39:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3488,"nodeType":"ExpressionStatement","src":"17096:39:5"}]},"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3449,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16540:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"hexValue":"30","id":3450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16550:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16540:11:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3490,"nodeType":"WhileStatement","src":"16534:610:5"},{"expression":{"argumentTypes":null,"id":3491,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"17255:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3435,"id":3492,"nodeType":"Return","src":"17248:13:5"}]},"documentation":null,"id":3494,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getInsertPointForNumTokens","nodeType":"FunctionDefinition","parameters":{"id":3432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3427,"name":"_voter","nodeType":"VariableDeclaration","scope":3494,"src":"16187:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3426,"name":"address","nodeType":"ElementaryTypeName","src":"16187:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3429,"name":"_numTokens","nodeType":"VariableDeclaration","scope":3494,"src":"16203:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3428,"name":"uint","nodeType":"ElementaryTypeName","src":"16203:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3431,"name":"_pollID","nodeType":"VariableDeclaration","scope":3494,"src":"16220:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3430,"name":"uint","nodeType":"ElementaryTypeName","src":"16220:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"16186:47:5"},"payable":false,"returnParameters":{"id":3435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3434,"name":"prevNode","nodeType":"VariableDeclaration","scope":3494,"src":"16263:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3433,"name":"uint","nodeType":"ElementaryTypeName","src":"16263:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"16262:15:5"},"scope":3524,"src":"16151:1117:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3507,"nodeType":"Block","src":"17667:60:5","statements":[{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3501,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3917,"src":"17685:5:5","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":null,"src":"17685:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"id":3503,"name":"_terminationDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3496,"src":"17703:16:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17685:34:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3505,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17684:36:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3500,"id":3506,"nodeType":"Return","src":"17677:43:5"}]},"documentation":"@dev Checks if an expiration date has been reached\n@param _terminationDate Integer timestamp of date to compare current timestamp with\n@return expired Boolean indication of whether the terminationDate has passed","id":3508,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"isExpired","nodeType":"FunctionDefinition","parameters":{"id":3497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3496,"name":"_terminationDate","nodeType":"VariableDeclaration","scope":3508,"src":"17605:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3495,"name":"uint","nodeType":"ElementaryTypeName","src":"17605:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"17604:23:5"},"payable":false,"returnParameters":{"id":3500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3499,"name":"expired","nodeType":"VariableDeclaration","scope":3508,"src":"17653:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3498,"name":"bool","nodeType":"ElementaryTypeName","src":"17653:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"17652:14:5"},"scope":3524,"src":"17586:141:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3522,"nodeType":"Block","src":"18041:49:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3518,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3510,"src":"18068:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3519,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3512,"src":"18075:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3517,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"18058:9:5","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":3520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18058:25:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":3516,"id":3521,"nodeType":"Return","src":"18051:32:5"}]},"documentation":"@dev Generates an identifier which associates a user and a poll together\n@param _pollID Integer identifier associated with target poll\n@return UUID Hash which is deterministic from _user and _pollID","id":3523,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"attrUUID","nodeType":"FunctionDefinition","parameters":{"id":3513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3510,"name":"_user","nodeType":"VariableDeclaration","scope":3523,"src":"17977:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3509,"name":"address","nodeType":"ElementaryTypeName","src":"17977:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3512,"name":"_pollID","nodeType":"VariableDeclaration","scope":3523,"src":"17992:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3511,"name":"uint","nodeType":"ElementaryTypeName","src":"17992:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"17976:29:5"},"payable":false,"returnParameters":{"id":3516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3515,"name":"UUID","nodeType":"VariableDeclaration","scope":3523,"src":"18027:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18027:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"18026:14:5"},"scope":3524,"src":"17959:131:5","stateMutability":"pure","superFunction":null,"visibility":"public"}],"scope":3525,"src":"292:17800:5"}],"src":"0:18093:5"},"legacyAST":{"absolutePath":"plcrvoting/PLCRVoting.sol","exportedSymbols":{"PLCRVoting":[3524]},"id":3525,"nodeType":"SourceUnit","nodes":[{"id":2504,"literals":["solidity","^","0.4",".8"],"nodeType":"PragmaDirective","src":"0:23:5"},{"absolutePath":"tokens/eip20/EIP20Interface.sol","file":"tokens/eip20/EIP20Interface.sol","id":2505,"nodeType":"ImportDirective","scope":3525,"sourceUnit":3819,"src":"24:41:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"dll/DLL.sol","file":"dll/DLL.sol","id":2506,"nodeType":"ImportDirective","scope":3525,"sourceUnit":2503,"src":"66:21:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"attrstore/AttributeStore.sol","file":"attrstore/AttributeStore.sol","id":2507,"nodeType":"ImportDirective","scope":3525,"sourceUnit":2202,"src":"88:38:5","symbolAliases":[],"unitAlias":""},{"absolutePath":"zeppelin/math/SafeMath.sol","file":"zeppelin/math/SafeMath.sol","id":2508,"nodeType":"ImportDirective","scope":3525,"sourceUnit":3914,"src":"127:36:5","symbolAliases":[],"unitAlias":""},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":"@title Partial-Lock-Commit-Reveal Voting scheme with ERC20 tokens\n@author Team: Aspyn Palatnick, Cem Ozer, Yorke Rhodes","fullyImplemented":true,"id":3524,"linearizedBaseContracts":[3524],"name":"PLCRVoting","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":null,"id":2516,"name":"_VoteCommitted","nodeType":"EventDefinition","parameters":{"id":2515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2510,"indexed":true,"name":"pollID","nodeType":"VariableDeclaration","scope":2516,"src":"396:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2509,"name":"uint","nodeType":"ElementaryTypeName","src":"396:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2512,"indexed":false,"name":"numTokens","nodeType":"VariableDeclaration","scope":2516,"src":"417:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2511,"name":"uint","nodeType":"ElementaryTypeName","src":"417:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2514,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":2516,"src":"433:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2513,"name":"address","nodeType":"ElementaryTypeName","src":"433:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"395:60:5"},"src":"375:81:5"},{"anonymous":false,"documentation":null,"id":2530,"name":"_VoteRevealed","nodeType":"EventDefinition","parameters":{"id":2529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2518,"indexed":true,"name":"pollID","nodeType":"VariableDeclaration","scope":2530,"src":"481:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2517,"name":"uint","nodeType":"ElementaryTypeName","src":"481:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2520,"indexed":false,"name":"numTokens","nodeType":"VariableDeclaration","scope":2530,"src":"502:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2519,"name":"uint","nodeType":"ElementaryTypeName","src":"502:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2522,"indexed":false,"name":"votesFor","nodeType":"VariableDeclaration","scope":2530,"src":"518:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2521,"name":"uint","nodeType":"ElementaryTypeName","src":"518:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2524,"indexed":false,"name":"votesAgainst","nodeType":"VariableDeclaration","scope":2530,"src":"533:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2523,"name":"uint","nodeType":"ElementaryTypeName","src":"533:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2526,"indexed":true,"name":"choice","nodeType":"VariableDeclaration","scope":2530,"src":"552:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2525,"name":"uint","nodeType":"ElementaryTypeName","src":"552:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2528,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":2530,"src":"573:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2527,"name":"address","nodeType":"ElementaryTypeName","src":"573:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"480:115:5"},"src":"461:135:5"},{"anonymous":false,"documentation":null,"id":2542,"name":"_PollCreated","nodeType":"EventDefinition","parameters":{"id":2541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2532,"indexed":false,"name":"voteQuorum","nodeType":"VariableDeclaration","scope":2542,"src":"620:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2531,"name":"uint","nodeType":"ElementaryTypeName","src":"620:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2534,"indexed":false,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":2542,"src":"637:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2533,"name":"uint","nodeType":"ElementaryTypeName","src":"637:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2536,"indexed":false,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":2542,"src":"657:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2535,"name":"uint","nodeType":"ElementaryTypeName","src":"657:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2538,"indexed":true,"name":"pollID","nodeType":"VariableDeclaration","scope":2542,"src":"677:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2537,"name":"uint","nodeType":"ElementaryTypeName","src":"677:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2540,"indexed":true,"name":"creator","nodeType":"VariableDeclaration","scope":2542,"src":"698:23:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2539,"name":"address","nodeType":"ElementaryTypeName","src":"698:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"619:103:5"},"src":"601:122:5"},{"anonymous":false,"documentation":null,"id":2548,"name":"_VotingRightsGranted","nodeType":"EventDefinition","parameters":{"id":2547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2544,"indexed":false,"name":"numTokens","nodeType":"VariableDeclaration","scope":2548,"src":"755:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2543,"name":"uint","nodeType":"ElementaryTypeName","src":"755:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2546,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":2548,"src":"771:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2545,"name":"address","nodeType":"ElementaryTypeName","src":"771:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"754:39:5"},"src":"728:66:5"},{"anonymous":false,"documentation":null,"id":2554,"name":"_VotingRightsWithdrawn","nodeType":"EventDefinition","parameters":{"id":2553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2550,"indexed":false,"name":"numTokens","nodeType":"VariableDeclaration","scope":2554,"src":"828:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2549,"name":"uint","nodeType":"ElementaryTypeName","src":"828:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2552,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":2554,"src":"844:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2551,"name":"address","nodeType":"ElementaryTypeName","src":"844:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"827:39:5"},"src":"799:68:5"},{"anonymous":false,"documentation":null,"id":2560,"name":"_TokensRescued","nodeType":"EventDefinition","parameters":{"id":2559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2556,"indexed":true,"name":"pollID","nodeType":"VariableDeclaration","scope":2560,"src":"893:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2555,"name":"uint","nodeType":"ElementaryTypeName","src":"893:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2558,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":2560,"src":"914:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2557,"name":"address","nodeType":"ElementaryTypeName","src":"914:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"892:44:5"},"src":"872:65:5"},{"id":2563,"libraryName":{"contractScope":null,"id":2561,"name":"AttributeStore","nodeType":"UserDefinedTypeName","referencedDeclaration":2201,"src":"1014:14:5","typeDescriptions":{"typeIdentifier":"t_contract$_AttributeStore_$2201","typeString":"library AttributeStore"}},"nodeType":"UsingForDirective","src":"1008:45:5","typeName":{"contractScope":null,"id":2562,"name":"AttributeStore.Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2149,"src":"1033:19:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}}},{"id":2566,"libraryName":{"contractScope":null,"id":2564,"name":"DLL","nodeType":"UserDefinedTypeName","referencedDeclaration":2502,"src":"1064:3:5","typeDescriptions":{"typeIdentifier":"t_contract$_DLL_$2502","typeString":"library DLL"}},"nodeType":"UsingForDirective","src":"1058:23:5","typeName":{"contractScope":null,"id":2565,"name":"DLL.Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"1072:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}},{"id":2569,"libraryName":{"contractScope":null,"id":2567,"name":"SafeMath","nodeType":"UserDefinedTypeName","referencedDeclaration":3913,"src":"1092:8:5","typeDescriptions":{"typeIdentifier":"t_contract$_SafeMath_$3913","typeString":"library SafeMath"}},"nodeType":"UsingForDirective","src":"1086:24:5","typeName":{"id":2568,"name":"uint","nodeType":"ElementaryTypeName","src":"1105:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"canonicalName":"PLCRVoting.Poll","id":2588,"members":[{"constant":false,"id":2571,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":2588,"src":"1138:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2570,"name":"uint","nodeType":"ElementaryTypeName","src":"1138:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2573,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":2588,"src":"1216:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2572,"name":"uint","nodeType":"ElementaryTypeName","src":"1216:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2575,"name":"voteQuorum","nodeType":"VariableDeclaration","scope":2588,"src":"1294:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2574,"name":"uint","nodeType":"ElementaryTypeName","src":"1294:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2577,"name":"votesFor","nodeType":"VariableDeclaration","scope":2588,"src":"1375:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2576,"name":"uint","nodeType":"ElementaryTypeName","src":"1375:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2579,"name":"votesAgainst","nodeType":"VariableDeclaration","scope":2588,"src":"1442:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2578,"name":"uint","nodeType":"ElementaryTypeName","src":"1442:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2583,"name":"didCommit","nodeType":"VariableDeclaration","scope":2588,"src":"1513:34:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":2582,"keyType":{"id":2580,"name":"address","nodeType":"ElementaryTypeName","src":"1521:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1513:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":2581,"name":"bool","nodeType":"ElementaryTypeName","src":"1532:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"value":null,"visibility":"internal"},{"constant":false,"id":2587,"name":"didReveal","nodeType":"VariableDeclaration","scope":2588,"src":"1622:34:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":2586,"keyType":{"id":2584,"name":"address","nodeType":"ElementaryTypeName","src":"1630:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1622:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":2585,"name":"bool","nodeType":"ElementaryTypeName","src":"1641:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"value":null,"visibility":"internal"}],"name":"Poll","nodeType":"StructDefinition","scope":3524,"src":"1116:612:5","visibility":"public"},{"constant":true,"id":2591,"name":"INITIAL_POLL_NONCE","nodeType":"VariableDeclaration","scope":3524,"src":"1799:43:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2589,"name":"uint","nodeType":"ElementaryTypeName","src":"1799:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"30","id":2590,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1841:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"visibility":"public"},{"constant":false,"id":2593,"name":"pollNonce","nodeType":"VariableDeclaration","scope":3524,"src":"1848:21:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2592,"name":"uint","nodeType":"ElementaryTypeName","src":"1848:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"public"},{"constant":false,"id":2597,"name":"pollMap","nodeType":"VariableDeclaration","scope":3524,"src":"1876:36:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"},"typeName":{"id":2596,"keyType":{"id":2594,"name":"uint","nodeType":"ElementaryTypeName","src":"1884:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1876:21:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"},"valueType":{"contractScope":null,"id":2595,"name":"Poll","nodeType":"UserDefinedTypeName","referencedDeclaration":2588,"src":"1892:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage_ptr","typeString":"struct PLCRVoting.Poll storage pointer"}}},"value":null,"visibility":"public"},{"constant":false,"id":2601,"name":"voteTokenBalance","nodeType":"VariableDeclaration","scope":3524,"src":"1948:48:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"typeName":{"id":2600,"keyType":{"id":2598,"name":"address","nodeType":"ElementaryTypeName","src":"1956:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1948:24:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"},"valueType":{"id":2599,"name":"uint","nodeType":"ElementaryTypeName","src":"1967:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"public"},{"constant":false,"id":2605,"name":"dllMap","nodeType":"VariableDeclaration","scope":3524,"src":"2047:35:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"},"typeName":{"id":2604,"keyType":{"id":2602,"name":"address","nodeType":"ElementaryTypeName","src":"2055:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2047:28:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"},"valueType":{"contractScope":null,"id":2603,"name":"DLL.Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2216,"src":"2066:8:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage_ptr","typeString":"struct DLL.Data storage pointer"}}},"value":null,"visibility":"internal"},{"constant":false,"id":2607,"name":"store","nodeType":"VariableDeclaration","scope":3524,"src":"2088:25:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage","typeString":"struct AttributeStore.Data storage ref"},"typeName":{"contractScope":null,"id":2606,"name":"AttributeStore.Data","nodeType":"UserDefinedTypeName","referencedDeclaration":2149,"src":"2088:19:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage_ptr","typeString":"struct AttributeStore.Data storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":2609,"name":"token","nodeType":"VariableDeclaration","scope":3524,"src":"2120:27:5","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"},"typeName":{"contractScope":null,"id":2608,"name":"EIP20Interface","nodeType":"UserDefinedTypeName","referencedDeclaration":3818,"src":"2120:14:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"value":null,"visibility":"public"},{"body":{"id":2624,"nodeType":"Block","src":"2483:91:5","statements":[{"expression":{"argumentTypes":null,"id":2618,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":2614,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2609,"src":"2493:5:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2616,"name":"_tokenAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2611,"src":"2516:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2615,"name":"EIP20Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3818,"src":"2501:14:5","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EIP20Interface_$3818_$","typeString":"type(contract EIP20Interface)"}},"id":2617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"2501:26:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"src":"2493:34:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2619,"nodeType":"ExpressionStatement","src":"2493:34:5"},{"expression":{"argumentTypes":null,"id":2622,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":2620,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"2537:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":2621,"name":"INITIAL_POLL_NONCE","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2591,"src":"2549:18:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"2537:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2623,"nodeType":"ExpressionStatement","src":"2537:30:5"}]},"documentation":"@dev Initializes voteQuorum, commitDuration, revealDuration, and pollNonce in addition to token contract and trusted mapping\n@param _tokenAddr The address where the ERC20 token contract is deployed","id":2625,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"PLCRVoting","nodeType":"FunctionDefinition","parameters":{"id":2612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2611,"name":"_tokenAddr","nodeType":"VariableDeclaration","scope":2625,"src":"2456:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2610,"name":"address","nodeType":"ElementaryTypeName","src":"2456:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"2455:20:5"},"payable":false,"returnParameters":{"id":2613,"nodeType":"ParameterList","parameters":[],"src":"2483:0:5"},"scope":3524,"src":"2436:138:5","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":2663,"nodeType":"Block","src":"2992:240:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2637,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2633,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3026:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2634,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3026:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"expression":{"argumentTypes":null,"id":2631,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2609,"src":"3010:5:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2632,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"balanceOf","nodeType":"MemberAccess","referencedDeclaration":3763,"src":"3010:15:5","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view external returns (uint256)"}},"id":2635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3010:27:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":2636,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2627,"src":"3041:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3010:41:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2630,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3002:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3002:50:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2639,"nodeType":"ExpressionStatement","src":"3002:50:5"},{"expression":{"argumentTypes":null,"id":2645,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2640,"name":"voteTokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2601,"src":"3062:16:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2643,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2641,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3079:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2642,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3079:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3062:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":2644,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2627,"src":"3094:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3062:42:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2646,"nodeType":"ExpressionStatement","src":"3062:42:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2650,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3141:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2651,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3141:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2652,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3949,"src":"3153:4:5","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},{"argumentTypes":null,"id":2653,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2627,"src":"3159:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2648,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2609,"src":"3122:5:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2649,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"3122:18:5","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":2654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3122:48:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2647,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3114:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2655,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3114:57:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2656,"nodeType":"ExpressionStatement","src":"3114:57:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2658,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2627,"src":"3202:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2659,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3214:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2660,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3214:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2657,"name":"_VotingRightsGranted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2548,"src":"3181:20:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":2661,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3181:44:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2662,"nodeType":"ExpressionStatement","src":"3181:44:5"}]},"documentation":"@notice Loads _numTokens ERC20 tokens into the voting contract for one-to-one voting rights\n@dev Assumes that msg.sender has approved voting contract to spend on their behalf\n@param _numTokens The number of votingTokens desired in exchange for ERC20 tokens","id":2664,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"requestVotingRights","nodeType":"FunctionDefinition","parameters":{"id":2628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2627,"name":"_numTokens","nodeType":"VariableDeclaration","scope":2664,"src":"2966:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2626,"name":"uint","nodeType":"ElementaryTypeName","src":"2966:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"2965:17:5"},"payable":false,"returnParameters":{"id":2629,"nodeType":"ParameterList","parameters":[],"src":"2992:0:5"},"scope":3524,"src":"2937:295:5","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":2710,"nodeType":"Block","src":"3496:314:5","statements":[{"assignments":[2670],"declarations":[{"constant":false,"id":2670,"name":"availableTokens","nodeType":"VariableDeclaration","scope":2711,"src":"3506:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2669,"name":"uint","nodeType":"ElementaryTypeName","src":"3506:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2681,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2677,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3578:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2678,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3578:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":2676,"name":"getLockedTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3425,"src":"3562:15:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":2679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3562:27:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2671,"name":"voteTokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2601,"src":"3529:16:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2674,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2672,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3546:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3546:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"3529:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sub","nodeType":"MemberAccess","referencedDeclaration":3888,"src":"3529:32:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":2680,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3529:61:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"3506:84:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2685,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2683,"name":"availableTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2670,"src":"3608:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":2684,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2666,"src":"3627:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3608:29:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2682,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3600:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2686,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3600:38:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2687,"nodeType":"ExpressionStatement","src":"3600:38:5"},{"expression":{"argumentTypes":null,"id":2693,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2688,"name":"voteTokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2601,"src":"3648:16:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2691,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2689,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3665:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2690,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3665:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"3648:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":2692,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2666,"src":"3680:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"3648:42:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2694,"nodeType":"ExpressionStatement","src":"3648:42:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2698,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3723:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2699,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3723:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2700,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2666,"src":"3735:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2696,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2609,"src":"3708:5:5","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2697,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"3708:14:5","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":2701,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3708:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2695,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3700:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3700:47:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2703,"nodeType":"ExpressionStatement","src":"3700:47:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2705,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2666,"src":"3780:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2706,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"3792:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2707,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"3792:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2704,"name":"_VotingRightsWithdrawn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2554,"src":"3757:22:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":2708,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3757:46:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2709,"nodeType":"ExpressionStatement","src":"3757:46:5"}]},"documentation":"@notice Withdraw _numTokens ERC20 tokens from the voting contract, revoking these voting rights\n@param _numTokens The number of ERC20 tokens desired in exchange for voting rights","id":2711,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"withdrawVotingRights","nodeType":"FunctionDefinition","parameters":{"id":2667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2666,"name":"_numTokens","nodeType":"VariableDeclaration","scope":2711,"src":"3470:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2665,"name":"uint","nodeType":"ElementaryTypeName","src":"3470:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"3469:17:5"},"payable":false,"returnParameters":{"id":2668,"nodeType":"ParameterList","parameters":[],"src":"3496:0:5"},"scope":3524,"src":"3440:370:5","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":2749,"nodeType":"Block","src":"4017:212:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2718,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"4045:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2720,"indexExpression":{"argumentTypes":null,"id":2719,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"4053:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4045:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2721,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"revealEndDate","nodeType":"MemberAccess","referencedDeclaration":2573,"src":"4045:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2717,"name":"isExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"4035:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":2722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4035:41:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2716,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4027:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2723,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4027:50:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2724,"nodeType":"ExpressionStatement","src":"4027:50:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2731,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"4123:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2726,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"4095:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2729,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2727,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4102:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4102:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4095:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2730,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":2290,"src":"4095:27:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (bool)"}},"id":2732,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4095:36:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2725,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4087:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2733,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4087:45:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2734,"nodeType":"ExpressionStatement","src":"4087:45:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2740,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"4169:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2735,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"4143:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2738,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2736,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4150:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2737,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4150:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4143:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2739,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"remove","nodeType":"MemberAccess","referencedDeclaration":2501,"src":"4143:25:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256)"}},"id":2741,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4143:34:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2742,"nodeType":"ExpressionStatement","src":"4143:34:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2744,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2713,"src":"4202:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2745,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4211:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4211:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2743,"name":"_TokensRescued","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2560,"src":"4187:14:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,address)"}},"id":2747,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4187:35:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2748,"nodeType":"ExpressionStatement","src":"4187:35:5"}]},"documentation":"@dev Unlocks tokens locked in unrevealed vote where poll has ended\n@param _pollID Integer identifier associated with the target poll","id":2750,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"rescueTokens","nodeType":"FunctionDefinition","parameters":{"id":2714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2713,"name":"_pollID","nodeType":"VariableDeclaration","scope":2750,"src":"3994:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2712,"name":"uint","nodeType":"ElementaryTypeName","src":"3994:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"3993:14:5"},"payable":false,"returnParameters":{"id":2715,"nodeType":"ParameterList","parameters":[],"src":"4017:0:5"},"scope":3524,"src":"3972:257:5","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":2885,"nodeType":"Block","src":"4913:1095:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2763,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"4950:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2762,"name":"commitPeriodActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3265,"src":"4931:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":2764,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4931:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2761,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4923:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2765,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4923:36:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2766,"nodeType":"ExpressionStatement","src":"4923:36:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2768,"name":"voteTokenBalance","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2601,"src":"4977:16:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_uint256_$","typeString":"mapping(address => uint256)"}},"id":2771,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2769,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4994:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4994:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4977:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":2772,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2756,"src":"5009:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4977:42:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2767,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4969:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2774,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4969:51:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2775,"nodeType":"ExpressionStatement","src":"4969:51:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2779,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2777,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5072:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"hexValue":"30","id":2778,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5083:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5072:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2776,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5064:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2780,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5064:21:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2781,"nodeType":"ExpressionStatement","src":"5064:21:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2793,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2785,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2783,"name":"_prevPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"5256:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":2784,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5271:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5256:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2791,"name":"_prevPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"5304:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2786,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"5276:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2789,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2787,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5283:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2788,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5283:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5276:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2790,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"contains","nodeType":"MemberAccess","referencedDeclaration":2290,"src":"5276:27:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_bool_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (bool)"}},"id":2792,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5276:40:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5256:60:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2782,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5248:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2794,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5248:69:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2795,"nodeType":"ExpressionStatement","src":"5248:69:5"},{"assignments":[2797],"declarations":[{"constant":false,"id":2797,"name":"nextPollID","nodeType":"VariableDeclaration","scope":2886,"src":"5328:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2796,"name":"uint","nodeType":"ElementaryTypeName","src":"5328:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2805,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2803,"name":"_prevPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"5373:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2798,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"5346:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2801,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2799,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5353:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5353:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5346:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2802,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getNext","nodeType":"MemberAccess","referencedDeclaration":2306,"src":"5346:26:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2804,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5346:39:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5328:57:5"},{"expression":{"argumentTypes":null,"id":2820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":2806,"name":"nextPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2797,"src":"5468:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"condition":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2807,"name":"nextPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2797,"src":"5482:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":2808,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5496:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5482:21:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2810,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"5481:23:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"argumentTypes":null,"id":2818,"name":"nextPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2797,"src":"5545:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2819,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"5481:74:5","trueExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2816,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5534:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2811,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"5507:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2814,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2812,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5514:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2813,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5514:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5507:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2815,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getNext","nodeType":"MemberAccess","referencedDeclaration":2306,"src":"5507:26:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":2817,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5507:35:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5468:87:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2821,"nodeType":"ExpressionStatement","src":"5468:87:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2824,"name":"_prevPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"5588:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":2825,"name":"nextPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2797,"src":"5601:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2826,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5613:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2827,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5613:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2828,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2756,"src":"5625:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2823,"name":"validPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2928,"src":"5574:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256,uint256,address,uint256) view returns (bool)"}},"id":2829,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5574:62:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2822,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5566:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2830,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5566:71:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2831,"nodeType":"ExpressionStatement","src":"5566:71:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2837,"name":"_prevPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2758,"src":"5673:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":2838,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5686:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":2839,"name":"nextPollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2797,"src":"5695:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2832,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"5647:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":2835,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2833,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5654:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2834,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5654:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5647:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":2836,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"insert","nodeType":"MemberAccess","referencedDeclaration":2447,"src":"5647:25:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256,uint256,uint256)"}},"id":2840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5647:59:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2841,"nodeType":"ExpressionStatement","src":"5647:59:5"},{"assignments":[2843],"declarations":[{"constant":false,"id":2843,"name":"UUID","nodeType":"VariableDeclaration","scope":2886,"src":"5717:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5717:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":2849,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2845,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5741:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2846,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5741:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2847,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5753:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2844,"name":"attrUUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3523,"src":"5732:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) pure returns (bytes32)"}},"id":2848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5732:29:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"5717:44:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2853,"name":"UUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"5791:4:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"hexValue":"6e756d546f6b656e73","id":2854,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5797:11:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a","typeString":"literal_string \"numTokens\""},"value":"numTokens"},{"argumentTypes":null,"id":2855,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2756,"src":"5810:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a","typeString":"literal_string \"numTokens\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2850,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"5772:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage","typeString":"struct AttributeStore.Data storage ref"}},"id":2852,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"setAttribute","nodeType":"MemberAccess","referencedDeclaration":2200,"src":"5772:18:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$2149_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2149_storage_ptr_$","typeString":"function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)"}},"id":2856,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5772:49:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2857,"nodeType":"ExpressionStatement","src":"5772:49:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2861,"name":"UUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2843,"src":"5850:4:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"hexValue":"636f6d6d697448617368","id":2862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5856:12:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3","typeString":"literal_string \"commitHash\""},"value":"commitHash"},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2864,"name":"_secretHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2754,"src":"5875:11:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2863,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"5870:4:5","typeDescriptions":{"typeIdentifier":"t_type$_t_uint256_$","typeString":"type(uint256)"},"typeName":"uint"},"id":2865,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5870:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3","typeString":"literal_string \"commitHash\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2858,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"5831:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage","typeString":"struct AttributeStore.Data storage ref"}},"id":2860,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"setAttribute","nodeType":"MemberAccess","referencedDeclaration":2200,"src":"5831:18:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$2149_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2149_storage_ptr_$","typeString":"function (struct AttributeStore.Data storage pointer,bytes32,string memory,uint256)"}},"id":2866,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5831:57:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2867,"nodeType":"ExpressionStatement","src":"5831:57:5"},{"expression":{"argumentTypes":null,"id":2876,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2868,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"5899:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2870,"indexExpression":{"argumentTypes":null,"id":2869,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5907:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5899:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didCommit","nodeType":"MemberAccess","referencedDeclaration":2583,"src":"5899:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":2874,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2872,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5926:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5926:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5899:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":2875,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"5940:4:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"5899:45:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2877,"nodeType":"ExpressionStatement","src":"5899:45:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2879,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2752,"src":"5969:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":2880,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2756,"src":"5978:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2881,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5990:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2882,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5990:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":2878,"name":"_VoteCommitted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2516,"src":"5954:14:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address)"}},"id":2883,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5954:47:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2884,"nodeType":"ExpressionStatement","src":"5954:47:5"}]},"documentation":"@notice Commits vote using hash of choice and secret salt to conceal vote until reveal\n@param _pollID Integer identifier associated with target poll\n@param _secretHash Commit keccak256 hash of voter's choice and salt (tightly packed in this order)\n@param _numTokens The number of tokens to be committed towards the target poll\n@param _prevPollID The ID of the poll that the user has voted the maximum number of tokens in which is still less than or equal to numTokens","id":2886,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"commitVote","nodeType":"FunctionDefinition","parameters":{"id":2759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2752,"name":"_pollID","nodeType":"VariableDeclaration","scope":2886,"src":"4834:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2751,"name":"uint","nodeType":"ElementaryTypeName","src":"4834:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2754,"name":"_secretHash","nodeType":"VariableDeclaration","scope":2886,"src":"4848:19:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2753,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4848:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":2756,"name":"_numTokens","nodeType":"VariableDeclaration","scope":2886,"src":"4869:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2755,"name":"uint","nodeType":"ElementaryTypeName","src":"4869:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2758,"name":"_prevPollID","nodeType":"VariableDeclaration","scope":2886,"src":"4886:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2757,"name":"uint","nodeType":"ElementaryTypeName","src":"4886:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4833:70:5"},"payable":false,"returnParameters":{"id":2760,"nodeType":"ParameterList","parameters":[],"src":"4913:0:5"},"scope":3524,"src":"4814:1194:5","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":2927,"nodeType":"Block","src":"6635:278:5","statements":[{"assignments":[2900],"declarations":[{"constant":false,"id":2900,"name":"prevValid","nodeType":"VariableDeclaration","scope":2928,"src":"6645:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2899,"name":"bool","nodeType":"ElementaryTypeName","src":"6645:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"id":2908,"initialValue":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2901,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2894,"src":"6663:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2903,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"6690:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2904,"name":"_prevID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2888,"src":"6698:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2902,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"6677:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":2905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6677:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6663:43:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2907,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6662:45:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"6645:62:5"},{"assignments":[2910],"declarations":[{"constant":false,"id":2910,"name":"nextValid","nodeType":"VariableDeclaration","scope":2928,"src":"6789:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2909,"name":"bool","nodeType":"ElementaryTypeName","src":"6789:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"id":2922,"initialValue":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2916,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2911,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2894,"src":"6807:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2913,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2892,"src":"6834:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2914,"name":"_nextID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2890,"src":"6842:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2912,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"6821:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":2915,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6821:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6807:43:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2919,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2917,"name":"_nextID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2890,"src":"6854:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":2918,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6865:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6854:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6807:59:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":2921,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"6806:61:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"VariableDeclarationStatement","src":"6789:78:5"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":2925,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2923,"name":"prevValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2900,"src":"6884:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"id":2924,"name":"nextValid","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2910,"src":"6897:9:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6884:22:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":2898,"id":2926,"nodeType":"Return","src":"6877:29:5"}]},"documentation":"@dev Compares previous and next poll's committed tokens for sorting purposes\n@param _prevID Integer identifier associated with previous poll in sorted order\n@param _nextID Integer identifier associated with next poll in sorted order\n@param _voter Address of user to check DLL position for\n@param _numTokens The number of tokens to be committed towards the poll (used for sorting)\n@return valid Boolean indication of if the specified position maintains the sort","id":2928,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"validPosition","nodeType":"FunctionDefinition","parameters":{"id":2895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2888,"name":"_prevID","nodeType":"VariableDeclaration","scope":2928,"src":"6537:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2887,"name":"uint","nodeType":"ElementaryTypeName","src":"6537:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2890,"name":"_nextID","nodeType":"VariableDeclaration","scope":2928,"src":"6551:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2889,"name":"uint","nodeType":"ElementaryTypeName","src":"6551:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2892,"name":"_voter","nodeType":"VariableDeclaration","scope":2928,"src":"6565:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2891,"name":"address","nodeType":"ElementaryTypeName","src":"6565:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":2894,"name":"_numTokens","nodeType":"VariableDeclaration","scope":2928,"src":"6581:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2893,"name":"uint","nodeType":"ElementaryTypeName","src":"6581:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"6536:61:5"},"payable":false,"returnParameters":{"id":2898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2897,"name":"valid","nodeType":"VariableDeclaration","scope":2928,"src":"6623:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":2896,"name":"bool","nodeType":"ElementaryTypeName","src":"6623:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"6622:12:5"},"scope":3524,"src":"6514:399:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3039,"nodeType":"Block","src":"7348:1065:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2939,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"7434:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2938,"name":"revealPeriodActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3292,"src":"7415:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":2940,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7415:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2937,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7407:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2941,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7407:36:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2942,"nodeType":"ExpressionStatement","src":"7407:36:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2944,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"7461:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2946,"indexExpression":{"argumentTypes":null,"id":2945,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"7469:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7461:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2947,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didCommit","nodeType":"MemberAccess","referencedDeclaration":2583,"src":"7461:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":2950,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2948,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"7488:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7488:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7461:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2943,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7453:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2951,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7453:47:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2952,"nodeType":"ExpressionStatement","src":"7453:47:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2961,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"7595:39:5","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2954,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"7596:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2956,"indexExpression":{"argumentTypes":null,"id":2955,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"7604:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7596:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didReveal","nodeType":"MemberAccess","referencedDeclaration":2587,"src":"7596:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":2960,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2958,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"7623:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7623:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7596:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2953,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7587:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7587:48:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2963,"nodeType":"ExpressionStatement","src":"7587:48:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":2974,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2966,"name":"_voteOption","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2932,"src":"7732:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":2967,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2934,"src":"7745:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2965,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"7722:9:5","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":2968,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7722:29:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2970,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"7769:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2971,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7769:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2972,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"7781:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2969,"name":"getCommitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3376,"src":"7755:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) view returns (bytes32)"}},"id":2973,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7755:34:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"7722:67:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2964,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7714:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2975,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7714:76:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2976,"nodeType":"ExpressionStatement","src":"7714:76:5"},{"assignments":[2978],"declarations":[{"constant":false,"id":2978,"name":"numTokens","nodeType":"VariableDeclaration","scope":3040,"src":"7862:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2977,"name":"uint","nodeType":"ElementaryTypeName","src":"7862:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2984,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2980,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"7892:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":2981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"7892:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2982,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"7904:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2979,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"7879:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":2983,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7879:33:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7862:50:5"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2987,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2985,"name":"_voteOption","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2932,"src":"7927:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"31","id":2986,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7942:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"7927:16:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":3003,"nodeType":"Block","src":"8059:67:5","statements":[{"expression":{"argumentTypes":null,"id":3001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2996,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8073:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2998,"indexExpression":{"argumentTypes":null,"id":2997,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8081:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8073:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"votesAgainst","nodeType":"MemberAccess","referencedDeclaration":2579,"src":"8073:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":3000,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2978,"src":"8106:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8073:42:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3002,"nodeType":"ExpressionStatement","src":"8073:42:5"}]},"id":3004,"nodeType":"IfStatement","src":"7923:203:5","trueBody":{"id":2995,"nodeType":"Block","src":"7945:108:5","statements":[{"expression":{"argumentTypes":null,"id":2993,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2988,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8004:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":2990,"indexExpression":{"argumentTypes":null,"id":2989,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8012:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8004:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":2991,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"votesFor","nodeType":"MemberAccess","referencedDeclaration":2577,"src":"8004:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":2992,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2978,"src":"8033:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8004:38:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2994,"nodeType":"ExpressionStatement","src":"8004:38:5"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3010,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8162:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3005,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"8136:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":3008,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3006,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8143:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3007,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8143:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8136:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":3009,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"remove","nodeType":"MemberAccess","referencedDeclaration":2501,"src":"8136:25:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$__$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256)"}},"id":3011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8136:34:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3012,"nodeType":"ExpressionStatement","src":"8136:34:5"},{"expression":{"argumentTypes":null,"id":3021,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3013,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8234:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3015,"indexExpression":{"argumentTypes":null,"id":3014,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8242:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8234:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3016,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didReveal","nodeType":"MemberAccess","referencedDeclaration":2587,"src":"8234:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3019,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3017,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8261:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3018,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8261:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8234:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":3020,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8275:4:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"8234:45:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3022,"nodeType":"ExpressionStatement","src":"8234:45:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3024,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8304:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3025,"name":"numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2978,"src":"8313:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3026,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8324:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3028,"indexExpression":{"argumentTypes":null,"id":3027,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8332:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8324:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesFor","nodeType":"MemberAccess","referencedDeclaration":2577,"src":"8324:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3030,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8351:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3032,"indexExpression":{"argumentTypes":null,"id":3031,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2930,"src":"8359:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8351:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3033,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesAgainst","nodeType":"MemberAccess","referencedDeclaration":2579,"src":"8351:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3034,"name":"_voteOption","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2932,"src":"8382:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3035,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8395:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3036,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8395:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":3023,"name":"_VoteRevealed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2530,"src":"8290:13:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,uint256,address)"}},"id":3037,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8290:116:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3038,"nodeType":"ExpressionStatement","src":"8290:116:5"}]},"documentation":"@notice Reveals vote with choice and secret salt used in generating commitHash to attribute committed tokens\n@param _pollID Integer identifier associated with target poll\n@param _voteOption Vote choice used to generate commitHash for associated poll\n@param _salt Secret number used to generate commitHash for associated poll","id":3040,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"revealVote","nodeType":"FunctionDefinition","parameters":{"id":2935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2930,"name":"_pollID","nodeType":"VariableDeclaration","scope":3040,"src":"7295:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2929,"name":"uint","nodeType":"ElementaryTypeName","src":"7295:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2932,"name":"_voteOption","nodeType":"VariableDeclaration","scope":3040,"src":"7309:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2931,"name":"uint","nodeType":"ElementaryTypeName","src":"7309:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":2934,"name":"_salt","nodeType":"VariableDeclaration","scope":3040,"src":"7327:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2933,"name":"uint","nodeType":"ElementaryTypeName","src":"7327:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"7294:44:5"},"payable":false,"returnParameters":{"id":2936,"nodeType":"ParameterList","parameters":[],"src":"7348:0:5"},"scope":3524,"src":"7275:1138:5","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":3100,"nodeType":"Block","src":"8754:368:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3053,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"8782:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3052,"name":"pollEnded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3243,"src":"8772:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3054,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8772:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3051,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"8764:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3055,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8764:27:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3056,"nodeType":"ExpressionStatement","src":"8764:27:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3058,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"8809:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3060,"indexExpression":{"argumentTypes":null,"id":3059,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"8817:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8809:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3061,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didReveal","nodeType":"MemberAccess","referencedDeclaration":2587,"src":"8809:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3063,"indexExpression":{"argumentTypes":null,"id":3062,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3042,"src":"8836:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"8809:34:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3057,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"8801:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3064,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8801:43:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3065,"nodeType":"ExpressionStatement","src":"8801:43:5"},{"assignments":[3067],"declarations":[{"constant":false,"id":3067,"name":"winningChoice","nodeType":"VariableDeclaration","scope":3101,"src":"8855:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3066,"name":"uint","nodeType":"ElementaryTypeName","src":"8855:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3074,"initialValue":{"argumentTypes":null,"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3069,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"8885:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3068,"name":"isPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3194,"src":"8876:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3070,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8876:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseExpression":{"argumentTypes":null,"hexValue":"30","id":3072,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8900:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"id":3073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"Conditional","src":"8876:25:5","trueExpression":{"argumentTypes":null,"hexValue":"31","id":3071,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8896:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"nodeType":"VariableDeclarationStatement","src":"8855:46:5"},{"assignments":[3076],"declarations":[{"constant":false,"id":3076,"name":"winnerHash","nodeType":"VariableDeclaration","scope":3101,"src":"8911:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3075,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8911:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":3081,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3078,"name":"winningChoice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3067,"src":"8942:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3079,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3046,"src":"8957:5:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3077,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"8932:9:5","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":3080,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8932:31:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8911:52:5"},{"assignments":[3083],"declarations":[{"constant":false,"id":3083,"name":"commitHash","nodeType":"VariableDeclaration","scope":3101,"src":"8973:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8973:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":3088,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3085,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3042,"src":"9008:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3086,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"9016:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3084,"name":"getCommitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3376,"src":"8994:13:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) view returns (bytes32)"}},"id":3087,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8994:30:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"8973:51:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":3092,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3090,"name":"winnerHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3076,"src":"9043:10:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":3091,"name":"commitHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3083,"src":"9057:10:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"9043:24:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3089,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"9035:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3093,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9035:33:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3094,"nodeType":"ExpressionStatement","src":"9035:33:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3096,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3042,"src":"9099:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3097,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3044,"src":"9107:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3095,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"9086:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9086:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3050,"id":3099,"nodeType":"Return","src":"9079:36:5"}]},"documentation":"@param _pollID Integer identifier associated with target poll\n@param _salt Arbitrarily chosen integer used to generate secretHash\n@return correctVotes Number of tokens voted for winning option","id":3101,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getNumPassingTokens","nodeType":"FunctionDefinition","parameters":{"id":3047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3042,"name":"_voter","nodeType":"VariableDeclaration","scope":3101,"src":"8668:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3041,"name":"address","nodeType":"ElementaryTypeName","src":"8668:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3044,"name":"_pollID","nodeType":"VariableDeclaration","scope":3101,"src":"8684:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3043,"name":"uint","nodeType":"ElementaryTypeName","src":"8684:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3046,"name":"_salt","nodeType":"VariableDeclaration","scope":3101,"src":"8698:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3045,"name":"uint","nodeType":"ElementaryTypeName","src":"8698:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"8667:42:5"},"payable":false,"returnParameters":{"id":3050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3049,"name":"correctVotes","nodeType":"VariableDeclaration","scope":3101,"src":"8735:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3048,"name":"uint","nodeType":"ElementaryTypeName","src":"8735:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"8734:19:5"},"scope":3524,"src":"8639:483:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3156,"nodeType":"Block","src":"9671:513:5","statements":[{"expression":{"argumentTypes":null,"id":3116,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3112,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"9681:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3115,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3113,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"9693:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"hexValue":"31","id":3114,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9705:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},"src":"9693:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9681:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3117,"nodeType":"ExpressionStatement","src":"9681:25:5"},{"assignments":[3119],"declarations":[{"constant":false,"id":3119,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":3157,"src":"9717:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3118,"name":"uint","nodeType":"ElementaryTypeName","src":"9717:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3125,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3123,"name":"_commitDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3105,"src":"9758:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3120,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3917,"src":"9738:5:5","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3121,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9738:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3122,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"9738:19:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":3124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9738:36:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9717:57:5"},{"assignments":[3127],"declarations":[{"constant":false,"id":3127,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":3157,"src":"9784:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3126,"name":"uint","nodeType":"ElementaryTypeName","src":"9784:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3132,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3130,"name":"_revealDuration","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3107,"src":"9823:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":3128,"name":"commitEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3119,"src":"9805:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"9805:17:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":3131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9805:34:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9784:55:5"},{"expression":{"argumentTypes":null,"id":3143,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3133,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"9850:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3135,"indexExpression":{"argumentTypes":null,"id":3134,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"9858:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9850:18:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3137,"name":"_voteQuorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3103,"src":"9902:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3138,"name":"commitEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3119,"src":"9942:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3139,"name":"revealEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3127,"src":"9984:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"hexValue":"30","id":3140,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10021:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"argumentTypes":null,"hexValue":"30","id":3141,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10050:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":null,"id":3136,"name":"Poll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2588,"src":"9871:4:5","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Poll_$2588_storage_ptr_$","typeString":"type(struct PLCRVoting.Poll storage pointer)"}},"id":3142,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["voteQuorum","commitEndDate","revealEndDate","votesFor","votesAgainst"],"nodeType":"FunctionCall","src":"9871:191:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory","typeString":"struct PLCRVoting.Poll memory"}},"src":"9850:212:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3144,"nodeType":"ExpressionStatement","src":"9850:212:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3146,"name":"_voteQuorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3103,"src":"10086:11:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3147,"name":"commitEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3119,"src":"10099:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3148,"name":"revealEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3127,"src":"10114:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":3149,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"10129:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3150,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10140:3:5","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":3151,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10140:10:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":3145,"name":"_PollCreated","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2542,"src":"10073:12:5","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,uint256,uint256,address)"}},"id":3152,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10073:78:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3153,"nodeType":"ExpressionStatement","src":"10073:78:5"},{"expression":{"argumentTypes":null,"id":3154,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"10168:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3111,"id":3155,"nodeType":"Return","src":"10161:16:5"}]},"documentation":"@dev Initiates a poll with canonical configured parameters at pollID emitted by PollCreated event\n@param _voteQuorum Type of majority (out of 100) that is necessary for poll to be successful\n@param _commitDuration Length of desired commit period in seconds\n@param _revealDuration Length of desired reveal period in seconds","id":3157,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"startPoll","nodeType":"FunctionDefinition","parameters":{"id":3108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3103,"name":"_voteQuorum","nodeType":"VariableDeclaration","scope":3157,"src":"9580:16:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3102,"name":"uint","nodeType":"ElementaryTypeName","src":"9580:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3105,"name":"_commitDuration","nodeType":"VariableDeclaration","scope":3157,"src":"9598:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3104,"name":"uint","nodeType":"ElementaryTypeName","src":"9598:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3107,"name":"_revealDuration","nodeType":"VariableDeclaration","scope":3157,"src":"9620:20:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3106,"name":"uint","nodeType":"ElementaryTypeName","src":"9620:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"9579:62:5"},"payable":false,"returnParameters":{"id":3111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3110,"name":"pollID","nodeType":"VariableDeclaration","scope":3157,"src":"9658:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3109,"name":"uint","nodeType":"ElementaryTypeName","src":"9658:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"9657:13:5"},"scope":3524,"src":"9561:623:5","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":3193,"nodeType":"Block","src":"10473:186:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3166,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3159,"src":"10501:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3165,"name":"pollEnded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3243,"src":"10491:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3167,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10491:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3164,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"10483:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3168,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10483:27:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3169,"nodeType":"ExpressionStatement","src":"10483:27:5"},{"assignments":[3171],"declarations":[{"constant":false,"id":3171,"name":"poll","nodeType":"VariableDeclaration","scope":3194,"src":"10521:16:5","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory_ptr","typeString":"struct PLCRVoting.Poll memory"},"typeName":{"contractScope":null,"id":3170,"name":"Poll","nodeType":"UserDefinedTypeName","referencedDeclaration":2588,"src":"10521:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage_ptr","typeString":"struct PLCRVoting.Poll storage pointer"}},"value":null,"visibility":"internal"}],"id":3175,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3172,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"10540:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3174,"indexExpression":{"argumentTypes":null,"id":3173,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3159,"src":"10548:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10540:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10521:35:5"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3191,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3179,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"313030","id":3176,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"10574:3:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3177,"name":"poll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3171,"src":"10580:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory_ptr","typeString":"struct PLCRVoting.Poll memory"}},"id":3178,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesFor","nodeType":"MemberAccess","referencedDeclaration":2577,"src":"10580:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10574:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3180,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10573:21:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3181,"name":"poll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3171,"src":"10598:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory_ptr","typeString":"struct PLCRVoting.Poll memory"}},"id":3182,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"voteQuorum","nodeType":"MemberAccess","referencedDeclaration":2575,"src":"10598:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3187,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3183,"name":"poll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3171,"src":"10617:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory_ptr","typeString":"struct PLCRVoting.Poll memory"}},"id":3184,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesFor","nodeType":"MemberAccess","referencedDeclaration":2577,"src":"10617:13:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3185,"name":"poll","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3171,"src":"10633:4:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_memory_ptr","typeString":"struct PLCRVoting.Poll memory"}},"id":3186,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesAgainst","nodeType":"MemberAccess","referencedDeclaration":2579,"src":"10633:17:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10617:33:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3188,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10616:35:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10598:53:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":3190,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10597:55:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10573:79:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3163,"id":3192,"nodeType":"Return","src":"10566:86:5"}]},"documentation":"@notice Determines if proposal has passed\n@dev Check if votesFor out of totalVotes exceeds votesQuorum (requires pollEnded)\n@param _pollID Integer identifier associated with target poll","id":3194,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"isPassed","nodeType":"FunctionDefinition","parameters":{"id":3160,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3159,"name":"_pollID","nodeType":"VariableDeclaration","scope":3194,"src":"10421:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3158,"name":"uint","nodeType":"ElementaryTypeName","src":"10421:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"10420:14:5"},"payable":false,"returnParameters":{"id":3163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3162,"name":"passed","nodeType":"VariableDeclaration","scope":3194,"src":"10460:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3161,"name":"bool","nodeType":"ElementaryTypeName","src":"10460:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"10459:13:5"},"scope":3524,"src":"10403:256:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3221,"nodeType":"Block","src":"11078:185:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3203,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3196,"src":"11106:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3202,"name":"pollEnded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3243,"src":"11096:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3204,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11096:18:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3201,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"11088:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11088:27:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3206,"nodeType":"ExpressionStatement","src":"11088:27:5"},{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3208,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3196,"src":"11139:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3207,"name":"isPassed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3194,"src":"11130:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3209,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11130:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3215,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"11227:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3217,"indexExpression":{"argumentTypes":null,"id":3216,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3196,"src":"11235:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11227:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3218,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesAgainst","nodeType":"MemberAccess","referencedDeclaration":2579,"src":"11227:29:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3200,"id":3219,"nodeType":"Return","src":"11220:36:5"},"id":3220,"nodeType":"IfStatement","src":"11126:130:5","trueBody":{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3210,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"11168:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3212,"indexExpression":{"argumentTypes":null,"id":3211,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3196,"src":"11176:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11168:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3213,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"votesFor","nodeType":"MemberAccess","referencedDeclaration":2577,"src":"11168:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3200,"id":3214,"nodeType":"Return","src":"11161:32:5"}}]},"documentation":"@dev Gets the total winning votes for reward distribution purposes\n@param _pollID Integer identifier associated with target poll\n@return Total number of votes committed to the winning option for specified poll","id":3222,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getTotalNumberOfTokensForWinningOption","nodeType":"FunctionDefinition","parameters":{"id":3197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3196,"name":"_pollID","nodeType":"VariableDeclaration","scope":3222,"src":"11023:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3195,"name":"uint","nodeType":"ElementaryTypeName","src":"11023:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11022:14:5"},"payable":false,"returnParameters":{"id":3200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3199,"name":"numTokens","nodeType":"VariableDeclaration","scope":3222,"src":"11062:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3198,"name":"uint","nodeType":"ElementaryTypeName","src":"11062:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11061:16:5"},"scope":3524,"src":"10975:288:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3242,"nodeType":"Block","src":"11519:104:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3231,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3224,"src":"11548:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3230,"name":"pollExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"11537:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3232,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11537:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3229,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"11529:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3233,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11529:28:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3234,"nodeType":"ExpressionStatement","src":"11529:28:5"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3236,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"11585:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3238,"indexExpression":{"argumentTypes":null,"id":3237,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3224,"src":"11593:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11585:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3239,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"revealEndDate","nodeType":"MemberAccess","referencedDeclaration":2573,"src":"11585:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3235,"name":"isExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"11575:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11575:41:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3228,"id":3241,"nodeType":"Return","src":"11568:48:5"}]},"documentation":"@notice Determines if poll is over\n@dev Checks isExpired for specified poll's revealEndDate\n@return Boolean indication of whether polling period is over","id":3243,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"pollEnded","nodeType":"FunctionDefinition","parameters":{"id":3225,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3224,"name":"_pollID","nodeType":"VariableDeclaration","scope":3243,"src":"11468:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3223,"name":"uint","nodeType":"ElementaryTypeName","src":"11468:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11467:14:5"},"payable":false,"returnParameters":{"id":3228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3227,"name":"ended","nodeType":"VariableDeclaration","scope":3243,"src":"11507:10:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3226,"name":"bool","nodeType":"ElementaryTypeName","src":"11507:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"11506:12:5"},"scope":3524,"src":"11449:174:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3264,"nodeType":"Block","src":"12005:105:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3252,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3245,"src":"12034:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3251,"name":"pollExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"12023:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3253,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12023:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3250,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"12015:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12015:28:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3255,"nodeType":"ExpressionStatement","src":"12015:28:5"},{"expression":{"argumentTypes":null,"id":3262,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12061:42:5","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3257,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"12072:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3259,"indexExpression":{"argumentTypes":null,"id":3258,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3245,"src":"12080:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12072:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3260,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"commitEndDate","nodeType":"MemberAccess","referencedDeclaration":2571,"src":"12072:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3256,"name":"isExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"12062:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12062:41:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3249,"id":3263,"nodeType":"Return","src":"12054:49:5"}]},"documentation":"@notice Checks if the commit period is still active for the specified poll\n@dev Checks isExpired for the specified poll's commitEndDate\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of isCommitPeriodActive for target poll","id":3265,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"commitPeriodActive","nodeType":"FunctionDefinition","parameters":{"id":3246,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3245,"name":"_pollID","nodeType":"VariableDeclaration","scope":3265,"src":"11953:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3244,"name":"uint","nodeType":"ElementaryTypeName","src":"11953:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11952:14:5"},"payable":false,"returnParameters":{"id":3249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3248,"name":"active","nodeType":"VariableDeclaration","scope":3265,"src":"11992:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3247,"name":"bool","nodeType":"ElementaryTypeName","src":"11992:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"11991:13:5"},"scope":3524,"src":"11925:185:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3291,"nodeType":"Block","src":"12421:137:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3274,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3267,"src":"12450:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3273,"name":"pollExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"12439:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3275,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12439:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3272,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"12431:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12431:28:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3277,"nodeType":"ExpressionStatement","src":"12431:28:5"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3289,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12477:42:5","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3279,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"12488:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3281,"indexExpression":{"argumentTypes":null,"id":3280,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3267,"src":"12496:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12488:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3282,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"revealEndDate","nodeType":"MemberAccess","referencedDeclaration":2573,"src":"12488:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3278,"name":"isExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3508,"src":"12478:9:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3283,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12478:41:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"id":3288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12523:28:5","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3286,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3267,"src":"12543:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3285,"name":"commitPeriodActive","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3265,"src":"12524:18:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3287,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12524:27:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12477:74:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3271,"id":3290,"nodeType":"Return","src":"12470:81:5"}]},"documentation":"@notice Checks if the reveal period is still active for the specified poll\n@dev Checks isExpired for the specified poll's revealEndDate\n@param _pollID Integer identifier associated with target poll","id":3292,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"revealPeriodActive","nodeType":"FunctionDefinition","parameters":{"id":3268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3267,"name":"_pollID","nodeType":"VariableDeclaration","scope":3292,"src":"12369:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3266,"name":"uint","nodeType":"ElementaryTypeName","src":"12369:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"12368:14:5"},"payable":false,"returnParameters":{"id":3271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3270,"name":"active","nodeType":"VariableDeclaration","scope":3292,"src":"12408:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3269,"name":"bool","nodeType":"ElementaryTypeName","src":"12408:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"12407:13:5"},"scope":3524,"src":"12341:217:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3314,"nodeType":"Block","src":"12904:97:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3303,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3296,"src":"12933:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3302,"name":"pollExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"12922:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12922:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3301,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"12914:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12914:28:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3306,"nodeType":"ExpressionStatement","src":"12914:28:5"},{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3307,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"12960:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3309,"indexExpression":{"argumentTypes":null,"id":3308,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3296,"src":"12968:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12960:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3310,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didCommit","nodeType":"MemberAccess","referencedDeclaration":2583,"src":"12960:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3312,"indexExpression":{"argumentTypes":null,"id":3311,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3294,"src":"12987:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12960:34:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3300,"id":3313,"nodeType":"Return","src":"12953:41:5"}]},"documentation":"@dev Checks if user has committed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has committed","id":3315,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"didCommit","nodeType":"FunctionDefinition","parameters":{"id":3297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3294,"name":"_voter","nodeType":"VariableDeclaration","scope":3315,"src":"12833:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3293,"name":"address","nodeType":"ElementaryTypeName","src":"12833:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3296,"name":"_pollID","nodeType":"VariableDeclaration","scope":3315,"src":"12849:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3295,"name":"uint","nodeType":"ElementaryTypeName","src":"12849:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"12832:30:5"},"payable":false,"returnParameters":{"id":3300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3299,"name":"committed","nodeType":"VariableDeclaration","scope":3315,"src":"12888:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3298,"name":"bool","nodeType":"ElementaryTypeName","src":"12888:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"12887:16:5"},"scope":3524,"src":"12814:187:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3337,"nodeType":"Block","src":"13344:97:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3326,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"13373:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3325,"name":"pollExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3355,"src":"13362:10:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view returns (bool)"}},"id":3327,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13362:19:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3324,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"13354:7:5","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3328,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13354:28:5","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3329,"nodeType":"ExpressionStatement","src":"13354:28:5"},{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3330,"name":"pollMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2597,"src":"13400:7:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Poll_$2588_storage_$","typeString":"mapping(uint256 => struct PLCRVoting.Poll storage ref)"}},"id":3332,"indexExpression":{"argumentTypes":null,"id":3331,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3319,"src":"13408:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13400:16:5","typeDescriptions":{"typeIdentifier":"t_struct$_Poll_$2588_storage","typeString":"struct PLCRVoting.Poll storage ref"}},"id":3333,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"didReveal","nodeType":"MemberAccess","referencedDeclaration":2587,"src":"13400:26:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":3335,"indexExpression":{"argumentTypes":null,"id":3334,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3317,"src":"13427:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13400:34:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3323,"id":3336,"nodeType":"Return","src":"13393:41:5"}]},"documentation":"@dev Checks if user has revealed for specified poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Boolean indication of whether user has revealed","id":3338,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"didReveal","nodeType":"FunctionDefinition","parameters":{"id":3320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3317,"name":"_voter","nodeType":"VariableDeclaration","scope":3338,"src":"13274:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3316,"name":"address","nodeType":"ElementaryTypeName","src":"13274:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3319,"name":"_pollID","nodeType":"VariableDeclaration","scope":3338,"src":"13290:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3318,"name":"uint","nodeType":"ElementaryTypeName","src":"13290:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"13273:30:5"},"payable":false,"returnParameters":{"id":3323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3322,"name":"revealed","nodeType":"VariableDeclaration","scope":3338,"src":"13329:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3321,"name":"bool","nodeType":"ElementaryTypeName","src":"13329:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"13328:15:5"},"scope":3524,"src":"13255:186:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3354,"nodeType":"Block","src":"13709:62:5","statements":[{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3351,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3347,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3345,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3340,"src":"13727:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"hexValue":"30","id":3346,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13738:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13727:12:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3350,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3348,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3340,"src":"13743:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"id":3349,"name":"pollNonce","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2593,"src":"13754:9:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13743:20:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13727:36:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3352,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13726:38:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3344,"id":3353,"nodeType":"Return","src":"13719:45:5"}]},"documentation":"@dev Checks if a poll exists\n@param _pollID The pollID whose existance is to be evaluated.\n@return Boolean Indicates whether a poll exists for the provided pollID","id":3355,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"pollExists","nodeType":"FunctionDefinition","parameters":{"id":3341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3340,"name":"_pollID","nodeType":"VariableDeclaration","scope":3355,"src":"13657:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3339,"name":"uint","nodeType":"ElementaryTypeName","src":"13657:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"13656:14:5"},"payable":false,"returnParameters":{"id":3344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3343,"name":"exists","nodeType":"VariableDeclaration","scope":3355,"src":"13696:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3342,"name":"bool","nodeType":"ElementaryTypeName","src":"13696:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"13695:13:5"},"scope":3524,"src":"13637:134:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3375,"nodeType":"Block","src":"14232:92:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3368,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3357,"src":"14285:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3369,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3359,"src":"14293:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3367,"name":"attrUUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3523,"src":"14276:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) pure returns (bytes32)"}},"id":3370,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14276:25:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"hexValue":"636f6d6d697448617368","id":3371,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14303:12:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3","typeString":"literal_string \"commitHash\""},"value":"commitHash"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_207714604a0440a484c6569f8718c59de7b49b2f64c69153d0c80360597b39a3","typeString":"literal_string \"commitHash\""}],"expression":{"argumentTypes":null,"id":3365,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"14257:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage","typeString":"struct AttributeStore.Data storage ref"}},"id":3366,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getAttribute","nodeType":"MemberAccess","referencedDeclaration":2173,"src":"14257:18:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2149_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2149_storage_ptr_$","typeString":"function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)"}},"id":3372,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14257:59:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3364,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"14249:7:5","typeDescriptions":{"typeIdentifier":"t_type$_t_bytes32_$","typeString":"type(bytes32)"},"typeName":"bytes32"},"id":3373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14249:68:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":3363,"id":3374,"nodeType":"Return","src":"14242:75:5"}]},"documentation":"@dev Gets the bytes32 commitHash property of target poll\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Bytes32 hash property attached to target poll","id":3376,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getCommitHash","nodeType":"FunctionDefinition","parameters":{"id":3360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3357,"name":"_voter","nodeType":"VariableDeclaration","scope":3376,"src":"14157:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3356,"name":"address","nodeType":"ElementaryTypeName","src":"14157:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3359,"name":"_pollID","nodeType":"VariableDeclaration","scope":3376,"src":"14173:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3358,"name":"uint","nodeType":"ElementaryTypeName","src":"14173:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14156:30:5"},"payable":false,"returnParameters":{"id":3363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3362,"name":"commitHash","nodeType":"VariableDeclaration","scope":3376,"src":"14212:18:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3361,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14212:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"14211:20:5"},"scope":3524,"src":"14134:190:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3394,"nodeType":"Block","src":"14689:82:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3388,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3378,"src":"14734:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3389,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3380,"src":"14742:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3387,"name":"attrUUID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3523,"src":"14725:8:5","typeDescriptions":{"typeIdentifier":"t_function_internal_pure$_t_address_$_t_uint256_$returns$_t_bytes32_$","typeString":"function (address,uint256) pure returns (bytes32)"}},"id":3390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14725:25:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"hexValue":"6e756d546f6b656e73","id":3391,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"14752:11:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a","typeString":"literal_string \"numTokens\""},"value":"numTokens"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_aaabf4403cd242796b0e69a57762477ad48e1fa250247ff93eeada3e5b75581a","typeString":"literal_string \"numTokens\""}],"expression":{"argumentTypes":null,"id":3385,"name":"store","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2607,"src":"14706:5:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2149_storage","typeString":"struct AttributeStore.Data storage ref"}},"id":3386,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getAttribute","nodeType":"MemberAccess","referencedDeclaration":2173,"src":"14706:18:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2149_storage_ptr_$_t_bytes32_$_t_string_memory_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2149_storage_ptr_$","typeString":"function (struct AttributeStore.Data storage pointer,bytes32,string memory) view returns (uint256)"}},"id":3392,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14706:58:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3384,"id":3393,"nodeType":"Return","src":"14699:65:5"}]},"documentation":"@dev Wrapper for getAttribute with attrName=\"numTokens\"\n@param _voter Address of user to check against\n@param _pollID Integer identifier associated with target poll\n@return Number of tokens committed to poll in sorted poll-linked-list","id":3395,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getNumTokens","nodeType":"FunctionDefinition","parameters":{"id":3381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3378,"name":"_voter","nodeType":"VariableDeclaration","scope":3395,"src":"14618:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3377,"name":"address","nodeType":"ElementaryTypeName","src":"14618:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3380,"name":"_pollID","nodeType":"VariableDeclaration","scope":3395,"src":"14634:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3379,"name":"uint","nodeType":"ElementaryTypeName","src":"14634:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14617:30:5"},"payable":false,"returnParameters":{"id":3384,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3383,"name":"numTokens","nodeType":"VariableDeclaration","scope":3395,"src":"14673:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3382,"name":"uint","nodeType":"ElementaryTypeName","src":"14673:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14672:16:5"},"scope":3524,"src":"14596:175:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3409,"nodeType":"Block","src":"15056:49:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"30","id":3406,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"15096:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3402,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"15073:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":3404,"indexExpression":{"argumentTypes":null,"id":3403,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3397,"src":"15080:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15073:14:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":3405,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getPrev","nodeType":"MemberAccess","referencedDeclaration":2322,"src":"15073:22:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":3407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15073:25:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3401,"id":3408,"nodeType":"Return","src":"15066:32:5"}]},"documentation":"@dev Gets top element of sorted poll-linked-list\n@param _voter Address of user to check against\n@return Integer identifier to poll with maximum number of tokens committed to it","id":3410,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getLastNode","nodeType":"FunctionDefinition","parameters":{"id":3398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3397,"name":"_voter","nodeType":"VariableDeclaration","scope":3410,"src":"15002:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3396,"name":"address","nodeType":"ElementaryTypeName","src":"15002:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"15001:16:5"},"payable":false,"returnParameters":{"id":3401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3400,"name":"pollID","nodeType":"VariableDeclaration","scope":3410,"src":"15043:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3399,"name":"uint","nodeType":"ElementaryTypeName","src":"15043:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"15042:13:5"},"scope":3524,"src":"14981:124:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3424,"nodeType":"Block","src":"15376:65:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3418,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3412,"src":"15406:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3420,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3412,"src":"15426:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3419,"name":"getLastNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3410,"src":"15414:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":3421,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15414:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3417,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"15393:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3422,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15393:41:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3416,"id":3423,"nodeType":"Return","src":"15386:48:5"}]},"documentation":"@dev Gets the numTokens property of getLastNode\n@param _voter Address of user to check against\n@return Maximum number of tokens committed in poll specified","id":3425,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getLockedTokens","nodeType":"FunctionDefinition","parameters":{"id":3413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3412,"name":"_voter","nodeType":"VariableDeclaration","scope":3425,"src":"15319:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3411,"name":"address","nodeType":"ElementaryTypeName","src":"15319:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"15318:16:5"},"payable":false,"returnParameters":{"id":3416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3415,"name":"numTokens","nodeType":"VariableDeclaration","scope":3425,"src":"15360:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3414,"name":"uint","nodeType":"ElementaryTypeName","src":"15360:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"15359:16:5"},"scope":3524,"src":"15294:147:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3493,"nodeType":"Block","src":"16278:990:5","statements":[{"assignments":[3437],"declarations":[{"constant":false,"id":3437,"name":"nodeID","nodeType":"VariableDeclaration","scope":3494,"src":"16363:11:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3436,"name":"uint","nodeType":"ElementaryTypeName","src":"16363:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3441,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3439,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3427,"src":"16389:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":3438,"name":"getLastNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3410,"src":"16377:11:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$returns$_t_uint256_$","typeString":"function (address) view returns (uint256)"}},"id":3440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16377:19:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16363:33:5"},{"assignments":[3443],"declarations":[{"constant":false,"id":3443,"name":"tokensInNode","nodeType":"VariableDeclaration","scope":3494,"src":"16404:17:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3442,"name":"uint","nodeType":"ElementaryTypeName","src":"16404:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3448,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3445,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3427,"src":"16437:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3446,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16445:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3444,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"16424:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3447,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16424:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"16404:48:5"},{"body":{"id":3489,"nodeType":"Block","src":"16553:591:5","statements":[{"expression":{"argumentTypes":null,"id":3457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3452,"name":"tokensInNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3443,"src":"16619:12:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3454,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3427,"src":"16647:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3455,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16655:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3453,"name":"getNumTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3395,"src":"16634:12:5","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256) view returns (uint256)"}},"id":3456,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16634:28:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16619:43:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3458,"nodeType":"ExpressionStatement","src":"16619:43:5"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3461,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3459,"name":"tokensInNode","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3443,"src":"16675:12:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"id":3460,"name":"_numTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3429,"src":"16691:10:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16675:26:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":3479,"nodeType":"IfStatement","src":"16672:324:5","trueBody":{"id":3478,"nodeType":"Block","src":"16703:293:5","statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3464,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3462,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16748:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":3463,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3431,"src":"16758:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16748:17:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":3475,"nodeType":"IfStatement","src":"16745:178:5","trueBody":{"id":3474,"nodeType":"Block","src":"16767:156:5","statements":[{"expression":{"argumentTypes":null,"id":3472,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3465,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16871:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3470,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16903:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3466,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"16880:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":3468,"indexExpression":{"argumentTypes":null,"id":3467,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3427,"src":"16887:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16880:14:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":3469,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getPrev","nodeType":"MemberAccess","referencedDeclaration":2322,"src":"16880:22:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":3471,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16880:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16871:39:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3473,"nodeType":"ExpressionStatement","src":"16871:39:5"}]}},{"expression":{"argumentTypes":null,"id":3476,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16978:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3435,"id":3477,"nodeType":"Return","src":"16971:13:5"}]}},{"expression":{"argumentTypes":null,"id":3487,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":3480,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"17096:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3485,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"17128:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":3481,"name":"dllMap","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2605,"src":"17105:6:5","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_struct$_Data_$2216_storage_$","typeString":"mapping(address => struct DLL.Data storage ref)"}},"id":3483,"indexExpression":{"argumentTypes":null,"id":3482,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3427,"src":"17112:6:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17105:14:5","typeDescriptions":{"typeIdentifier":"t_struct$_Data_$2216_storage","typeString":"struct DLL.Data storage ref"}},"id":3484,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"getPrev","nodeType":"MemberAccess","referencedDeclaration":2322,"src":"17105:22:5","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_view$_t_struct$_Data_$2216_storage_ptr_$_t_uint256_$returns$_t_uint256_$bound_to$_t_struct$_Data_$2216_storage_ptr_$","typeString":"function (struct DLL.Data storage pointer,uint256) view returns (uint256)"}},"id":3486,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17105:30:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17096:39:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":3488,"nodeType":"ExpressionStatement","src":"17096:39:5"}]},"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3451,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3449,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"16540:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"hexValue":"30","id":3450,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"16550:1:5","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"16540:11:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":3490,"nodeType":"WhileStatement","src":"16534:610:5"},{"expression":{"argumentTypes":null,"id":3491,"name":"nodeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3437,"src":"17255:6:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3435,"id":3492,"nodeType":"Return","src":"17248:13:5"}]},"documentation":null,"id":3494,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"getInsertPointForNumTokens","nodeType":"FunctionDefinition","parameters":{"id":3432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3427,"name":"_voter","nodeType":"VariableDeclaration","scope":3494,"src":"16187:14:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3426,"name":"address","nodeType":"ElementaryTypeName","src":"16187:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3429,"name":"_numTokens","nodeType":"VariableDeclaration","scope":3494,"src":"16203:15:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3428,"name":"uint","nodeType":"ElementaryTypeName","src":"16203:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3431,"name":"_pollID","nodeType":"VariableDeclaration","scope":3494,"src":"16220:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3430,"name":"uint","nodeType":"ElementaryTypeName","src":"16220:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"16186:47:5"},"payable":false,"returnParameters":{"id":3435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3434,"name":"prevNode","nodeType":"VariableDeclaration","scope":3494,"src":"16263:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3433,"name":"uint","nodeType":"ElementaryTypeName","src":"16263:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"16262:15:5"},"scope":3524,"src":"16151:1117:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3507,"nodeType":"Block","src":"17667:60:5","statements":[{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3504,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":3501,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3917,"src":"17685:5:5","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":3502,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":null,"src":"17685:15:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"id":3503,"name":"_terminationDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3496,"src":"17703:16:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"17685:34:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":3505,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"17684:36:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":3500,"id":3506,"nodeType":"Return","src":"17677:43:5"}]},"documentation":"@dev Checks if an expiration date has been reached\n@param _terminationDate Integer timestamp of date to compare current timestamp with\n@return expired Boolean indication of whether the terminationDate has passed","id":3508,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"isExpired","nodeType":"FunctionDefinition","parameters":{"id":3497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3496,"name":"_terminationDate","nodeType":"VariableDeclaration","scope":3508,"src":"17605:21:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3495,"name":"uint","nodeType":"ElementaryTypeName","src":"17605:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"17604:23:5"},"payable":false,"returnParameters":{"id":3500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3499,"name":"expired","nodeType":"VariableDeclaration","scope":3508,"src":"17653:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":3498,"name":"bool","nodeType":"ElementaryTypeName","src":"17653:4:5","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"17652:14:5"},"scope":3524,"src":"17586:141:5","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":3522,"nodeType":"Block","src":"18041:49:5","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":3518,"name":"_user","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3510,"src":"18068:5:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":3519,"name":"_pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3512,"src":"18075:7:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":3517,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"18058:9:5","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":3520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18058:25:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":3516,"id":3521,"nodeType":"Return","src":"18051:32:5"}]},"documentation":"@dev Generates an identifier which associates a user and a poll together\n@param _pollID Integer identifier associated with target poll\n@return UUID Hash which is deterministic from _user and _pollID","id":3523,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"attrUUID","nodeType":"FunctionDefinition","parameters":{"id":3513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3510,"name":"_user","nodeType":"VariableDeclaration","scope":3523,"src":"17977:13:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":3509,"name":"address","nodeType":"ElementaryTypeName","src":"17977:7:5","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":3512,"name":"_pollID","nodeType":"VariableDeclaration","scope":3523,"src":"17992:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3511,"name":"uint","nodeType":"ElementaryTypeName","src":"17992:4:5","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"17976:29:5"},"payable":false,"returnParameters":{"id":3516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3515,"name":"UUID","nodeType":"VariableDeclaration","scope":3523,"src":"18027:12:5","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":3514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18027:7:5","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"18026:14:5"},"scope":3524,"src":"17959:131:5","stateMutability":"pure","superFunction":null,"visibility":"public"}],"scope":3525,"src":"292:17800:5"}],"src":"0:18093:5"},"compiler":{"name":"solc","version":"0.4.21+commit.dfe3193c.Emscripten.clang"},"networks":{},"schemaVersion":"2.0.0","updatedAt":"2018-04-16T22:09:02.617Z"} /***/ }), /* 853 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Parameterizer","abi":[{"constant":true,"inputs":[],"name":"PROCESSBY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"proposals","outputs":[{"name":"appExpiry","type":"uint256"},{"name":"challengeID","type":"uint256"},{"name":"deposit","type":"uint256"},{"name":"name","type":"string"},{"name":"owner","type":"address"},{"name":"processBy","type":"uint256"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"challenges","outputs":[{"name":"rewardPool","type":"uint256"},{"name":"challenger","type":"address"},{"name":"resolved","type":"bool"},{"name":"stake","type":"uint256"},{"name":"winningTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"params","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"voting","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenAddr","type":"address"},{"name":"_plcrAddr","type":"address"},{"name":"_minDeposit","type":"uint256"},{"name":"_pMinDeposit","type":"uint256"},{"name":"_applyStageLen","type":"uint256"},{"name":"_pApplyStageLen","type":"uint256"},{"name":"_commitStageLen","type":"uint256"},{"name":"_pCommitStageLen","type":"uint256"},{"name":"_revealStageLen","type":"uint256"},{"name":"_pRevealStageLen","type":"uint256"},{"name":"_dispensationPct","type":"uint256"},{"name":"_pDispensationPct","type":"uint256"},{"name":"_voteQuorum","type":"uint256"},{"name":"_pVoteQuorum","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"propID","type":"bytes32"},{"indexed":false,"name":"deposit","type":"uint256"},{"indexed":false,"name":"appEndDate","type":"uint256"},{"indexed":true,"name":"proposer","type":"address"}],"name":"_ReparameterizationProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"propID","type":"bytes32"},{"indexed":false,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"commitEndDate","type":"uint256"},{"indexed":false,"name":"revealEndDate","type":"uint256"},{"indexed":true,"name":"challenger","type":"address"}],"name":"_NewChallenge","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"propID","type":"bytes32"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"value","type":"uint256"}],"name":"_ProposalAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"propID","type":"bytes32"}],"name":"_ProposalExpired","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"propID","type":"bytes32"},{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"rewardPool","type":"uint256"},{"indexed":false,"name":"totalTokens","type":"uint256"}],"name":"_ChallengeSucceeded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"propID","type":"bytes32"},{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"rewardPool","type":"uint256"},{"indexed":false,"name":"totalTokens","type":"uint256"}],"name":"_ChallengeFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"reward","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_RewardClaimed","type":"event"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_value","type":"uint256"}],"name":"proposeReparameterization","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_propID","type":"bytes32"}],"name":"challengeReparameterization","outputs":[{"name":"challengeID","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_propID","type":"bytes32"}],"name":"processProposal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_challengeID","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"claimReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_challengeID","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"voterReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_propID","type":"bytes32"}],"name":"canBeSet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_propID","type":"bytes32"}],"name":"propExists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_propID","type":"bytes32"}],"name":"challengeCanBeResolved","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_challengeID","type":"uint256"}],"name":"challengeWinnerReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"get","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_challengeID","type":"uint256"},{"name":"_voter","type":"address"}],"name":"tokenClaims","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x606060405262093a8060055534156200001757600080fd5b6040516101c080620036e4833981016040528080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919050508d600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508c600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001816040805190810160405280600a81526020017f6d696e4465706f736974000000000000000000000000000000000000000000008152508d6200053c640100000000026200285b176401000000009004565b620001d66040805190810160405280600b81526020017f704d696e4465706f7369740000000000000000000000000000000000000000008152508c6200053c640100000000026200285b176401000000009004565b6200022b6040805190810160405280600d81526020017f6170706c7953746167654c656e000000000000000000000000000000000000008152508b6200053c640100000000026200285b176401000000009004565b620002806040805190810160405280600e81526020017f704170706c7953746167654c656e0000000000000000000000000000000000008152508a6200053c640100000000026200285b176401000000009004565b620002d56040805190810160405280600e81526020017f636f6d6d697453746167654c656e000000000000000000000000000000000000815250896200053c640100000000026200285b176401000000009004565b6200032a6040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250886200053c640100000000026200285b176401000000009004565b6200037f6040805190810160405280600e81526020017f72657665616c53746167654c656e000000000000000000000000000000000000815250876200053c640100000000026200285b176401000000009004565b620003d46040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250866200053c640100000000026200285b176401000000009004565b620004296040805190810160405280600f81526020017f64697370656e736174696f6e5063740000000000000000000000000000000000815250856200053c640100000000026200285b176401000000009004565b6200047e6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250846200053c640100000000026200285b176401000000009004565b620004d36040805190810160405280600a81526020017f766f746551756f72756d00000000000000000000000000000000000000000000815250836200053c640100000000026200285b176401000000009004565b620005286040805190810160405280600b81526020017f70566f746551756f72756d000000000000000000000000000000000000000000815250826200053c640100000000026200285b176401000000009004565b5050505050505050505050505050620005c3565b80600080846040518082805190602001908083835b60208310151562000578578051825260208201915060208101905060208303925062000551565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b61311180620005d36000396000f3006060604052600436106100f0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806229514f146100f557806330490e911461011e57806332ed5b1214610145578063353009901461023b578063504115521461027a578063693ec85e146102b157806377609a41146103225780638240ae4b1461036157806386bb8f371461039c5780638f1d3776146103c8578063a5ba3b1e1461044b578063a7aad3db146104a5578063bade1c5414610504578063c51131fb14610586578063dc6ab527146105c5578063fc0c546a14610600578063fce1ccca14610655575b600080fd5b341561010057600080fd5b6101086106aa565b6040518082815260200191505060405180910390f35b341561012957600080fd5b6101436004808035600019169060200190919050506106b0565b005b341561015057600080fd5b61016a600480803560001916906020019091905050610dcf565b60405180888152602001878152602001868152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156101fa5780820151818401526020810190506101df565b50505050905090810190601f1680156102275780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b341561024657600080fd5b610260600480803560001916906020019091905050610ec9565b604051808215151515815260200191505060405180910390f35b341561028557600080fd5b61029b6004808035906020019091905050610ef3565b6040518082815260200191505060405180910390f35b34156102bc57600080fd5b61030c600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610ffe565b6040518082815260200191505060405180910390f35b341561032d57600080fd5b610347600480803560001916906020019091905050611084565b604051808215151515815260200191505060405180910390f35b341561036c57600080fd5b610386600480803560001916906020019091905050611375565b6040518082815260200191505060405180910390f35b34156103a757600080fd5b6103c66004808035906020019091908035906020019091905050611a2f565b005b34156103d357600080fd5b6103e96004808035906020019091905050611dbb565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b341561045657600080fd5b61048b600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e1e565b604051808215151515815260200191505060405180910390f35b34156104b057600080fd5b6104ee600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611e89565b6040518082815260200191505060405180910390f35b341561050f57600080fd5b610568600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050611fc0565b60405180826000191660001916815260200191505060405180910390f35b341561059157600080fd5b6105ab60048080356000191690602001909190505061266c565b604051808215151515815260200191505060405180910390f35b34156105d057600080fd5b6105ea6004808035600019169060200190919050506127f7565b6040518082815260200191505060405180910390f35b341561060b57600080fd5b61061361280f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066057600080fd5b610668612835565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60055481565b600080600060026000856000191660001916815260200190815260200160002092508260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506107098461266c565b156109ed576107b8836003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107a95780601f1061077e576101008083540402835291602001916107a9565b820191906000526020600020905b81548152906001019060200180831161078c57829003601f168201915b5050505050846006015461285b565b83600019167f37f3986c71e1aa2c470cfc4a92af70820610c3065589d35ef1664ea27f3e73a584600301856006015460405180806020018381526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156108765780601f1061084b57610100808354040283529160200191610876565b820191906000526020600020905b81548152906001019060200180831161085957829003601f168201915b5050935050505060405180910390a2600260008560001916600019168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006108c99190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156109c657600080fd5b5af115156109d357600080fd5b5050506040518051905015156109e857600080fd5b610bb5565b6109f684611084565b15610a0957610a04846128e0565b610bb4565b8260050154421115610bae5783600019167f29026cb2acebe6d0a4b6d593ccadf76e3fc6d0a02254e078b0c4a619608089d760405160405180910390a260026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610a8a9190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610b8757600080fd5b5af11515610b9457600080fd5b505050604051805190501515610ba957600080fd5b610bb3565b600080fd5b5b5b6064610bf56040805190810160405280600f81526020017f64697370656e736174696f6e5063740000000000000000000000000000000000815250610ffe565b11151515610bff57fe5b6064610c3f6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250610ffe565b11151515610c4957fe5b610d4b600554610d3d610c906040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b610d2f610cd16040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b610d21610d126040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b5060026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610d909190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560058201600090556006820160009055505050505050565b6002602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e8d5780601f10610e6257610100808354040283529160200191610e8d565b820191906000526020600020905b815481529060010190602001808311610e7057829003601f168201915b5050505050908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060154905087565b60008060026000846000191660001916815260200190815260200160002060050154119050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610f8657600080fd5b5af11515610f9357600080fd5b505050604051805190501415610fc45760016000838152602001908152602001600020600201546002029050610ff9565b600160008381526020019081526020016000206000015460016000848152602001908152602001600020600201546002020390505b919050565b6000806000836040518082805190602001908083835b6020831015156110395780518252602082019150602081019050602083039250611014565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b600061108e612f8a565b611096612fe4565b60026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111745780601f1061114957610100808354040283529160200191611174565b820191906000526020600020905b81548152906001019060200180831161115757829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509150600160008360200151815260200190815260200160002060a06040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff16151515158152602001600282015481526020016003820154815250509050600082602001511180156112b957506000151581604001511515145b801561136c5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee68483083602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561135457600080fd5b5af1151561136157600080fd5b505050604051805190505b92505050919050565b600061137f612f8a565b60008060008060026000886000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114635780601f1061143857610100808354040283529160200191611463565b820191906000526020600020905b81548152906001019060200180831161144657829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509450846040015193506114e887610ec9565b80156114f8575060008560200151145b151561150357600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d6061157f6040805190810160405280600b81526020017f70566f746551756f72756d000000000000000000000000000000000000000000815250610ffe565b6115bd6040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b6115fb6040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b151561165a57600080fd5b5af1151561166757600080fd5b50505060405180519050925060a0604051908101604052806116ec60646116de886116d060646116cb6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250610ffe565b612edb565b612ef490919063ffffffff16565b612f2790919063ffffffff16565b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018581526020016000815250600160008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff02191690831515021790555060608201518160020155608082015181600301559050508260026000896000191660001916815260200190815260200160002060010181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156118d757600080fd5b5af115156118e457600080fd5b5050506040518051905015156118f957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b151561198957600080fd5b5af1151561199657600080fd5b50505060405180519060200180519060200180519060200180519060200180519050505050915091503373ffffffffffffffffffffffffffffffffffffffff1687600019167fe94e3086c4bfe84acba4437b85a80fca3721dfc419d1f7afe4fa4e470e670b4885858560405180848152602001838152602001828152602001935050505060405180910390a38295505050505050919050565b600080600015156001600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611aa557600080fd5b600115156001600086815260200190815260200160002060010160149054906101000a900460ff161515141515611adb57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611ba757600080fd5b5af11515611bb457600080fd5b505050604051805190509150611bcb338585611e89565b9050816001600086815260200190815260200160002060030160008282540392505081905550806001600086815260200190815260200160002060000160008282540392505081905550600180600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611d9357600080fd5b5af11515611da057600080fd5b505050604051805190501515611db557600080fd5b50505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b60006001600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806000806001600087815260200190815260200160002060030154925060016000878152602001908152602001600020600001549150600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611f8d57600080fd5b5af11515611f9a57600080fd5b50505060405180519050905082828202811515611fb357fe5b0493505050509392505050565b60008060006120036040805190810160405280600b81526020017f704d696e4465706f736974000000000000000000000000000000000000000000815250610ffe565b915084846040518083805190602001908083835b60208310151561203c5780518252602082019150602081019050602083039250612017565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040518091039020905060405180807f64697370656e736174696f6e5063740000000000000000000000000000000000815250600f019050604051809103902060001916856040518082805190602001908083835b6020831015156120e257805182526020820191506020810190506020830392506120bd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614806121bd575060405180807f7044697370656e736174696f6e506374000000000000000000000000000000008152506010019050604051809103902060001916856040518082805190602001908083835b60208310151561218a5780518252602082019150602081019050602083039250612165565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916145b156121d357606484111515156121d257600080fd5b5b6121dc81610ec9565b1515156121e857600080fd5b836121f286610ffe565b141515156121ff57600080fd5b60e06040519081016040528061225b61224c6040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b8152602001600081526020018381526020018681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016123916005546123836122d66040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b6123756123176040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b6123676123586040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b81526020018581525060026000836000191660001916815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030190805190602001906123ef92919061302c565b5060808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060155905050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561254657600080fd5b5af1151561255357600080fd5b50505060405180519050151561256857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb25bdef16105f099e5c185f9c7fd969571e8e0caa3f7bd75409512fe0a41a60b868684866002600088600019166000191681526020019081526020016000206000015460405180806020018681526020018560001916600019168152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b83811015612623578082015181840152602081019050612608565b50505050905090810190601f1680156126505780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b6000612676612f8a565b60026000846000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127545780601f1061272957610100808354040283529160200191612754565b820191906000526020600020905b81548152906001019060200180831161273757829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820154815260200160068201548152505090508060000151421180156127df57508060a0015142105b80156127ef575060008160200151145b915050919050565b60006020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600080846040518082805190602001908083835b6020831015156128955780518252602082019150602081019050602083039250612870565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b6128e8612f8a565b60008060026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129c95780601f1061299e576101008083540402835291602001916129c9565b820191906000526020600020905b8154815290600101906020018083116129ac57829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160058201548152602001600682015481525050925060016000846020015181526020019081526020016000209150612a648360200151610ef3565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a684602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612afa57600080fd5b5af11515612b0757600080fd5b50505060405180519050826003018190555060018260010160146101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634940318384602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612bca57600080fd5b5af11515612bd757600080fd5b5050506040518051905015612d4557428360a001511115612c0557612c0483606001518460c0015161285b565b5b826020015184600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c184600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460800151836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612d1e57600080fd5b5af11515612d2b57600080fd5b505050604051805190501515612d4057600080fd5b612eb7565b826020015184600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe684600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160008660200151815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612e9457600080fd5b5af11515612ea157600080fd5b505050604051805190501515612eb657600080fd5b5b50505050565b6000808284019050838110151515612ed157fe5b8091505092915050565b6000828211151515612ee957fe5b818303905092915050565b60008082840290506000841480612f155750828482811515612f1257fe5b04145b1515612f1d57fe5b8091505092915050565b6000808284811515612f3557fe5b0490508091505092915050565b50805460018160011615610100020316600290046000825580601f10612f685750612f87565b601f016020900490600052602060002090810190612f8691906130ac565b5b50565b60e060405190810160405280600081526020016000815260200160008152602001612fb36130d1565b8152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60a06040519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061306d57805160ff191683800117855561309b565b8280016001018555821561309b579182015b8281111561309a57825182559160200191906001019061307f565b5b5090506130a891906130ac565b5090565b6130ce91905b808211156130ca5760008160009055506001016130b2565b5090565b90565b6020604051908101604052806000815250905600a165627a7a723058207a14ada173328abf98b2ed5ab05bd13aa3244598059286ee96f106dd127960bc0029","deployedBytecode":"0x6060604052600436106100f0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806229514f146100f557806330490e911461011e57806332ed5b1214610145578063353009901461023b578063504115521461027a578063693ec85e146102b157806377609a41146103225780638240ae4b1461036157806386bb8f371461039c5780638f1d3776146103c8578063a5ba3b1e1461044b578063a7aad3db146104a5578063bade1c5414610504578063c51131fb14610586578063dc6ab527146105c5578063fc0c546a14610600578063fce1ccca14610655575b600080fd5b341561010057600080fd5b6101086106aa565b6040518082815260200191505060405180910390f35b341561012957600080fd5b6101436004808035600019169060200190919050506106b0565b005b341561015057600080fd5b61016a600480803560001916906020019091905050610dcf565b60405180888152602001878152602001868152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156101fa5780820151818401526020810190506101df565b50505050905090810190601f1680156102275780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b341561024657600080fd5b610260600480803560001916906020019091905050610ec9565b604051808215151515815260200191505060405180910390f35b341561028557600080fd5b61029b6004808035906020019091905050610ef3565b6040518082815260200191505060405180910390f35b34156102bc57600080fd5b61030c600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610ffe565b6040518082815260200191505060405180910390f35b341561032d57600080fd5b610347600480803560001916906020019091905050611084565b604051808215151515815260200191505060405180910390f35b341561036c57600080fd5b610386600480803560001916906020019091905050611375565b6040518082815260200191505060405180910390f35b34156103a757600080fd5b6103c66004808035906020019091908035906020019091905050611a2f565b005b34156103d357600080fd5b6103e96004808035906020019091905050611dbb565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b341561045657600080fd5b61048b600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e1e565b604051808215151515815260200191505060405180910390f35b34156104b057600080fd5b6104ee600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611e89565b6040518082815260200191505060405180910390f35b341561050f57600080fd5b610568600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050611fc0565b60405180826000191660001916815260200191505060405180910390f35b341561059157600080fd5b6105ab60048080356000191690602001909190505061266c565b604051808215151515815260200191505060405180910390f35b34156105d057600080fd5b6105ea6004808035600019169060200190919050506127f7565b6040518082815260200191505060405180910390f35b341561060b57600080fd5b61061361280f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066057600080fd5b610668612835565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60055481565b600080600060026000856000191660001916815260200190815260200160002092508260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506107098461266c565b156109ed576107b8836003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107a95780601f1061077e576101008083540402835291602001916107a9565b820191906000526020600020905b81548152906001019060200180831161078c57829003601f168201915b5050505050846006015461285b565b83600019167f37f3986c71e1aa2c470cfc4a92af70820610c3065589d35ef1664ea27f3e73a584600301856006015460405180806020018381526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156108765780601f1061084b57610100808354040283529160200191610876565b820191906000526020600020905b81548152906001019060200180831161085957829003601f168201915b5050935050505060405180910390a2600260008560001916600019168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006108c99190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156109c657600080fd5b5af115156109d357600080fd5b5050506040518051905015156109e857600080fd5b610bb5565b6109f684611084565b15610a0957610a04846128e0565b610bb4565b8260050154421115610bae5783600019167f29026cb2acebe6d0a4b6d593ccadf76e3fc6d0a02254e078b0c4a619608089d760405160405180910390a260026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610a8a9190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610b8757600080fd5b5af11515610b9457600080fd5b505050604051805190501515610ba957600080fd5b610bb3565b600080fd5b5b5b6064610bf56040805190810160405280600f81526020017f64697370656e736174696f6e5063740000000000000000000000000000000000815250610ffe565b11151515610bff57fe5b6064610c3f6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250610ffe565b11151515610c4957fe5b610d4b600554610d3d610c906040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b610d2f610cd16040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b610d21610d126040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b5060026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610d909190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560058201600090556006820160009055505050505050565b6002602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e8d5780601f10610e6257610100808354040283529160200191610e8d565b820191906000526020600020905b815481529060010190602001808311610e7057829003601f168201915b5050505050908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060154905087565b60008060026000846000191660001916815260200190815260200160002060050154119050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610f8657600080fd5b5af11515610f9357600080fd5b505050604051805190501415610fc45760016000838152602001908152602001600020600201546002029050610ff9565b600160008381526020019081526020016000206000015460016000848152602001908152602001600020600201546002020390505b919050565b6000806000836040518082805190602001908083835b6020831015156110395780518252602082019150602081019050602083039250611014565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b600061108e612f8a565b611096612fe4565b60026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111745780601f1061114957610100808354040283529160200191611174565b820191906000526020600020905b81548152906001019060200180831161115757829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509150600160008360200151815260200190815260200160002060a06040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff16151515158152602001600282015481526020016003820154815250509050600082602001511180156112b957506000151581604001511515145b801561136c5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee68483083602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561135457600080fd5b5af1151561136157600080fd5b505050604051805190505b92505050919050565b600061137f612f8a565b60008060008060026000886000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114635780601f1061143857610100808354040283529160200191611463565b820191906000526020600020905b81548152906001019060200180831161144657829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509450846040015193506114e887610ec9565b80156114f8575060008560200151145b151561150357600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d6061157f6040805190810160405280600b81526020017f70566f746551756f72756d000000000000000000000000000000000000000000815250610ffe565b6115bd6040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b6115fb6040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b151561165a57600080fd5b5af1151561166757600080fd5b50505060405180519050925060a0604051908101604052806116ec60646116de886116d060646116cb6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250610ffe565b612edb565b612ef490919063ffffffff16565b612f2790919063ffffffff16565b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018581526020016000815250600160008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff02191690831515021790555060608201518160020155608082015181600301559050508260026000896000191660001916815260200190815260200160002060010181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156118d757600080fd5b5af115156118e457600080fd5b5050506040518051905015156118f957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b151561198957600080fd5b5af1151561199657600080fd5b50505060405180519060200180519060200180519060200180519060200180519050505050915091503373ffffffffffffffffffffffffffffffffffffffff1687600019167fe94e3086c4bfe84acba4437b85a80fca3721dfc419d1f7afe4fa4e470e670b4885858560405180848152602001838152602001828152602001935050505060405180910390a38295505050505050919050565b600080600015156001600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611aa557600080fd5b600115156001600086815260200190815260200160002060010160149054906101000a900460ff161515141515611adb57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611ba757600080fd5b5af11515611bb457600080fd5b505050604051805190509150611bcb338585611e89565b9050816001600086815260200190815260200160002060030160008282540392505081905550806001600086815260200190815260200160002060000160008282540392505081905550600180600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611d9357600080fd5b5af11515611da057600080fd5b505050604051805190501515611db557600080fd5b50505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b60006001600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806000806001600087815260200190815260200160002060030154925060016000878152602001908152602001600020600001549150600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611f8d57600080fd5b5af11515611f9a57600080fd5b50505060405180519050905082828202811515611fb357fe5b0493505050509392505050565b60008060006120036040805190810160405280600b81526020017f704d696e4465706f736974000000000000000000000000000000000000000000815250610ffe565b915084846040518083805190602001908083835b60208310151561203c5780518252602082019150602081019050602083039250612017565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040518091039020905060405180807f64697370656e736174696f6e5063740000000000000000000000000000000000815250600f019050604051809103902060001916856040518082805190602001908083835b6020831015156120e257805182526020820191506020810190506020830392506120bd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614806121bd575060405180807f7044697370656e736174696f6e506374000000000000000000000000000000008152506010019050604051809103902060001916856040518082805190602001908083835b60208310151561218a5780518252602082019150602081019050602083039250612165565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916145b156121d357606484111515156121d257600080fd5b5b6121dc81610ec9565b1515156121e857600080fd5b836121f286610ffe565b141515156121ff57600080fd5b60e06040519081016040528061225b61224c6040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b8152602001600081526020018381526020018681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016123916005546123836122d66040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b6123756123176040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b6123676123586040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b81526020018581525060026000836000191660001916815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030190805190602001906123ef92919061302c565b5060808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060155905050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561254657600080fd5b5af1151561255357600080fd5b50505060405180519050151561256857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb25bdef16105f099e5c185f9c7fd969571e8e0caa3f7bd75409512fe0a41a60b868684866002600088600019166000191681526020019081526020016000206000015460405180806020018681526020018560001916600019168152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b83811015612623578082015181840152602081019050612608565b50505050905090810190601f1680156126505780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b6000612676612f8a565b60026000846000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127545780601f1061272957610100808354040283529160200191612754565b820191906000526020600020905b81548152906001019060200180831161273757829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820154815260200160068201548152505090508060000151421180156127df57508060a0015142105b80156127ef575060008160200151145b915050919050565b60006020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600080846040518082805190602001908083835b6020831015156128955780518252602082019150602081019050602083039250612870565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b6128e8612f8a565b60008060026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129c95780601f1061299e576101008083540402835291602001916129c9565b820191906000526020600020905b8154815290600101906020018083116129ac57829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160058201548152602001600682015481525050925060016000846020015181526020019081526020016000209150612a648360200151610ef3565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a684602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612afa57600080fd5b5af11515612b0757600080fd5b50505060405180519050826003018190555060018260010160146101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634940318384602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612bca57600080fd5b5af11515612bd757600080fd5b5050506040518051905015612d4557428360a001511115612c0557612c0483606001518460c0015161285b565b5b826020015184600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c184600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460800151836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612d1e57600080fd5b5af11515612d2b57600080fd5b505050604051805190501515612d4057600080fd5b612eb7565b826020015184600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe684600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160008660200151815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612e9457600080fd5b5af11515612ea157600080fd5b505050604051805190501515612eb657600080fd5b5b50505050565b6000808284019050838110151515612ed157fe5b8091505092915050565b6000828211151515612ee957fe5b818303905092915050565b60008082840290506000841480612f155750828482811515612f1257fe5b04145b1515612f1d57fe5b8091505092915050565b6000808284811515612f3557fe5b0490508091505092915050565b50805460018160011615610100020316600290046000825580601f10612f685750612f87565b601f016020900490600052602060002090810190612f8691906130ac565b5b50565b60e060405190810160405280600081526020016000815260200160008152602001612fb36130d1565b8152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60a06040519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061306d57805160ff191683800117855561309b565b8280016001018555821561309b579182015b8281111561309a57825182559160200191906001019061307f565b5b5090506130a891906130ac565b5090565b6130ce91905b808211156130ca5760008160009055506001016130b2565b5090565b90565b6020604051908101604052806000815250905600a165627a7a723058207a14ada173328abf98b2ed5ab05bd13aa3244598059286ee96f106dd127960bc0029"} +module.exports = {"contractName":"Parameterizer","abi":[{"constant":true,"inputs":[],"name":"PROCESSBY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"proposals","outputs":[{"name":"appExpiry","type":"uint256"},{"name":"challengeID","type":"uint256"},{"name":"deposit","type":"uint256"},{"name":"name","type":"string"},{"name":"owner","type":"address"},{"name":"processBy","type":"uint256"},{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"challenges","outputs":[{"name":"rewardPool","type":"uint256"},{"name":"challenger","type":"address"},{"name":"resolved","type":"bool"},{"name":"stake","type":"uint256"},{"name":"winningTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"params","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"voting","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenAddr","type":"address"},{"name":"_plcrAddr","type":"address"},{"name":"_minDeposit","type":"uint256"},{"name":"_pMinDeposit","type":"uint256"},{"name":"_applyStageLen","type":"uint256"},{"name":"_pApplyStageLen","type":"uint256"},{"name":"_commitStageLen","type":"uint256"},{"name":"_pCommitStageLen","type":"uint256"},{"name":"_revealStageLen","type":"uint256"},{"name":"_pRevealStageLen","type":"uint256"},{"name":"_dispensationPct","type":"uint256"},{"name":"_pDispensationPct","type":"uint256"},{"name":"_voteQuorum","type":"uint256"},{"name":"_pVoteQuorum","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"propID","type":"bytes32"},{"indexed":false,"name":"deposit","type":"uint256"},{"indexed":false,"name":"appEndDate","type":"uint256"},{"indexed":true,"name":"proposer","type":"address"}],"name":"_ReparameterizationProposal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"propID","type":"bytes32"},{"indexed":false,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"commitEndDate","type":"uint256"},{"indexed":false,"name":"revealEndDate","type":"uint256"},{"indexed":true,"name":"challenger","type":"address"}],"name":"_NewChallenge","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"propID","type":"bytes32"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"value","type":"uint256"}],"name":"_ProposalAccepted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"propID","type":"bytes32"}],"name":"_ProposalExpired","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"propID","type":"bytes32"},{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"rewardPool","type":"uint256"},{"indexed":false,"name":"totalTokens","type":"uint256"}],"name":"_ChallengeSucceeded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"propID","type":"bytes32"},{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"rewardPool","type":"uint256"},{"indexed":false,"name":"totalTokens","type":"uint256"}],"name":"_ChallengeFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"reward","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_RewardClaimed","type":"event"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_value","type":"uint256"}],"name":"proposeReparameterization","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_propID","type":"bytes32"}],"name":"challengeReparameterization","outputs":[{"name":"challengeID","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_propID","type":"bytes32"}],"name":"processProposal","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_challengeID","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"claimReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_challengeID","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"voterReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_propID","type":"bytes32"}],"name":"canBeSet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_propID","type":"bytes32"}],"name":"propExists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_propID","type":"bytes32"}],"name":"challengeCanBeResolved","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_challengeID","type":"uint256"}],"name":"challengeWinnerReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"get","outputs":[{"name":"value","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_challengeID","type":"uint256"},{"name":"_voter","type":"address"}],"name":"tokenClaims","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x606060405262093a8060055534156200001757600080fd5b6040516101c080620036e4833981016040528080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919080519060200190919050508d600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508c600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001816040805190810160405280600a81526020017f6d696e4465706f736974000000000000000000000000000000000000000000008152508d6200053c640100000000026200285b176401000000009004565b620001d66040805190810160405280600b81526020017f704d696e4465706f7369740000000000000000000000000000000000000000008152508c6200053c640100000000026200285b176401000000009004565b6200022b6040805190810160405280600d81526020017f6170706c7953746167654c656e000000000000000000000000000000000000008152508b6200053c640100000000026200285b176401000000009004565b620002806040805190810160405280600e81526020017f704170706c7953746167654c656e0000000000000000000000000000000000008152508a6200053c640100000000026200285b176401000000009004565b620002d56040805190810160405280600e81526020017f636f6d6d697453746167654c656e000000000000000000000000000000000000815250896200053c640100000000026200285b176401000000009004565b6200032a6040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250886200053c640100000000026200285b176401000000009004565b6200037f6040805190810160405280600e81526020017f72657665616c53746167654c656e000000000000000000000000000000000000815250876200053c640100000000026200285b176401000000009004565b620003d46040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250866200053c640100000000026200285b176401000000009004565b620004296040805190810160405280600f81526020017f64697370656e736174696f6e5063740000000000000000000000000000000000815250856200053c640100000000026200285b176401000000009004565b6200047e6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250846200053c640100000000026200285b176401000000009004565b620004d36040805190810160405280600a81526020017f766f746551756f72756d00000000000000000000000000000000000000000000815250836200053c640100000000026200285b176401000000009004565b620005286040805190810160405280600b81526020017f70566f746551756f72756d000000000000000000000000000000000000000000815250826200053c640100000000026200285b176401000000009004565b5050505050505050505050505050620005c3565b80600080846040518082805190602001908083835b60208310151562000578578051825260208201915060208101905060208303925062000551565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b61311180620005d36000396000f3006060604052600436106100f0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806229514f146100f557806330490e911461011e57806332ed5b1214610145578063353009901461023b578063504115521461027a578063693ec85e146102b157806377609a41146103225780638240ae4b1461036157806386bb8f371461039c5780638f1d3776146103c8578063a5ba3b1e1461044b578063a7aad3db146104a5578063bade1c5414610504578063c51131fb14610586578063dc6ab527146105c5578063fc0c546a14610600578063fce1ccca14610655575b600080fd5b341561010057600080fd5b6101086106aa565b6040518082815260200191505060405180910390f35b341561012957600080fd5b6101436004808035600019169060200190919050506106b0565b005b341561015057600080fd5b61016a600480803560001916906020019091905050610dcf565b60405180888152602001878152602001868152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156101fa5780820151818401526020810190506101df565b50505050905090810190601f1680156102275780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b341561024657600080fd5b610260600480803560001916906020019091905050610ec9565b604051808215151515815260200191505060405180910390f35b341561028557600080fd5b61029b6004808035906020019091905050610ef3565b6040518082815260200191505060405180910390f35b34156102bc57600080fd5b61030c600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610ffe565b6040518082815260200191505060405180910390f35b341561032d57600080fd5b610347600480803560001916906020019091905050611084565b604051808215151515815260200191505060405180910390f35b341561036c57600080fd5b610386600480803560001916906020019091905050611375565b6040518082815260200191505060405180910390f35b34156103a757600080fd5b6103c66004808035906020019091908035906020019091905050611a2f565b005b34156103d357600080fd5b6103e96004808035906020019091905050611dbb565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b341561045657600080fd5b61048b600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e1e565b604051808215151515815260200191505060405180910390f35b34156104b057600080fd5b6104ee600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611e89565b6040518082815260200191505060405180910390f35b341561050f57600080fd5b610568600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050611fc0565b60405180826000191660001916815260200191505060405180910390f35b341561059157600080fd5b6105ab60048080356000191690602001909190505061266c565b604051808215151515815260200191505060405180910390f35b34156105d057600080fd5b6105ea6004808035600019169060200190919050506127f7565b6040518082815260200191505060405180910390f35b341561060b57600080fd5b61061361280f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066057600080fd5b610668612835565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60055481565b600080600060026000856000191660001916815260200190815260200160002092508260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506107098461266c565b156109ed576107b8836003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107a95780601f1061077e576101008083540402835291602001916107a9565b820191906000526020600020905b81548152906001019060200180831161078c57829003601f168201915b5050505050846006015461285b565b83600019167f37f3986c71e1aa2c470cfc4a92af70820610c3065589d35ef1664ea27f3e73a584600301856006015460405180806020018381526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156108765780601f1061084b57610100808354040283529160200191610876565b820191906000526020600020905b81548152906001019060200180831161085957829003601f168201915b5050935050505060405180910390a2600260008560001916600019168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006108c99190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156109c657600080fd5b5af115156109d357600080fd5b5050506040518051905015156109e857600080fd5b610bb5565b6109f684611084565b15610a0957610a04846128e0565b610bb4565b8260050154421115610bae5783600019167f29026cb2acebe6d0a4b6d593ccadf76e3fc6d0a02254e078b0c4a619608089d760405160405180910390a260026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610a8a9190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610b8757600080fd5b5af11515610b9457600080fd5b505050604051805190501515610ba957600080fd5b610bb3565b600080fd5b5b5b6064610bf56040805190810160405280600f81526020017f64697370656e736174696f6e5063740000000000000000000000000000000000815250610ffe565b11151515610bff57fe5b6064610c3f6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250610ffe565b11151515610c4957fe5b610d4b600554610d3d610c906040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b610d2f610cd16040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b610d21610d126040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b5060026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610d909190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560058201600090556006820160009055505050505050565b6002602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e8d5780601f10610e6257610100808354040283529160200191610e8d565b820191906000526020600020905b815481529060010190602001808311610e7057829003601f168201915b5050505050908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060154905087565b60008060026000846000191660001916815260200190815260200160002060050154119050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610f8657600080fd5b5af11515610f9357600080fd5b505050604051805190501415610fc45760016000838152602001908152602001600020600201546002029050610ff9565b600160008381526020019081526020016000206000015460016000848152602001908152602001600020600201546002020390505b919050565b6000806000836040518082805190602001908083835b6020831015156110395780518252602082019150602081019050602083039250611014565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b600061108e612f8a565b611096612fe4565b60026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111745780601f1061114957610100808354040283529160200191611174565b820191906000526020600020905b81548152906001019060200180831161115757829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509150600160008360200151815260200190815260200160002060a06040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff16151515158152602001600282015481526020016003820154815250509050600082602001511180156112b957506000151581604001511515145b801561136c5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee68483083602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561135457600080fd5b5af1151561136157600080fd5b505050604051805190505b92505050919050565b600061137f612f8a565b60008060008060026000886000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114635780601f1061143857610100808354040283529160200191611463565b820191906000526020600020905b81548152906001019060200180831161144657829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509450846040015193506114e887610ec9565b80156114f8575060008560200151145b151561150357600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d6061157f6040805190810160405280600b81526020017f70566f746551756f72756d000000000000000000000000000000000000000000815250610ffe565b6115bd6040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b6115fb6040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b151561165a57600080fd5b5af1151561166757600080fd5b50505060405180519050925060a0604051908101604052806116ec60646116de886116d060646116cb6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250610ffe565b612edb565b612ef490919063ffffffff16565b612f2790919063ffffffff16565b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018581526020016000815250600160008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff02191690831515021790555060608201518160020155608082015181600301559050508260026000896000191660001916815260200190815260200160002060010181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156118d757600080fd5b5af115156118e457600080fd5b5050506040518051905015156118f957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b151561198957600080fd5b5af1151561199657600080fd5b50505060405180519060200180519060200180519060200180519060200180519050505050915091503373ffffffffffffffffffffffffffffffffffffffff1687600019167fe94e3086c4bfe84acba4437b85a80fca3721dfc419d1f7afe4fa4e470e670b4885858560405180848152602001838152602001828152602001935050505060405180910390a38295505050505050919050565b600080600015156001600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611aa557600080fd5b600115156001600086815260200190815260200160002060010160149054906101000a900460ff161515141515611adb57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611ba757600080fd5b5af11515611bb457600080fd5b505050604051805190509150611bcb338585611e89565b9050816001600086815260200190815260200160002060030160008282540392505081905550806001600086815260200190815260200160002060000160008282540392505081905550600180600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611d9357600080fd5b5af11515611da057600080fd5b505050604051805190501515611db557600080fd5b50505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b60006001600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806000806001600087815260200190815260200160002060030154925060016000878152602001908152602001600020600001549150600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611f8d57600080fd5b5af11515611f9a57600080fd5b50505060405180519050905082828202811515611fb357fe5b0493505050509392505050565b60008060006120036040805190810160405280600b81526020017f704d696e4465706f736974000000000000000000000000000000000000000000815250610ffe565b915084846040518083805190602001908083835b60208310151561203c5780518252602082019150602081019050602083039250612017565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040518091039020905060405180807f64697370656e736174696f6e5063740000000000000000000000000000000000815250600f019050604051809103902060001916856040518082805190602001908083835b6020831015156120e257805182526020820191506020810190506020830392506120bd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614806121bd575060405180807f7044697370656e736174696f6e506374000000000000000000000000000000008152506010019050604051809103902060001916856040518082805190602001908083835b60208310151561218a5780518252602082019150602081019050602083039250612165565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916145b156121d357606484111515156121d257600080fd5b5b6121dc81610ec9565b1515156121e857600080fd5b836121f286610ffe565b141515156121ff57600080fd5b60e06040519081016040528061225b61224c6040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b8152602001600081526020018381526020018681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016123916005546123836122d66040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b6123756123176040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b6123676123586040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b81526020018581525060026000836000191660001916815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030190805190602001906123ef92919061302c565b5060808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060155905050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561254657600080fd5b5af1151561255357600080fd5b50505060405180519050151561256857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb25bdef16105f099e5c185f9c7fd969571e8e0caa3f7bd75409512fe0a41a60b868684866002600088600019166000191681526020019081526020016000206000015460405180806020018681526020018560001916600019168152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b83811015612623578082015181840152602081019050612608565b50505050905090810190601f1680156126505780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b6000612676612f8a565b60026000846000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127545780601f1061272957610100808354040283529160200191612754565b820191906000526020600020905b81548152906001019060200180831161273757829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820154815260200160068201548152505090508060000151421180156127df57508060a0015142105b80156127ef575060008160200151145b915050919050565b60006020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600080846040518082805190602001908083835b6020831015156128955780518252602082019150602081019050602083039250612870565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b6128e8612f8a565b60008060026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129c95780601f1061299e576101008083540402835291602001916129c9565b820191906000526020600020905b8154815290600101906020018083116129ac57829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160058201548152602001600682015481525050925060016000846020015181526020019081526020016000209150612a648360200151610ef3565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a684602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612afa57600080fd5b5af11515612b0757600080fd5b50505060405180519050826003018190555060018260010160146101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634940318384602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612bca57600080fd5b5af11515612bd757600080fd5b5050506040518051905015612d4557428360a001511115612c0557612c0483606001518460c0015161285b565b5b826020015184600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c184600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460800151836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612d1e57600080fd5b5af11515612d2b57600080fd5b505050604051805190501515612d4057600080fd5b612eb7565b826020015184600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe684600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160008660200151815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612e9457600080fd5b5af11515612ea157600080fd5b505050604051805190501515612eb657600080fd5b5b50505050565b6000808284019050838110151515612ed157fe5b8091505092915050565b6000828211151515612ee957fe5b818303905092915050565b60008082840290506000841480612f155750828482811515612f1257fe5b04145b1515612f1d57fe5b8091505092915050565b6000808284811515612f3557fe5b0490508091505092915050565b50805460018160011615610100020316600290046000825580601f10612f685750612f87565b601f016020900490600052602060002090810190612f8691906130ac565b5b50565b60e060405190810160405280600081526020016000815260200160008152602001612fb36130d1565b8152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60a06040519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061306d57805160ff191683800117855561309b565b8280016001018555821561309b579182015b8281111561309a57825182559160200191906001019061307f565b5b5090506130a891906130ac565b5090565b6130ce91905b808211156130ca5760008160009055506001016130b2565b5090565b90565b6020604051908101604052806000815250905600a165627a7a72305820992f760400da720b0e810adf33927931de8f70f9aab1aa2524e288ad8a20bb400029","deployedBytecode":"0x6060604052600436106100f0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806229514f146100f557806330490e911461011e57806332ed5b1214610145578063353009901461023b578063504115521461027a578063693ec85e146102b157806377609a41146103225780638240ae4b1461036157806386bb8f371461039c5780638f1d3776146103c8578063a5ba3b1e1461044b578063a7aad3db146104a5578063bade1c5414610504578063c51131fb14610586578063dc6ab527146105c5578063fc0c546a14610600578063fce1ccca14610655575b600080fd5b341561010057600080fd5b6101086106aa565b6040518082815260200191505060405180910390f35b341561012957600080fd5b6101436004808035600019169060200190919050506106b0565b005b341561015057600080fd5b61016a600480803560001916906020019091905050610dcf565b60405180888152602001878152602001868152602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848152602001838152602001828103825286818151815260200191508051906020019080838360005b838110156101fa5780820151818401526020810190506101df565b50505050905090810190601f1680156102275780820380516001836020036101000a031916815260200191505b509850505050505050505060405180910390f35b341561024657600080fd5b610260600480803560001916906020019091905050610ec9565b604051808215151515815260200191505060405180910390f35b341561028557600080fd5b61029b6004808035906020019091905050610ef3565b6040518082815260200191505060405180910390f35b34156102bc57600080fd5b61030c600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610ffe565b6040518082815260200191505060405180910390f35b341561032d57600080fd5b610347600480803560001916906020019091905050611084565b604051808215151515815260200191505060405180910390f35b341561036c57600080fd5b610386600480803560001916906020019091905050611375565b6040518082815260200191505060405180910390f35b34156103a757600080fd5b6103c66004808035906020019091908035906020019091905050611a2f565b005b34156103d357600080fd5b6103e96004808035906020019091905050611dbb565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b341561045657600080fd5b61048b600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611e1e565b604051808215151515815260200191505060405180910390f35b34156104b057600080fd5b6104ee600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091908035906020019091905050611e89565b6040518082815260200191505060405180910390f35b341561050f57600080fd5b610568600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050611fc0565b60405180826000191660001916815260200191505060405180910390f35b341561059157600080fd5b6105ab60048080356000191690602001909190505061266c565b604051808215151515815260200191505060405180910390f35b34156105d057600080fd5b6105ea6004808035600019169060200190919050506127f7565b6040518082815260200191505060405180910390f35b341561060b57600080fd5b61061361280f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561066057600080fd5b610668612835565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60055481565b600080600060026000856000191660001916815260200190815260200160002092508260040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506107098461266c565b156109ed576107b8836003018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107a95780601f1061077e576101008083540402835291602001916107a9565b820191906000526020600020905b81548152906001019060200180831161078c57829003601f168201915b5050505050846006015461285b565b83600019167f37f3986c71e1aa2c470cfc4a92af70820610c3065589d35ef1664ea27f3e73a584600301856006015460405180806020018381526020018281038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156108765780601f1061084b57610100808354040283529160200191610876565b820191906000526020600020905b81548152906001019060200180831161085957829003601f168201915b5050935050505060405180910390a2600260008560001916600019168152602001908152602001600020600080820160009055600182016000905560028201600090556003820160006108c99190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156109c657600080fd5b5af115156109d357600080fd5b5050506040518051905015156109e857600080fd5b610bb5565b6109f684611084565b15610a0957610a04846128e0565b610bb4565b8260050154421115610bae5783600019167f29026cb2acebe6d0a4b6d593ccadf76e3fc6d0a02254e078b0c4a619608089d760405160405180910390a260026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610a8a9190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600582016000905560068201600090555050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515610b8757600080fd5b5af11515610b9457600080fd5b505050604051805190501515610ba957600080fd5b610bb3565b600080fd5b5b5b6064610bf56040805190810160405280600f81526020017f64697370656e736174696f6e5063740000000000000000000000000000000000815250610ffe565b11151515610bff57fe5b6064610c3f6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250610ffe565b11151515610c4957fe5b610d4b600554610d3d610c906040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b610d2f610cd16040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b610d21610d126040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b5060026000856000191660001916815260200190815260200160002060008082016000905560018201600090556002820160009055600382016000610d909190612f42565b6004820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905560058201600090556006820160009055505050505050565b6002602052806000526040600020600091509050806000015490806001015490806002015490806003018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610e8d5780601f10610e6257610100808354040283529160200191610e8d565b820191906000526020600020905b815481529060010190602001808311610e7057829003601f168201915b5050505050908060040160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060050154908060060154905087565b60008060026000846000191660001916815260200190815260200160002060050154119050919050565b600080600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610f8657600080fd5b5af11515610f9357600080fd5b505050604051805190501415610fc45760016000838152602001908152602001600020600201546002029050610ff9565b600160008381526020019081526020016000206000015460016000848152602001908152602001600020600201546002020390505b919050565b6000806000836040518082805190602001908083835b6020831015156110395780518252602082019150602081019050602083039250611014565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b600061108e612f8a565b611096612fe4565b60026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156111745780601f1061114957610100808354040283529160200191611174565b820191906000526020600020905b81548152906001019060200180831161115757829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509150600160008360200151815260200190815260200160002060a06040519081016040529081600082015481526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff16151515158152602001600282015481526020016003820154815250509050600082602001511180156112b957506000151581604001511515145b801561136c5750600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee68483083602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561135457600080fd5b5af1151561136157600080fd5b505050604051805190505b92505050919050565b600061137f612f8a565b60008060008060026000886000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156114635780601f1061143857610100808354040283529160200191611463565b820191906000526020600020905b81548152906001019060200180831161144657829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600582015481526020016006820154815250509450846040015193506114e887610ec9565b80156114f8575060008560200151145b151561150357600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d6061157f6040805190810160405280600b81526020017f70566f746551756f72756d000000000000000000000000000000000000000000815250610ffe565b6115bd6040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b6115fb6040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b6040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b151561165a57600080fd5b5af1151561166757600080fd5b50505060405180519050925060a0604051908101604052806116ec60646116de886116d060646116cb6040805190810160405280601081526020017f7044697370656e736174696f6e50637400000000000000000000000000000000815250610ffe565b612edb565b612ef490919063ffffffff16565b612f2790919063ffffffff16565b81526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016000151581526020018581526020016000815250600160008581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff02191690831515021790555060608201518160020155608082015181600301559050508260026000896000191660001916815260200190815260200160002060010181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156118d757600080fd5b5af115156118e457600080fd5b5050506040518051905015156118f957600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b151561198957600080fd5b5af1151561199657600080fd5b50505060405180519060200180519060200180519060200180519060200180519050505050915091503373ffffffffffffffffffffffffffffffffffffffff1687600019167fe94e3086c4bfe84acba4437b85a80fca3721dfc419d1f7afe4fa4e470e670b4885858560405180848152602001838152602001828152602001935050505060405180910390a38295505050505050919050565b600080600015156001600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515611aa557600080fd5b600115156001600086815260200190815260200160002060010160149054906101000a900460ff161515141515611adb57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611ba757600080fd5b5af11515611bb457600080fd5b505050604051805190509150611bcb338585611e89565b9050816001600086815260200190815260200160002060030160008282540392505081905550806001600086815260200190815260200160002060000160008282540392505081905550600180600086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055503373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611d9357600080fd5b5af11515611da057600080fd5b505050604051805190501515611db557600080fd5b50505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b60006001600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000806000806001600087815260200190815260200160002060030154925060016000878152602001908152602001600020600001549150600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611f8d57600080fd5b5af11515611f9a57600080fd5b50505060405180519050905082828202811515611fb357fe5b0493505050509392505050565b60008060006120036040805190810160405280600b81526020017f704d696e4465706f736974000000000000000000000000000000000000000000815250610ffe565b915084846040518083805190602001908083835b60208310151561203c5780518252602082019150602081019050602083039250612017565b6001836020036101000a038019825116818451168082178552505050505050905001828152602001925050506040518091039020905060405180807f64697370656e736174696f6e5063740000000000000000000000000000000000815250600f019050604051809103902060001916856040518082805190602001908083835b6020831015156120e257805182526020820191506020810190506020830392506120bd565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191614806121bd575060405180807f7044697370656e736174696f6e506374000000000000000000000000000000008152506010019050604051809103902060001916856040518082805190602001908083835b60208310151561218a5780518252602082019150602081019050602083039250612165565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916145b156121d357606484111515156121d257600080fd5b5b6121dc81610ec9565b1515156121e857600080fd5b836121f286610ffe565b141515156121ff57600080fd5b60e06040519081016040528061225b61224c6040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b8152602001600081526020018381526020018681526020013373ffffffffffffffffffffffffffffffffffffffff1681526020016123916005546123836122d66040805190810160405280600f81526020017f7052657665616c53746167654c656e0000000000000000000000000000000000815250610ffe565b6123756123176040805190810160405280600f81526020017f70436f6d6d697453746167654c656e0000000000000000000000000000000000815250610ffe565b6123676123586040805190810160405280600e81526020017f704170706c7953746167654c656e000000000000000000000000000000000000815250610ffe565b42612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b612ebd90919063ffffffff16565b81526020018581525060026000836000191660001916815260200190815260200160002060008201518160000155602082015181600101556040820151816002015560608201518160030190805190602001906123ef92919061302c565b5060808201518160040160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060a0820151816005015560c08201518160060155905050600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561254657600080fd5b5af1151561255357600080fd5b50505060405180519050151561256857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff167fb25bdef16105f099e5c185f9c7fd969571e8e0caa3f7bd75409512fe0a41a60b868684866002600088600019166000191681526020019081526020016000206000015460405180806020018681526020018560001916600019168152602001848152602001838152602001828103825287818151815260200191508051906020019080838360005b83811015612623578082015181840152602081019050612608565b50505050905090810190601f1680156126505780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a2809250505092915050565b6000612676612f8a565b60026000846000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156127545780601f1061272957610100808354040283529160200191612754565b820191906000526020600020905b81548152906001019060200180831161273757829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016005820154815260200160068201548152505090508060000151421180156127df57508060a0015142105b80156127ef575060008160200151145b915050919050565b60006020528060005260406000206000915090505481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b80600080846040518082805190602001908083835b6020831015156128955780518252602082019150602081019050602083039250612870565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055505050565b6128e8612f8a565b60008060026000856000191660001916815260200190815260200160002060e06040519081016040529081600082015481526020016001820154815260200160028201548152602001600382018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156129c95780601f1061299e576101008083540402835291602001916129c9565b820191906000526020600020905b8154815290600101906020018083116129ac57829003601f168201915b505050505081526020016004820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160058201548152602001600682015481525050925060016000846020015181526020019081526020016000209150612a648360200151610ef3565b9050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a684602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612afa57600080fd5b5af11515612b0757600080fd5b50505060405180519050826003018190555060018260010160146101000a81548160ff021916908315150217905550600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634940318384602001516040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612bca57600080fd5b5af11515612bd757600080fd5b5050506040518051905015612d4557428360a001511115612c0557612c0483606001518460c0015161285b565b5b826020015184600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c184600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8460800151836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612d1e57600080fd5b5af11515612d2b57600080fd5b505050604051805190501515612d4057600080fd5b612eb7565b826020015184600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe684600001548560030154604051808381526020018281526020019250505060405180910390a3600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb600160008660200151815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612e9457600080fd5b5af11515612ea157600080fd5b505050604051805190501515612eb657600080fd5b5b50505050565b6000808284019050838110151515612ed157fe5b8091505092915050565b6000828211151515612ee957fe5b818303905092915050565b60008082840290506000841480612f155750828482811515612f1257fe5b04145b1515612f1d57fe5b8091505092915050565b6000808284811515612f3557fe5b0490508091505092915050565b50805460018160011615610100020316600290046000825580601f10612f685750612f87565b601f016020900490600052602060002090810190612f8691906130ac565b5b50565b60e060405190810160405280600081526020016000815260200160008152602001612fb36130d1565b8152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160008152602001600081525090565b60a06040519081016040528060008152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200160008152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061306d57805160ff191683800117855561309b565b8280016001018555821561309b579182015b8281111561309a57825182559160200191906001019061307f565b5b5090506130a891906130ac565b5090565b6130ce91905b808211156130ca5760008160009055506001016130b2565b5090565b90565b6020604051908101604052806000815250905600a165627a7a72305820992f760400da720b0e810adf33927931de8f70f9aab1aa2524e288ad8a20bb400029","sourceMap":"141:14336:1:-;;;2013:6;1989:30;;3265:1003;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3681:10;3658:5;;:34;;;;;;;;;;;;;;;;;;3720:9;3700:6;;:30;;;;;;;;;;;;;;;;;;3739;;;;;;;;;;;;;;;;;;;3757:11;3739:3;;;;;:30;;;:::i;:::-;3777:32;;;;;;;;;;;;;;;;;;;3796:12;3777:3;;;;;:32;;;:::i;:::-;3817:36;;;;;;;;;;;;;;;;;;;3838:14;3817:3;;;;;:36;;;:::i;:::-;3861:38;;;;;;;;;;;;;;;;;;;3883:15;3861:3;;;;;:38;;;:::i;:::-;3907;;;;;;;;;;;;;;;;;;;3929:15;3907:3;;;;;:38;;;:::i;:::-;3953:40;;;;;;;;;;;;;;;;;;;3976:16;3953:3;;;;;:40;;;:::i;:::-;4001:38;;;;;;;;;;;;;;;;;;;4023:15;4001:3;;;;;:38;;;:::i;:::-;4047:40;;;;;;;;;;;;;;;;;;;4070:16;4047:3;;;;;:40;;;:::i;:::-;4095;;;;;;;;;;;;;;;;;;;4118:16;4095:3;;;;;:40;;;:::i;:::-;4143:42;;;;;;;;;;;;;;;;;;;4167:17;4143:3;;;;;:42;;;:::i;:::-;4193:30;;;;;;;;;;;;;;;;;;;4211:11;4193:3;;;;;:30;;;:::i;:::-;4231:32;;;;;;;;;;;;;;;;;;;4250:12;4231:3;;;;;:32;;;:::i;:::-;3265:1003;;;;;;;;;;;;;;141:14336;;14383:92;14464:6;14437;:24;14454:5;14444:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;14444:16:1;;;;;;;;;;;;;;;;14437:24;;;;;;;;;;;;;;;;;:33;;;;14383:92;;:::o;141:14336::-;;;;;;;","deployedSourceMap":"141:14336:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1989:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7056:1601;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1853:50;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;1853:50:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11178:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11940:369;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12465:102;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11459:313;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5788:973;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8882:898;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1747:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12782:145;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10236:361;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4563:1084;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10814:204;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1652:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1930:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1961:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1989:30;;;;:::o;7056:1601::-;7111:26;7164:17;7200:16;7140:9;:18;7150:7;7140:18;;;;;;;;;;;;;;;;;7111:47;;7184:4;:10;;;;;;;;;;;;7164:30;;7219:4;:12;;;7200:31;;7416:17;7425:7;7416:8;:17::i;:::-;7412:909;;;7603:26;7607:4;:9;;7603:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7618:4;:10;;;7603:3;:26::i;:::-;7655:7;7637:49;;;;7664:4;:9;;7675:4;:10;;;7637:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7701:9;:18;7711:7;7701:18;;;;;;;;;;;;;;;;;;7694:25;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7735:5;;;;;;;;;;;:14;;;7750:9;7761:11;7735:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7727:47;;;;;;;;7412:909;;;7791:31;7814:7;7791:22;:31::i;:::-;7787:534;;;7884:25;7901:7;7884:16;:25::i;:::-;7787:534;;;7932:4;:14;;;7926:3;:20;7922:399;;;8061:7;8044:25;;;;;;;;;;;;;8084:9;:18;8094:7;8084:18;;;;;;;;;;;;;;;;;;8077:25;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8118:5;;;;;;;;;;;:14;;;8133:9;8144:11;8118:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8110:47;;;;;;;;7922:399;;;8306:8;;;7922:399;7787:534;7412:909;8360:3;8334:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;:29;;8327:37;;;;;;8404:3;8377:23;;;;;;;;;;;;;;;;;;;:3;:23::i;:::-;:30;;8370:38;;;;;;8498:122;8610:9;;8498:100;8575:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;8498:65;8540:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;8498:30;8506:21;;;;;;;;;;;;;;;;;;;:3;:21::i;:::-;8498:3;:7;;:30;;;;:::i;:::-;:41;;:65;;;;:::i;:::-;:76;;:100;;;;:::i;:::-;:111;;:122;;;;:::i;:::-;;8634:9;:18;8644:7;8634:18;;;;;;;;;;;;;;;;;;8627:25;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7056:1601;;;;:::o;1853:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;11178:114::-;11236:4;11286:1;11255:9;:18;11265:7;11255:18;;;;;;;;;;;;;;;;;:28;;;:32;11248:39;;11178:114;;;:::o;11940:369::-;12011:4;12089:1;12026:6;;;;;;;;;;;:45;;;12072:12;12026:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:64;12023:194;;;12180:10;:24;12191:12;12180:24;;;;;;;;;;;:30;;;12176:1;:34;12169:41;;;;12023:194;12269:10;:24;12280:12;12269:24;;;;;;;;;;;:35;;;12235:10;:24;12246:12;12235:24;;;;;;;;;;;:30;;;12231:1;:34;12230:74;12223:81;;11940:369;;;;:::o;12465:102::-;12513:10;12538:6;:24;12555:5;12545:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;12545:16:1;;;;;;;;;;;;;;;;12538:24;;;;;;;;;;;;;;;;;;12531:31;;12465:102;;;:::o;11459:313::-;11529:4;11541:25;;:::i;:::-;11593:26;;:::i;:::-;11569:9;:18;11579:7;11569:18;;;;;;;;;;;;;;;;;11541:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11622:10;:28;11633:4;:16;;;11622:28;;;;;;;;;;;11593:57;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11684:1;11665:4;:16;;;:20;:51;;;;;11711:5;11689:27;;:9;:18;;;:27;;;11665:51;:101;;;;;11732:6;;;;;;;;;;;:16;;;11749:4;:16;;;11732:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11665:101;11657:110;;11459:313;;;;;:::o;5788:973::-;5858:16;5882:25;;:::i;:::-;5934:12;6045:11;6603:13;6618;5910:9;:18;5920:7;5910:18;;;;;;;;;;;;;;;;;5882:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5949:4;:12;;;5934:27;;5976:19;5987:7;5976:10;:19::i;:::-;:44;;;;;6019:1;5999:4;:16;;;:21;5976:44;5968:53;;;;;;;;6059:6;;;;;;;;;;;:16;;;6083:18;;;;;;;;;;;;;;;;;;;:3;:18::i;:::-;6109:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;6139;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;6059:108;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6045:122;;6195:200;;;;;;;;;6255:64;6315:3;6255:55;6302:7;6255:42;6268:3;6273:23;;;;;;;;;;;;;;;;;;;:3;:23::i;:::-;6255:12;:42::i;:::-;:46;;:55;;;;:::i;:::-;:59;;:64;;;;:::i;:::-;6195:200;;;;6225:10;6195:200;;;;;;6359:5;6195:200;;;;;;6334:7;6195:200;;;;6387:1;6195:200;;;6174:10;:18;6185:6;6174:18;;;;;;;;;;;:221;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6435:6;6402:9;:18;6412:7;6402:18;;;;;;;;;;;;;;;;;:30;;:39;;;;6545:5;;;;;;;;;;;:18;;;6564:10;6576:4;6582:7;6545:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6537:54;;;;;;;;6636:6;;;;;;;;;;;:14;;;6651:6;6636:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6598:60;;;;;;;6726:10;6665:72;;6679:7;6665:72;;;;6688:6;6696:13;6711;6665:72;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6750:6;6743:13;;5788:973;;;;;;;;:::o;8882:898::-;9169:16;9253:11;9100:5;9048:57;;:10;:24;9059:12;9048:24;;;;;;;;;;;:36;;:48;9085:10;9048:48;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;9040:66;;;;;;;;9157:4;9120:41;;:10;:24;9131:12;9120:24;;;;;;;;;;;:33;;;;;;;;;;;;:41;;;9112:50;;;;;;;;9188:6;;;;;;;;;;;:26;;;9215:10;9227:12;9241:5;9188:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9169:78;;9267:44;9279:10;9291:12;9305:5;9267:11;:44::i;:::-;9253:58;;9498:11;9456:10;:24;9467:12;9456:24;;;;;;;;;;;:38;;;:53;;;;;;;;;;;9554:6;9515:10;:24;9526:12;9515:24;;;;;;;;;;;:35;;;:45;;;;;;;;;;;9667:4;9616:10;:24;9627:12;9616:24;;;;;;;;;;;:36;;:48;9653:10;9616:48;;;;;;;;;;;;;;;;:55;;;;;;;;;;;;;;;;;;9715:10;9678:48;;9693:12;9678:48;9707:6;9678:48;;;;;;;;;;;;;;;;;;9740:5;;;;;;;;;;;:14;;;9755:10;9767:6;9740:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9732:43;;;;;;;;8882:898;;;;:::o;1747:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;12782:145::-;12859:4;12878:10;:24;12889:12;12878:24;;;;;;;;;;;:36;;:44;12915:6;12878:44;;;;;;;;;;;;;;;;;;;;;;;;;12871:51;;12782:145;;;;:::o;10236:361::-;10327:4;10339:18;10404:15;10463:16;10360:10;:24;10371:12;10360:24;;;;;;;;;;;:38;;;10339:59;;10422:10;:24;10433:12;10422:24;;;;;;;;;;;:35;;;10404:53;;10482:6;;;;;;;;;;;:26;;;10509:6;10517:12;10531:5;10482:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10463:74;;10579:13;10565:10;10551:11;:24;10550:42;;;;;;;;10543:49;;10236:361;;;;;;;;:::o;4563:1084::-;4641:7;4656:12;4695:14;4671:18;;;;;;;;;;;;;;;;;;;:3;:18::i;:::-;4656:33;;4722:5;4729:6;4712:24;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4712:24:1;;;;;;;;;;;;;;;;;;;;;;4695:41;;4767:28;;;;;;;;;;;;;;;;;;;4747:48;;;4757:5;4747:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4747:16:1;;;;;;;;;;;;;;;;:48;;;;:108;;;;4826:29;;;;;;;;;;;;;;;;;;;4806:49;;;4816:5;4806:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;4806:16:1;;;;;;;;;;;;;;;;:49;;;;4747:108;4743:153;;;4885:3;4875:6;:13;;4867:22;;;;;;;;4743:153;4911:18;4922:6;4911:10;:18::i;:::-;4910:19;4902:28;;;;;;;;4988:6;4974:10;4978:5;4974:3;:10::i;:::-;:20;;4966:29;;;;;;;;5096:328;;;;;;;;;5129:30;5137:21;;;;;;;;;;;;;;;;;;;:3;:21::i;:::-;5129:3;:7;;:30;;;;:::i;:::-;5096:328;;;;5180:1;5096:328;;;;5198:7;5096:328;;;;5219:5;5096:328;;;;5239:10;5096:328;;;;;;5268:128;5386:9;;5268:104;5349:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;5268:67;5312:22;;;;;;;;;;;;;;;;;;;:3;:22::i;:::-;5268:30;5276:21;;;;;;;;;;;;;;;;;;;:3;:21::i;:::-;5268:3;:7;;:30;;;;:::i;:::-;:43;;:67;;;;:::i;:::-;:80;;:104;;;;:::i;:::-;:117;;:128;;;;:::i;:::-;5096:328;;;;5411:6;5096:328;;;5076:9;:17;5086:6;5076:17;;;;;;;;;;;;;;;;;:348;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5439:5;;;;;;;;;;;:18;;;5458:10;5470:4;5476:7;5439:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5431:54;;;;;;;;5612:10;5523:100;;;5551:5;5558:6;5566;5574:7;5583:9;:17;5593:6;5583:17;;;;;;;;;;;;;;;;;:27;;;5523:100;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;5523:100:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5636:6;5629:13;;4563:1084;;;;;;:::o;10814:204::-;10870:4;10882:25;;:::i;:::-;10910:9;:18;10920:7;10910:18;;;;;;;;;;;;;;;;;10882:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10949:4;:14;;;10943:3;:20;:44;;;;;10973:4;:14;;;10967:3;:20;10943:44;:69;;;;;11011:1;10991:4;:16;;;:21;10943:69;10935:78;;10814:204;;;;:::o;1652:38::-;;;;;;;;;;;;;;;;;:::o;1930:27::-;;;;;;;;;;;;;:::o;1961:24::-;;;;;;;;;;;;;:::o;14383:92::-;14464:6;14437;:24;14454:5;14444:16;;;;;;;;;;;;;36:153:-1;66:2;61:3;58:11;51:19;36:153;;;182:3;176:10;171:3;164:23;98:2;93:3;89:12;82:19;;123:2;118:3;114:12;107:19;;148:2;143:3;139:12;132:19;;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;14444:16:1;;;;;;;;;;;;;;;;14437:24;;;;;;;;;;;;;;;;;:33;;;;14383:92;;:::o;13204:993::-;13261:25;;:::i;:::-;13313:27;13463:11;13289:9;:18;13299:7;13289:18;;;;;;;;;;;;;;;;;13261:46;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13343:10;:28;13354:4;:16;;;13343:28;;;;;;;;;;;13313:58;;13477:39;13499:4;:16;;;13477:21;:39::i;:::-;13463:53;;13555:6;;;;;;;;;;;:45;;;13601:4;:16;;;13555:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13523:9;:23;;:95;;;;13645:4;13624:9;:18;;;:25;;;;;;;;;;;;;;;;;;13660:6;;;;;;;;;;;:15;;;13676:4;:16;;;13660:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13656:537;;;13747:3;13730:4;:14;;;:20;13727:70;;;13762:26;13766:4;:9;;;13777:4;:10;;;13762:3;:26::i;:::-;13727:70;13830:4;:16;;;13821:7;13804:90;;;;13848:9;:20;;;13870:9;:23;;;13804:90;;;;;;;;;;;;;;;;;;;;;;;;13910:5;;;;;;;;;;;:14;;;13925:4;:10;;;13937:6;13910:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13902:43;;;;;;;;13656:537;;;14042:4;:16;;;14033:7;14013:93;;;;14060:9;:20;;;14082:9;:23;;;14013:93;;;;;;;;;;;;;;;;;;;;;;;;14122:5;;;;;;;;;;;:14;;;14137:10;:28;14148:4;:16;;;14137:28;;;;;;;;;;;:39;;;;;;;;;;;;14178:6;14122:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14114:72;;;;;;;;13656:537;13204:993;;;;:::o;680:133:8:-;742:7;757:9;773:1;769;:5;757:17;;792:1;787;:6;;780:14;;;;;;807:1;800:8;;680:133;;;;;:::o;562:114::-;624:7;651:1;646;:6;;639:14;;;;;;670:1;666;:5;659:12;;562:114;;;;:::o;138:147::-;200:7;215:9;231:1;227;:5;215:17;;250:1;245;:6;:20;;;;264:1;259;255;:5;;;;;;;;:10;245:20;238:28;;;;;;279:1;272:8;;138:147;;;;;:::o;289:269::-;351:7;440:9;456:1;452;:5;;;;;;;;440:17;;552:1;545:8;;289:269;;;;;:::o;141:14336:1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o","source":"pragma solidity^0.4.11;\n\nimport \"plcrvoting/PLCRVoting.sol\";\nimport \"tokens/eip20/EIP20Interface.sol\";\nimport \"zeppelin/math/SafeMath.sol\";\n\ncontract Parameterizer {\n\n // ------\n // EVENTS\n // ------\n\n event _ReparameterizationProposal(string name, uint value, bytes32 propID, uint deposit, uint appEndDate, address indexed proposer);\n event _NewChallenge(bytes32 indexed propID, uint challengeID, uint commitEndDate, uint revealEndDate, address indexed challenger);\n event _ProposalAccepted(bytes32 indexed propID, string name, uint value);\n event _ProposalExpired(bytes32 indexed propID);\n event _ChallengeSucceeded(bytes32 indexed propID, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _ChallengeFailed(bytes32 indexed propID, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _RewardClaimed(uint indexed challengeID, uint reward, address indexed voter);\n\n\n // ------\n // DATA STRUCTURES\n // ------\n\n using SafeMath for uint;\n\n struct ParamProposal {\n uint appExpiry;\n uint challengeID;\n uint deposit;\n string name;\n address owner;\n uint processBy;\n uint value;\n }\n\n struct Challenge {\n uint rewardPool; // (remaining) pool of tokens distributed amongst winning voters\n address challenger; // owner of Challenge\n bool resolved; // indication of if challenge is resolved\n uint stake; // number of tokens at risk for either party during challenge\n uint winningTokens; // (remaining) amount of tokens used for voting by the winning side\n mapping(address => bool) tokenClaims;\n }\n\n // ------\n // STATE\n // ------\n\n mapping(bytes32 => uint) public params;\n\n // maps challengeIDs to associated challenge data\n mapping(uint => Challenge) public challenges;\n\n // maps pollIDs to intended data change if poll passes\n mapping(bytes32 => ParamProposal) public proposals;\n\n // Global Variables\n EIP20Interface public token;\n PLCRVoting public voting;\n uint public PROCESSBY = 604800; // 7 days\n\n // ------------\n // CONSTRUCTOR\n // ------------\n\n /**\n @dev constructor\n @param _tokenAddr address of the token which parameterizes this system\n @param _plcrAddr address of a PLCR voting contract for the provided token\n @param _minDeposit minimum deposit for listing to be whitelisted\n @param _pMinDeposit minimum deposit to propose a reparameterization\n @param _applyStageLen period over which applicants wait to be whitelisted\n @param _pApplyStageLen period over which reparmeterization proposals wait to be processed\n @param _dispensationPct percentage of losing party's deposit distributed to winning party\n @param _pDispensationPct percentage of losing party's deposit distributed to winning party in parameterizer\n @param _commitStageLen length of commit period for voting\n @param _pCommitStageLen length of commit period for voting in parameterizer\n @param _revealStageLen length of reveal period for voting\n @param _pRevealStageLen length of reveal period for voting in parameterizer\n @param _voteQuorum type of majority out of 100 necessary for vote success\n @param _pVoteQuorum type of majority out of 100 necessary for vote success in parameterizer\n */\n function Parameterizer(\n address _tokenAddr,\n address _plcrAddr,\n uint _minDeposit,\n uint _pMinDeposit,\n uint _applyStageLen,\n uint _pApplyStageLen,\n uint _commitStageLen,\n uint _pCommitStageLen,\n uint _revealStageLen,\n uint _pRevealStageLen,\n uint _dispensationPct,\n uint _pDispensationPct,\n uint _voteQuorum,\n uint _pVoteQuorum\n ) public {\n token = EIP20Interface(_tokenAddr);\n voting = PLCRVoting(_plcrAddr);\n\n set(\"minDeposit\", _minDeposit);\n set(\"pMinDeposit\", _pMinDeposit);\n set(\"applyStageLen\", _applyStageLen);\n set(\"pApplyStageLen\", _pApplyStageLen);\n set(\"commitStageLen\", _commitStageLen);\n set(\"pCommitStageLen\", _pCommitStageLen);\n set(\"revealStageLen\", _revealStageLen);\n set(\"pRevealStageLen\", _pRevealStageLen);\n set(\"dispensationPct\", _dispensationPct);\n set(\"pDispensationPct\", _pDispensationPct);\n set(\"voteQuorum\", _voteQuorum);\n set(\"pVoteQuorum\", _pVoteQuorum);\n }\n\n // -----------------------\n // TOKEN HOLDER INTERFACE\n // -----------------------\n\n /**\n @notice propose a reparamaterization of the key _name's value to _value.\n @param _name the name of the proposed param to be set\n @param _value the proposed value to set the param to be set\n */\n function proposeReparameterization(string _name, uint _value) public returns (bytes32) {\n uint deposit = get(\"pMinDeposit\");\n bytes32 propID = keccak256(_name, _value);\n\n if (keccak256(_name) == keccak256('dispensationPct') ||\n keccak256(_name) == keccak256('pDispensationPct')) {\n require(_value <= 100);\n }\n\n require(!propExists(propID)); // Forbid duplicate proposals\n require(get(_name) != _value); // Forbid NOOP reparameterizations\n\n // attach name and value to pollID\n proposals[propID] = ParamProposal({\n appExpiry: now.add(get(\"pApplyStageLen\")),\n challengeID: 0,\n deposit: deposit,\n name: _name,\n owner: msg.sender,\n processBy: now.add(get(\"pApplyStageLen\"))\n .add(get(\"pCommitStageLen\"))\n .add(get(\"pRevealStageLen\"))\n .add(PROCESSBY),\n value: _value\n });\n\n require(token.transferFrom(msg.sender, this, deposit)); // escrow tokens (deposit amt)\n\n _ReparameterizationProposal(_name, _value, propID, deposit, proposals[propID].appExpiry, msg.sender);\n return propID;\n }\n\n /**\n @notice challenge the provided proposal ID, and put tokens at stake to do so.\n @param _propID the proposal ID to challenge\n */\n function challengeReparameterization(bytes32 _propID) public returns (uint challengeID) {\n ParamProposal memory prop = proposals[_propID];\n uint deposit = prop.deposit;\n\n require(propExists(_propID) && prop.challengeID == 0);\n\n //start poll\n uint pollID = voting.startPoll(\n get(\"pVoteQuorum\"),\n get(\"pCommitStageLen\"),\n get(\"pRevealStageLen\")\n );\n\n challenges[pollID] = Challenge({\n challenger: msg.sender,\n rewardPool: SafeMath.sub(100, get(\"pDispensationPct\")).mul(deposit).div(100),\n stake: deposit,\n resolved: false,\n winningTokens: 0\n });\n\n proposals[_propID].challengeID = pollID; // update listing to store most recent challenge\n\n //take tokens from challenger\n require(token.transferFrom(msg.sender, this, deposit));\n\n var (commitEndDate, revealEndDate,) = voting.pollMap(pollID);\n\n _NewChallenge(_propID, pollID, commitEndDate, revealEndDate, msg.sender);\n return pollID;\n }\n\n /**\n @notice for the provided proposal ID, set it, resolve its challenge, or delete it depending on whether it can be set, has a challenge which can be resolved, or if its \"process by\" date has passed\n @param _propID the proposal ID to make a determination and state transition for\n */\n function processProposal(bytes32 _propID) public {\n ParamProposal storage prop = proposals[_propID];\n address propOwner = prop.owner;\n uint propDeposit = prop.deposit;\n\n \n // Before any token transfers, deleting the proposal will ensure that if reentrancy occurs the\n // prop.owner and prop.deposit will be 0, thereby preventing theft\n if (canBeSet(_propID)) {\n // There is no challenge against the proposal. The processBy date for the proposal has not\n // passed, but the proposal's appExpirty date has passed.\n set(prop.name, prop.value);\n _ProposalAccepted(_propID, prop.name, prop.value);\n delete proposals[_propID];\n require(token.transfer(propOwner, propDeposit));\n } else if (challengeCanBeResolved(_propID)) {\n // There is a challenge against the proposal.\n resolveChallenge(_propID);\n } else if (now > prop.processBy) {\n // There is no challenge against the proposal, but the processBy date has passed.\n _ProposalExpired(_propID);\n delete proposals[_propID];\n require(token.transfer(propOwner, propDeposit));\n } else {\n // There is no challenge against the proposal, and neither the appExpiry date nor the\n // processBy date has passed.\n revert();\n }\n\n assert(get(\"dispensationPct\") <= 100);\n assert(get(\"pDispensationPct\") <= 100);\n\n // verify that future proposal appExpiry and processBy times will not overflow\n now.add(get(\"pApplyStageLen\"))\n .add(get(\"pCommitStageLen\"))\n .add(get(\"pRevealStageLen\"))\n .add(PROCESSBY);\n\n delete proposals[_propID];\n }\n\n /**\n @notice claim the tokens owed for the msg.sender in the provided challenge\n @param _challengeID the challenge ID to claim tokens for\n @param _salt the salt used to vote in the challenge being withdrawn for\n */\n function claimReward(uint _challengeID, uint _salt) public {\n // ensure voter has not already claimed tokens and challenge results have been processed\n require(challenges[_challengeID].tokenClaims[msg.sender] == false);\n require(challenges[_challengeID].resolved == true);\n\n uint voterTokens = voting.getNumPassingTokens(msg.sender, _challengeID, _salt);\n uint reward = voterReward(msg.sender, _challengeID, _salt);\n\n // subtract voter's information to preserve the participation ratios of other voters\n // compared to the remaining pool of rewards\n challenges[_challengeID].winningTokens -= voterTokens;\n challenges[_challengeID].rewardPool -= reward;\n\n // ensures a voter cannot claim tokens again\n challenges[_challengeID].tokenClaims[msg.sender] = true;\n\n _RewardClaimed(_challengeID, reward, msg.sender);\n require(token.transfer(msg.sender, reward));\n }\n\n // --------\n // GETTERS\n // --------\n\n /**\n @dev Calculates the provided voter's token reward for the given poll.\n @param _voter The address of the voter whose reward balance is to be returned\n @param _challengeID The ID of the challenge the voter's reward is being calculated for\n @param _salt The salt of the voter's commit hash in the given poll\n @return The uint indicating the voter's reward\n */\n function voterReward(address _voter, uint _challengeID, uint _salt)\n public view returns (uint) {\n uint winningTokens = challenges[_challengeID].winningTokens;\n uint rewardPool = challenges[_challengeID].rewardPool;\n uint voterTokens = voting.getNumPassingTokens(_voter, _challengeID, _salt);\n return (voterTokens * rewardPool) / winningTokens;\n }\n\n /**\n @notice Determines whether a proposal passed its application stage without a challenge\n @param _propID The proposal ID for which to determine whether its application stage passed without a challenge\n */\n function canBeSet(bytes32 _propID) view public returns (bool) {\n ParamProposal memory prop = proposals[_propID];\n\n return (now > prop.appExpiry && now < prop.processBy && prop.challengeID == 0);\n }\n\n /**\n @notice Determines whether a proposal exists for the provided proposal ID\n @param _propID The proposal ID whose existance is to be determined\n */\n function propExists(bytes32 _propID) view public returns (bool) {\n return proposals[_propID].processBy > 0;\n }\n\n /**\n @notice Determines whether the provided proposal ID has a challenge which can be resolved\n @param _propID The proposal ID whose challenge to inspect\n */\n function challengeCanBeResolved(bytes32 _propID) view public returns (bool) {\n ParamProposal memory prop = proposals[_propID];\n Challenge memory challenge = challenges[prop.challengeID];\n\n return (prop.challengeID > 0 && challenge.resolved == false &&\n voting.pollEnded(prop.challengeID));\n }\n\n /**\n @notice Determines the number of tokens to awarded to the winning party in a challenge\n @param _challengeID The challengeID to determine a reward for\n */\n function challengeWinnerReward(uint _challengeID) public view returns (uint) {\n if(voting.getTotalNumberOfTokensForWinningOption(_challengeID) == 0) {\n // Edge case, nobody voted, give all tokens to the challenger.\n return 2 * challenges[_challengeID].stake;\n }\n\n return (2 * challenges[_challengeID].stake) - challenges[_challengeID].rewardPool;\n }\n\n /**\n @notice gets the parameter keyed by the provided name value from the params mapping\n @param _name the key whose value is to be determined\n */\n function get(string _name) public view returns (uint value) {\n return params[keccak256(_name)];\n }\n\n /**\n @dev Getter for Challenge tokenClaims mappings\n @param _challengeID The challengeID to query\n @param _voter The voter whose claim status to query for the provided challengeID\n */\n function tokenClaims(uint _challengeID, address _voter) public view returns (bool) {\n return challenges[_challengeID].tokenClaims[_voter];\n }\n\n // ----------------\n // PRIVATE FUNCTIONS\n // ----------------\n\n /**\n @dev resolves a challenge for the provided _propID. It must be checked in advance whether the _propID has a challenge on it\n @param _propID the proposal ID whose challenge is to be resolved.\n */\n function resolveChallenge(bytes32 _propID) private {\n ParamProposal memory prop = proposals[_propID];\n Challenge storage challenge = challenges[prop.challengeID];\n\n // winner gets back their full staked deposit, and dispensationPct*loser's stake\n uint reward = challengeWinnerReward(prop.challengeID);\n\n challenge.winningTokens =\n voting.getTotalNumberOfTokensForWinningOption(prop.challengeID);\n challenge.resolved = true;\n\n if (voting.isPassed(prop.challengeID)) { // The challenge failed\n if(prop.processBy > now) {\n set(prop.name, prop.value);\n }\n _ChallengeFailed(_propID, prop.challengeID, challenge.rewardPool, challenge.winningTokens);\n require(token.transfer(prop.owner, reward));\n }\n else { // The challenge succeeded or nobody voted\n _ChallengeSucceeded(_propID, prop.challengeID, challenge.rewardPool, challenge.winningTokens);\n require(token.transfer(challenges[prop.challengeID].challenger, reward));\n }\n }\n\n /**\n @dev sets the param keted by the provided name to the provided value\n @param _name the name of the param to be set\n @param _value the value to set the param to be set\n */\n function set(string _name, uint _value) private {\n params[keccak256(_name)] = _value;\n }\n}\n\n","sourcePath":"/media/op/w3/tcr/contracts/Parameterizer.sol","ast":{"absolutePath":"/media/op/w3/tcr/contracts/Parameterizer.sol","exportedSymbols":{"Parameterizer":[1047]},"id":1048,"nodeType":"SourceUnit","nodes":[{"id":59,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:23:1"},{"absolutePath":"plcrvoting/PLCRVoting.sol","file":"plcrvoting/PLCRVoting.sol","id":60,"nodeType":"ImportDirective","scope":1048,"sourceUnit":3525,"src":"25:35:1","symbolAliases":[],"unitAlias":""},{"absolutePath":"tokens/eip20/EIP20Interface.sol","file":"tokens/eip20/EIP20Interface.sol","id":61,"nodeType":"ImportDirective","scope":1048,"sourceUnit":3819,"src":"61:41:1","symbolAliases":[],"unitAlias":""},{"absolutePath":"zeppelin/math/SafeMath.sol","file":"zeppelin/math/SafeMath.sol","id":62,"nodeType":"ImportDirective","scope":1048,"sourceUnit":3914,"src":"103:36:1","symbolAliases":[],"unitAlias":""},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":1047,"linearizedBaseContracts":[1047],"name":"Parameterizer","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":null,"id":76,"name":"_ReparameterizationProposal","nodeType":"EventDefinition","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64,"indexed":false,"name":"name","nodeType":"VariableDeclaration","scope":76,"src":"240:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":63,"name":"string","nodeType":"ElementaryTypeName","src":"240:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":66,"indexed":false,"name":"value","nodeType":"VariableDeclaration","scope":76,"src":"253:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65,"name":"uint","nodeType":"ElementaryTypeName","src":"253:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":68,"indexed":false,"name":"propID","nodeType":"VariableDeclaration","scope":76,"src":"265:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67,"name":"bytes32","nodeType":"ElementaryTypeName","src":"265:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":70,"indexed":false,"name":"deposit","nodeType":"VariableDeclaration","scope":76,"src":"281:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69,"name":"uint","nodeType":"ElementaryTypeName","src":"281:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":72,"indexed":false,"name":"appEndDate","nodeType":"VariableDeclaration","scope":76,"src":"295:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint","nodeType":"ElementaryTypeName","src":"295:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":74,"indexed":true,"name":"proposer","nodeType":"VariableDeclaration","scope":76,"src":"312:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73,"name":"address","nodeType":"ElementaryTypeName","src":"312:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"239:98:1"},"src":"206:132:1"},{"anonymous":false,"documentation":null,"id":88,"name":"_NewChallenge","nodeType":"EventDefinition","parameters":{"id":87,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78,"indexed":true,"name":"propID","nodeType":"VariableDeclaration","scope":88,"src":"361:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":77,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":80,"indexed":false,"name":"challengeID","nodeType":"VariableDeclaration","scope":88,"src":"385:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79,"name":"uint","nodeType":"ElementaryTypeName","src":"385:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":82,"indexed":false,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":88,"src":"403:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81,"name":"uint","nodeType":"ElementaryTypeName","src":"403:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":84,"indexed":false,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":88,"src":"423:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83,"name":"uint","nodeType":"ElementaryTypeName","src":"423:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":86,"indexed":true,"name":"challenger","nodeType":"VariableDeclaration","scope":88,"src":"443:26:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85,"name":"address","nodeType":"ElementaryTypeName","src":"443:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"360:110:1"},"src":"341:130:1"},{"anonymous":false,"documentation":null,"id":96,"name":"_ProposalAccepted","nodeType":"EventDefinition","parameters":{"id":95,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90,"indexed":true,"name":"propID","nodeType":"VariableDeclaration","scope":96,"src":"498:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89,"name":"bytes32","nodeType":"ElementaryTypeName","src":"498:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":92,"indexed":false,"name":"name","nodeType":"VariableDeclaration","scope":96,"src":"522:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":91,"name":"string","nodeType":"ElementaryTypeName","src":"522:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":94,"indexed":false,"name":"value","nodeType":"VariableDeclaration","scope":96,"src":"535:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93,"name":"uint","nodeType":"ElementaryTypeName","src":"535:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"497:49:1"},"src":"474:73:1"},{"anonymous":false,"documentation":null,"id":100,"name":"_ProposalExpired","nodeType":"EventDefinition","parameters":{"id":99,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98,"indexed":true,"name":"propID","nodeType":"VariableDeclaration","scope":100,"src":"573:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":97,"name":"bytes32","nodeType":"ElementaryTypeName","src":"573:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"572:24:1"},"src":"550:47:1"},{"anonymous":false,"documentation":null,"id":110,"name":"_ChallengeSucceeded","nodeType":"EventDefinition","parameters":{"id":109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102,"indexed":true,"name":"propID","nodeType":"VariableDeclaration","scope":110,"src":"626:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"626:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":104,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":110,"src":"650:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint","nodeType":"ElementaryTypeName","src":"650:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":106,"indexed":false,"name":"rewardPool","nodeType":"VariableDeclaration","scope":110,"src":"676:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":105,"name":"uint","nodeType":"ElementaryTypeName","src":"676:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":108,"indexed":false,"name":"totalTokens","nodeType":"VariableDeclaration","scope":110,"src":"693:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107,"name":"uint","nodeType":"ElementaryTypeName","src":"693:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"625:85:1"},"src":"600:111:1"},{"anonymous":false,"documentation":null,"id":120,"name":"_ChallengeFailed","nodeType":"EventDefinition","parameters":{"id":119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":112,"indexed":true,"name":"propID","nodeType":"VariableDeclaration","scope":120,"src":"737:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"737:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":114,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":120,"src":"761:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":113,"name":"uint","nodeType":"ElementaryTypeName","src":"761:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":116,"indexed":false,"name":"rewardPool","nodeType":"VariableDeclaration","scope":120,"src":"787:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115,"name":"uint","nodeType":"ElementaryTypeName","src":"787:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":118,"indexed":false,"name":"totalTokens","nodeType":"VariableDeclaration","scope":120,"src":"804:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":117,"name":"uint","nodeType":"ElementaryTypeName","src":"804:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"736:85:1"},"src":"714:108:1"},{"anonymous":false,"documentation":null,"id":128,"name":"_RewardClaimed","nodeType":"EventDefinition","parameters":{"id":127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":128,"src":"846:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":121,"name":"uint","nodeType":"ElementaryTypeName","src":"846:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":124,"indexed":false,"name":"reward","nodeType":"VariableDeclaration","scope":128,"src":"872:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":123,"name":"uint","nodeType":"ElementaryTypeName","src":"872:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":126,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":128,"src":"885:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":125,"name":"address","nodeType":"ElementaryTypeName","src":"885:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"845:62:1"},"src":"825:83:1"},{"id":131,"libraryName":{"contractScope":null,"id":129,"name":"SafeMath","nodeType":"UserDefinedTypeName","referencedDeclaration":3913,"src":"965:8:1","typeDescriptions":{"typeIdentifier":"t_contract$_SafeMath_$3913","typeString":"library SafeMath"}},"nodeType":"UsingForDirective","src":"959:24:1","typeName":{"id":130,"name":"uint","nodeType":"ElementaryTypeName","src":"978:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"canonicalName":"Parameterizer.ParamProposal","id":146,"members":[{"constant":false,"id":133,"name":"appExpiry","nodeType":"VariableDeclaration","scope":146,"src":"1014:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":132,"name":"uint","nodeType":"ElementaryTypeName","src":"1014:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":135,"name":"challengeID","nodeType":"VariableDeclaration","scope":146,"src":"1034:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":134,"name":"uint","nodeType":"ElementaryTypeName","src":"1034:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":137,"name":"deposit","nodeType":"VariableDeclaration","scope":146,"src":"1056:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":136,"name":"uint","nodeType":"ElementaryTypeName","src":"1056:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":139,"name":"name","nodeType":"VariableDeclaration","scope":146,"src":"1074:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"},"typeName":{"id":138,"name":"string","nodeType":"ElementaryTypeName","src":"1074:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":141,"name":"owner","nodeType":"VariableDeclaration","scope":146,"src":"1091:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":140,"name":"address","nodeType":"ElementaryTypeName","src":"1091:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":143,"name":"processBy","nodeType":"VariableDeclaration","scope":146,"src":"1110:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint","nodeType":"ElementaryTypeName","src":"1110:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":145,"name":"value","nodeType":"VariableDeclaration","scope":146,"src":"1130:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":144,"name":"uint","nodeType":"ElementaryTypeName","src":"1130:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"name":"ParamProposal","nodeType":"StructDefinition","scope":1047,"src":"987:158:1","visibility":"public"},{"canonicalName":"Parameterizer.Challenge","id":161,"members":[{"constant":false,"id":148,"name":"rewardPool","nodeType":"VariableDeclaration","scope":161,"src":"1172:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":147,"name":"uint","nodeType":"ElementaryTypeName","src":"1172:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":150,"name":"challenger","nodeType":"VariableDeclaration","scope":161,"src":"1265:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":149,"name":"address","nodeType":"ElementaryTypeName","src":"1265:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":152,"name":"resolved","nodeType":"VariableDeclaration","scope":161,"src":"1315:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":151,"name":"bool","nodeType":"ElementaryTypeName","src":"1315:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":154,"name":"stake","nodeType":"VariableDeclaration","scope":161,"src":"1385:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":153,"name":"uint","nodeType":"ElementaryTypeName","src":"1385:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":156,"name":"winningTokens","nodeType":"VariableDeclaration","scope":161,"src":"1475:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":155,"name":"uint","nodeType":"ElementaryTypeName","src":"1475:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":160,"name":"tokenClaims","nodeType":"VariableDeclaration","scope":161,"src":"1571:36:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":159,"keyType":{"id":157,"name":"address","nodeType":"ElementaryTypeName","src":"1579:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1571:24:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":158,"name":"bool","nodeType":"ElementaryTypeName","src":"1590:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"value":null,"visibility":"internal"}],"name":"Challenge","nodeType":"StructDefinition","scope":1047,"src":"1149:463:1","visibility":"public"},{"constant":false,"id":165,"name":"params","nodeType":"VariableDeclaration","scope":1047,"src":"1652:38:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":164,"keyType":{"id":162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1660:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1652:24:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueType":{"id":163,"name":"uint","nodeType":"ElementaryTypeName","src":"1671:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"public"},{"constant":false,"id":169,"name":"challenges","nodeType":"VariableDeclaration","scope":1047,"src":"1747:44:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"},"typeName":{"id":168,"keyType":{"id":166,"name":"uint","nodeType":"ElementaryTypeName","src":"1755:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1747:26:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"},"valueType":{"contractScope":null,"id":167,"name":"Challenge","nodeType":"UserDefinedTypeName","referencedDeclaration":161,"src":"1763:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}}},"value":null,"visibility":"public"},{"constant":false,"id":173,"name":"proposals","nodeType":"VariableDeclaration","scope":1047,"src":"1853:50:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"},"typeName":{"id":172,"keyType":{"id":170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1861:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1853:33:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"},"valueType":{"contractScope":null,"id":171,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"1872:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}}},"value":null,"visibility":"public"},{"constant":false,"id":175,"name":"token","nodeType":"VariableDeclaration","scope":1047,"src":"1930:27:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"},"typeName":{"contractScope":null,"id":174,"name":"EIP20Interface","nodeType":"UserDefinedTypeName","referencedDeclaration":3818,"src":"1930:14:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"value":null,"visibility":"public"},{"constant":false,"id":177,"name":"voting","nodeType":"VariableDeclaration","scope":1047,"src":"1961:24:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"},"typeName":{"contractScope":null,"id":176,"name":"PLCRVoting","nodeType":"UserDefinedTypeName","referencedDeclaration":3524,"src":"1961:10:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"value":null,"visibility":"public"},{"constant":false,"id":180,"name":"PROCESSBY","nodeType":"VariableDeclaration","scope":1047,"src":"1989:30:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":178,"name":"uint","nodeType":"ElementaryTypeName","src":"1989:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"363034383030","id":179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2013:6:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_604800_by_1","typeString":"int_const 604800"},"value":"604800"},"visibility":"public"},{"body":{"id":283,"nodeType":"Block","src":"3650:618:1","statements":[{"expression":{"argumentTypes":null,"id":215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":211,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"3658:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":213,"name":"_tokenAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"3681:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":212,"name":"EIP20Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3818,"src":"3666:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EIP20Interface_$3818_$","typeString":"type(contract EIP20Interface)"}},"id":214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3666:26:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"src":"3658:34:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":216,"nodeType":"ExpressionStatement","src":"3658:34:1"},{"expression":{"argumentTypes":null,"id":221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":217,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"3700:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":219,"name":"_plcrAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"3720:9:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":218,"name":"PLCRVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3524,"src":"3709:10:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PLCRVoting_$3524_$","typeString":"type(contract PLCRVoting)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3709:21:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"src":"3700:30:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":222,"nodeType":"ExpressionStatement","src":"3700:30:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6d696e4465706f736974","id":224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3743:12:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""},"value":"minDeposit"},{"argumentTypes":null,"id":225,"name":"_minDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"3757:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":223,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3739:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3739:30:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":227,"nodeType":"ExpressionStatement","src":"3739:30:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704d696e4465706f736974","id":229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3781:13:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200","typeString":"literal_string \"pMinDeposit\""},"value":"pMinDeposit"},{"argumentTypes":null,"id":230,"name":"_pMinDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":188,"src":"3796:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200","typeString":"literal_string \"pMinDeposit\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":228,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3777:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3777:32:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":232,"nodeType":"ExpressionStatement","src":"3777:32:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6170706c7953746167654c656e","id":234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3821:15:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da","typeString":"literal_string \"applyStageLen\""},"value":"applyStageLen"},{"argumentTypes":null,"id":235,"name":"_applyStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":190,"src":"3838:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da","typeString":"literal_string \"applyStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":233,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3817:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3817:36:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":237,"nodeType":"ExpressionStatement","src":"3817:36:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704170706c7953746167654c656e","id":239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3865:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""},"value":"pApplyStageLen"},{"argumentTypes":null,"id":240,"name":"_pApplyStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"3883:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":238,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3861:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3861:38:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":242,"nodeType":"ExpressionStatement","src":"3861:38:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"636f6d6d697453746167654c656e","id":244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3911:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d","typeString":"literal_string \"commitStageLen\""},"value":"commitStageLen"},{"argumentTypes":null,"id":245,"name":"_commitStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":194,"src":"3929:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d","typeString":"literal_string \"commitStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":243,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3907:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3907:38:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":247,"nodeType":"ExpressionStatement","src":"3907:38:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70436f6d6d697453746167654c656e","id":249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3957:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""},"value":"pCommitStageLen"},{"argumentTypes":null,"id":250,"name":"_pCommitStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":196,"src":"3976:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":248,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3953:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3953:40:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":252,"nodeType":"ExpressionStatement","src":"3953:40:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"72657665616c53746167654c656e","id":254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4005:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1","typeString":"literal_string \"revealStageLen\""},"value":"revealStageLen"},{"argumentTypes":null,"id":255,"name":"_revealStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":198,"src":"4023:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1","typeString":"literal_string \"revealStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":253,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4001:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4001:38:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":257,"nodeType":"ExpressionStatement","src":"4001:38:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7052657665616c53746167654c656e","id":259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4051:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""},"value":"pRevealStageLen"},{"argumentTypes":null,"id":260,"name":"_pRevealStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"4070:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":258,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4047:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4047:40:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":262,"nodeType":"ExpressionStatement","src":"4047:40:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"64697370656e736174696f6e506374","id":264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4099:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""},"value":"dispensationPct"},{"argumentTypes":null,"id":265,"name":"_dispensationPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"4118:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":263,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4095:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4095:40:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":267,"nodeType":"ExpressionStatement","src":"4095:40:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7044697370656e736174696f6e506374","id":269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4147:18:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""},"value":"pDispensationPct"},{"argumentTypes":null,"id":270,"name":"_pDispensationPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"4167:17:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":268,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4143:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4143:42:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":272,"nodeType":"ExpressionStatement","src":"4143:42:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"766f746551756f72756d","id":274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4197:12:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878","typeString":"literal_string \"voteQuorum\""},"value":"voteQuorum"},{"argumentTypes":null,"id":275,"name":"_voteQuorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"4211:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878","typeString":"literal_string \"voteQuorum\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":273,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4193:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4193:30:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":277,"nodeType":"ExpressionStatement","src":"4193:30:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70566f746551756f72756d","id":279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4235:13:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138","typeString":"literal_string \"pVoteQuorum\""},"value":"pVoteQuorum"},{"argumentTypes":null,"id":280,"name":"_pVoteQuorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"4250:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138","typeString":"literal_string \"pVoteQuorum\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":278,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4231:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4231:32:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":282,"nodeType":"ExpressionStatement","src":"4231:32:1"}]},"documentation":"@dev constructor\n@param _tokenAddr address of the token which parameterizes this system\n@param _plcrAddr address of a PLCR voting contract for the provided token\n@param _minDeposit minimum deposit for listing to be whitelisted\n@param _pMinDeposit minimum deposit to propose a reparameterization\n@param _applyStageLen period over which applicants wait to be whitelisted\n@param _pApplyStageLen period over which reparmeterization proposals wait to be processed\n@param _dispensationPct percentage of losing party's deposit distributed to winning party\n@param _pDispensationPct percentage of losing party's deposit distributed to winning party in parameterizer\n@param _commitStageLen length of commit period for voting\n@param _pCommitStageLen length of commit period for voting in parameterizer\n@param _revealStageLen length of reveal period for voting\n@param _pRevealStageLen length of reveal period for voting in parameterizer\n@param _voteQuorum type of majority out of 100 necessary for vote success\n@param _pVoteQuorum type of majority out of 100 necessary for vote success in parameterizer","id":284,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"Parameterizer","nodeType":"FunctionDefinition","parameters":{"id":209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":182,"name":"_tokenAddr","nodeType":"VariableDeclaration","scope":284,"src":"3293:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":181,"name":"address","nodeType":"ElementaryTypeName","src":"3293:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":184,"name":"_plcrAddr","nodeType":"VariableDeclaration","scope":284,"src":"3317:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":183,"name":"address","nodeType":"ElementaryTypeName","src":"3317:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":186,"name":"_minDeposit","nodeType":"VariableDeclaration","scope":284,"src":"3340:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint","nodeType":"ElementaryTypeName","src":"3340:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":188,"name":"_pMinDeposit","nodeType":"VariableDeclaration","scope":284,"src":"3362:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":187,"name":"uint","nodeType":"ElementaryTypeName","src":"3362:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":190,"name":"_applyStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3385:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":189,"name":"uint","nodeType":"ElementaryTypeName","src":"3385:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":192,"name":"_pApplyStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3410:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":191,"name":"uint","nodeType":"ElementaryTypeName","src":"3410:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":194,"name":"_commitStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3436:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":193,"name":"uint","nodeType":"ElementaryTypeName","src":"3436:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":196,"name":"_pCommitStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3462:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":195,"name":"uint","nodeType":"ElementaryTypeName","src":"3462:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":198,"name":"_revealStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3489:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":197,"name":"uint","nodeType":"ElementaryTypeName","src":"3489:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":200,"name":"_pRevealStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3515:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":199,"name":"uint","nodeType":"ElementaryTypeName","src":"3515:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":202,"name":"_dispensationPct","nodeType":"VariableDeclaration","scope":284,"src":"3542:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":201,"name":"uint","nodeType":"ElementaryTypeName","src":"3542:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":204,"name":"_pDispensationPct","nodeType":"VariableDeclaration","scope":284,"src":"3569:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":203,"name":"uint","nodeType":"ElementaryTypeName","src":"3569:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":206,"name":"_voteQuorum","nodeType":"VariableDeclaration","scope":284,"src":"3597:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":205,"name":"uint","nodeType":"ElementaryTypeName","src":"3597:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":208,"name":"_pVoteQuorum","nodeType":"VariableDeclaration","scope":284,"src":"3619:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":207,"name":"uint","nodeType":"ElementaryTypeName","src":"3619:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"3287:355:1"},"payable":false,"returnParameters":{"id":210,"nodeType":"ParameterList","parameters":[],"src":"3650:0:1"},"scope":1047,"src":"3265:1003:1","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":407,"nodeType":"Block","src":"4650:997:1","statements":[{"assignments":[294],"declarations":[{"constant":false,"id":294,"name":"deposit","nodeType":"VariableDeclaration","scope":408,"src":"4656:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":293,"name":"uint","nodeType":"ElementaryTypeName","src":"4656:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":298,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704d696e4465706f736974","id":296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4675:13:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200","typeString":"literal_string \"pMinDeposit\""},"value":"pMinDeposit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200","typeString":"literal_string \"pMinDeposit\""}],"id":295,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"4671:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4671:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4656:33:1"},{"assignments":[300],"declarations":[{"constant":false,"id":300,"name":"propID","nodeType":"VariableDeclaration","scope":408,"src":"4695:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4695:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":305,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":302,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"4722:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"id":303,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"4729:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":301,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"4712:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4712:24:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4695:41:1"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":307,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"4757:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":306,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"4747:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4747:16:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"64697370656e736174696f6e506374","id":310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4777:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""},"value":"dispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""}],"id":309,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"4767:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4767:28:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4747:48:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":314,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"4816:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":313,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"4806:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4806:16:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7044697370656e736174696f6e506374","id":317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4836:18:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""},"value":"pDispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""}],"id":316,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"4826:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4826:29:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4806:49:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4747:108:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":328,"nodeType":"IfStatement","src":"4743:153:1","trueBody":{"id":327,"nodeType":"Block","src":"4857:39:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":322,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"4875:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"hexValue":"313030","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4885:3:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"4875:13:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":321,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4867:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4867:22:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":326,"nodeType":"ExpressionStatement","src":"4867:22:1"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4910:19:1","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":331,"name":"propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"4922:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":330,"name":"propExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":821,"src":"4911:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4911:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":329,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4902:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4902:28:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":335,"nodeType":"ExpressionStatement","src":"4902:28:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":338,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"4978:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":337,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"4974:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4974:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"id":340,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"4988:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4974:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":336,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4966:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4966:29:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":343,"nodeType":"ExpressionStatement","src":"4966:29:1"},{"expression":{"argumentTypes":null,"id":380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":344,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"5076:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":346,"indexExpression":{"argumentTypes":null,"id":345,"name":"propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"5086:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5076:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704170706c7953746167654c656e","id":351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5141:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""},"value":"pApplyStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""}],"id":350,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"5137:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5137:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":348,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"5129:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"5129:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5129:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"hexValue":"30","id":354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5180:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"argumentTypes":null,"id":355,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"5198:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":356,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"5219:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":357,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5239:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5239:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":376,"name":"PROCESSBY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"5386:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7052657665616c53746167654c656e","id":372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5353:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""},"value":"pRevealStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""}],"id":371,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"5349:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5349:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70436f6d6d697453746167654c656e","id":367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5316:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""},"value":"pCommitStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""}],"id":366,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"5312:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5312:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704170706c7953746167654c656e","id":362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5280:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""},"value":"pApplyStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""}],"id":361,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"5276:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5276:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":359,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"5268:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"5268:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5268:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"5268:43:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5268:67:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"5268:80:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5268:104:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"5268:117:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5268:128:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":378,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"5411:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":null,"id":347,"name":"ParamProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"5096:13:1","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ParamProposal_$146_storage_ptr_$","typeString":"type(struct Parameterizer.ParamProposal storage pointer)"}},"id":379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["appExpiry","challengeID","deposit","name","owner","processBy","value"],"nodeType":"FunctionCall","src":"5096:328:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory","typeString":"struct Parameterizer.ParamProposal memory"}},"src":"5076:348:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"id":381,"nodeType":"ExpressionStatement","src":"5076:348:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":385,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5458:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5458:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":387,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3951,"src":"5470:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},{"argumentTypes":null,"id":388,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"5476:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":383,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"5439:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"5439:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5439:45:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":382,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5431:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5431:54:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":391,"nodeType":"ExpressionStatement","src":"5431:54:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":393,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"5551:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"id":394,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"5558:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":395,"name":"propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"5566:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":396,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"5574:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":397,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"5583:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":399,"indexExpression":{"argumentTypes":null,"id":398,"name":"propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"5593:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5583:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"id":400,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appExpiry","nodeType":"MemberAccess","referencedDeclaration":133,"src":"5583:27:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":401,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5612:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5612:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":392,"name":"_ReparameterizationProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76,"src":"5523:27:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (string memory,uint256,bytes32,uint256,uint256,address)"}},"id":403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5523:100:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":404,"nodeType":"ExpressionStatement","src":"5523:100:1"},{"expression":{"argumentTypes":null,"id":405,"name":"propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"5636:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":292,"id":406,"nodeType":"Return","src":"5629:13:1"}]},"documentation":"@notice propose a reparamaterization of the key _name's value to _value.\n@param _name the name of the proposed param to be set\n@param _value the proposed value to set the param to be set","id":408,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"proposeReparameterization","nodeType":"FunctionDefinition","parameters":{"id":289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":286,"name":"_name","nodeType":"VariableDeclaration","scope":408,"src":"4598:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":285,"name":"string","nodeType":"ElementaryTypeName","src":"4598:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":288,"name":"_value","nodeType":"VariableDeclaration","scope":408,"src":"4612:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":287,"name":"uint","nodeType":"ElementaryTypeName","src":"4612:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4597:27:1"},"payable":false,"returnParameters":{"id":292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":291,"name":"","nodeType":"VariableDeclaration","scope":408,"src":"4641:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4641:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"4640:9:1"},"scope":1047,"src":"4563:1084:1","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":512,"nodeType":"Block","src":"5876:885:1","statements":[{"assignments":[416],"declarations":[{"constant":false,"id":416,"name":"prop","nodeType":"VariableDeclaration","scope":513,"src":"5882:25:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"},"typeName":{"contractScope":null,"id":415,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"5882:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"value":null,"visibility":"internal"}],"id":420,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":417,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"5910:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":419,"indexExpression":{"argumentTypes":null,"id":418,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":410,"src":"5920:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5910:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5882:46:1"},{"assignments":[422],"declarations":[{"constant":false,"id":422,"name":"deposit","nodeType":"VariableDeclaration","scope":513,"src":"5934:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":421,"name":"uint","nodeType":"ElementaryTypeName","src":"5934:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":425,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":423,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":416,"src":"5949:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":424,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":137,"src":"5949:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5934:27:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":428,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":410,"src":"5987:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":427,"name":"propExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":821,"src":"5976:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5976:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":430,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":416,"src":"5999:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"5999:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6019:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5999:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5976:44:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":426,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5968:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5968:53:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":436,"nodeType":"ExpressionStatement","src":"5968:53:1"},{"assignments":[438],"declarations":[{"constant":false,"id":438,"name":"pollID","nodeType":"VariableDeclaration","scope":513,"src":"6045:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":437,"name":"uint","nodeType":"ElementaryTypeName","src":"6045:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":451,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70566f746551756f72756d","id":442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6087:13:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138","typeString":"literal_string \"pVoteQuorum\""},"value":"pVoteQuorum"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138","typeString":"literal_string \"pVoteQuorum\""}],"id":441,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"6083:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6083:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70436f6d6d697453746167654c656e","id":445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6113:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""},"value":"pCommitStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""}],"id":444,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"6109:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6109:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7052657665616c53746167654c656e","id":448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6143:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""},"value":"pRevealStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""}],"id":447,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"6139:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6139:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":439,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"6059:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPoll","nodeType":"MemberAccess","referencedDeclaration":3157,"src":"6059:16:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) external returns (uint256)"}},"id":450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6059:108:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6045:122:1"},{"expression":{"argumentTypes":null,"id":475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":452,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"6174:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":454,"indexExpression":{"argumentTypes":null,"id":453,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"6185:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6174:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":456,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"6225:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6225:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"313030","id":469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6315:3:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":466,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"6302:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"313030","id":460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6268:3:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7044697370656e736174696f6e506374","id":462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6277:18:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""},"value":"pDispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""}],"id":461,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"6273:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6273:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":458,"name":"SafeMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3913,"src":"6255:8:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeMath_$3913_$","typeString":"type(library SafeMath)"}},"id":459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sub","nodeType":"MemberAccess","referencedDeclaration":3888,"src":"6255:12:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6255:42:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"mul","nodeType":"MemberAccess","referencedDeclaration":3850,"src":"6255:46:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6255:55:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"div","nodeType":"MemberAccess","referencedDeclaration":3868,"src":"6255:59:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6255:64:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":471,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"6334:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"hexValue":"66616c7365","id":472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6359:5:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"argumentTypes":null,"hexValue":"30","id":473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6387:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":null,"id":455,"name":"Challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"6195:9:1","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Challenge_$161_storage_ptr_$","typeString":"type(struct Parameterizer.Challenge storage pointer)"}},"id":474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["challenger","rewardPool","stake","resolved","winningTokens"],"nodeType":"FunctionCall","src":"6195:200:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_memory","typeString":"struct Parameterizer.Challenge memory"}},"src":"6174:221:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":476,"nodeType":"ExpressionStatement","src":"6174:221:1"},{"expression":{"argumentTypes":null,"id":482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":477,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"6402:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":479,"indexExpression":{"argumentTypes":null,"id":478,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":410,"src":"6412:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6402:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"id":480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"6402:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":481,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"6435:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6402:39:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":483,"nodeType":"ExpressionStatement","src":"6402:39:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":487,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"6564:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6564:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":489,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3951,"src":"6576:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},{"argumentTypes":null,"id":490,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"6582:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":485,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"6545:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"6545:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6545:45:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":484,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"6537:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6537:54:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":493,"nodeType":"ExpressionStatement","src":"6537:54:1"},{"assignments":[494,495,null,null,null],"declarations":[{"constant":false,"id":494,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":513,"src":"6603:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":null,"value":null,"visibility":"internal"},{"constant":false,"id":495,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":513,"src":"6618:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":null,"value":null,"visibility":"internal"},null],"id":500,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":498,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"6651:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":496,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"6636:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pollMap","nodeType":"MemberAccess","referencedDeclaration":2597,"src":"6636:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)"}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6636:22:1","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6598:60:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":502,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":410,"src":"6679:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":503,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"6688:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":504,"name":"commitEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":494,"src":"6696:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":505,"name":"revealEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":495,"src":"6711:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":506,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"6726:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6726:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":501,"name":"_NewChallenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88,"src":"6665:13:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,address)"}},"id":508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6665:72:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":509,"nodeType":"ExpressionStatement","src":"6665:72:1"},{"expression":{"argumentTypes":null,"id":510,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"6750:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":414,"id":511,"nodeType":"Return","src":"6743:13:1"}]},"documentation":"@notice challenge the provided proposal ID, and put tokens at stake to do so.\n@param _propID the proposal ID to challenge","id":513,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"challengeReparameterization","nodeType":"FunctionDefinition","parameters":{"id":411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":410,"name":"_propID","nodeType":"VariableDeclaration","scope":513,"src":"5825:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5825:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"5824:17:1"},"payable":false,"returnParameters":{"id":414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":413,"name":"challengeID","nodeType":"VariableDeclaration","scope":513,"src":"5858:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":412,"name":"uint","nodeType":"ElementaryTypeName","src":"5858:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"5857:18:1"},"scope":1047,"src":"5788:973:1","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":645,"nodeType":"Block","src":"7105:1552:1","statements":[{"assignments":[519],"declarations":[{"constant":false,"id":519,"name":"prop","nodeType":"VariableDeclaration","scope":646,"src":"7111:26:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"},"typeName":{"contractScope":null,"id":518,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"7111:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"value":null,"visibility":"internal"}],"id":523,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":520,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"7140:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":522,"indexExpression":{"argumentTypes":null,"id":521,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7150:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7140:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7111:47:1"},{"assignments":[525],"declarations":[{"constant":false,"id":525,"name":"propOwner","nodeType":"VariableDeclaration","scope":646,"src":"7164:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":524,"name":"address","nodeType":"ElementaryTypeName","src":"7164:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"id":528,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":526,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7184:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":141,"src":"7184:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"7164:30:1"},{"assignments":[530],"declarations":[{"constant":false,"id":530,"name":"propDeposit","nodeType":"VariableDeclaration","scope":646,"src":"7200:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":529,"name":"uint","nodeType":"ElementaryTypeName","src":"7200:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":533,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":531,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7219:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":137,"src":"7219:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7200:31:1"},{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":535,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7425:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":534,"name":"canBeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"7416:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7416:17:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":567,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7814:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":566,"name":"challengeCanBeResolved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":859,"src":"7791:22:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7791:31:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":574,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"7926:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":575,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7932:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"processBy","nodeType":"MemberAccess","referencedDeclaration":143,"src":"7932:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7926:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":599,"nodeType":"Block","src":"8170:151:1","statements":[{"expression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"id":596,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3930,"src":"8306:6:1","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$__$returns$__$","typeString":"function () pure"}},"id":597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8306:8:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":598,"nodeType":"ExpressionStatement","src":"8306:8:1"}]},"id":600,"nodeType":"IfStatement","src":"7922:399:1","trueBody":{"id":595,"nodeType":"Block","src":"7948:216:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":579,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"8061:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":578,"name":"_ProposalExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"8044:16:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8044:25:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":581,"nodeType":"ExpressionStatement","src":"8044:25:1"},{"expression":{"argumentTypes":null,"id":585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"8077:25:1","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":582,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"8084:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":584,"indexExpression":{"argumentTypes":null,"id":583,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"8094:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8084:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":586,"nodeType":"ExpressionStatement","src":"8077:25:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":590,"name":"propOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":525,"src":"8133:9:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":591,"name":"propDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":530,"src":"8144:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":588,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"8118:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"8118:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8118:38:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":587,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"8110:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8110:47:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":594,"nodeType":"ExpressionStatement","src":"8110:47:1"}]}},"id":601,"nodeType":"IfStatement","src":"7787:534:1","trueBody":{"id":573,"nodeType":"Block","src":"7824:92:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":570,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7901:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":569,"name":"resolveChallenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1030,"src":"7884:16:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7884:25:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":572,"nodeType":"ExpressionStatement","src":"7884:25:1"}]}},"id":602,"nodeType":"IfStatement","src":"7412:909:1","trueBody":{"id":565,"nodeType":"Block","src":"7435:346:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":538,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7607:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":139,"src":"7607:9:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":540,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7618:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":145,"src":"7618:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":537,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"7603:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7603:26:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":543,"nodeType":"ExpressionStatement","src":"7603:26:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":545,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7655:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":546,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7664:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":139,"src":"7664:9:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":548,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7675:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":549,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":145,"src":"7675:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":544,"name":"_ProposalAccepted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"7637:17:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (bytes32,string memory,uint256)"}},"id":550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7637:49:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":551,"nodeType":"ExpressionStatement","src":"7637:49:1"},{"expression":{"argumentTypes":null,"id":555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"7694:25:1","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":552,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"7701:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":554,"indexExpression":{"argumentTypes":null,"id":553,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7711:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7701:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":556,"nodeType":"ExpressionStatement","src":"7694:25:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":560,"name":"propOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":525,"src":"7750:9:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":561,"name":"propDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":530,"src":"7761:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":558,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"7735:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"7735:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7735:38:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":557,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7727:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7727:47:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":564,"nodeType":"ExpressionStatement","src":"7727:47:1"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"64697370656e736174696f6e506374","id":605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8338:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""},"value":"dispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""}],"id":604,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"8334:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8334:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"hexValue":"313030","id":607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8360:3:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"8334:29:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":603,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"8327:6:1","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8327:37:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":610,"nodeType":"ExpressionStatement","src":"8327:37:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7044697370656e736174696f6e506374","id":613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8381:18:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""},"value":"pDispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""}],"id":612,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"8377:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8377:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"hexValue":"313030","id":615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8404:3:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"8377:30:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":611,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"8370:6:1","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8370:38:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":618,"nodeType":"ExpressionStatement","src":"8370:38:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":637,"name":"PROCESSBY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"8610:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7052657665616c53746167654c656e","id":633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8579:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""},"value":"pRevealStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""}],"id":632,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"8575:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8575:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70436f6d6d697453746167654c656e","id":628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8544:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""},"value":"pCommitStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""}],"id":627,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"8540:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8540:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704170706c7953746167654c656e","id":623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8510:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""},"value":"pApplyStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""}],"id":622,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"8506:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8506:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":619,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"8498:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"8498:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8498:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"8498:41:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8498:65:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"8498:76:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8498:100:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"8498:111:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8498:122:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":639,"nodeType":"ExpressionStatement","src":"8498:122:1"},{"expression":{"argumentTypes":null,"id":643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"8627:25:1","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":640,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"8634:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":642,"indexExpression":{"argumentTypes":null,"id":641,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"8644:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8634:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":644,"nodeType":"ExpressionStatement","src":"8627:25:1"}]},"documentation":"@notice for the provided proposal ID, set it, resolve its challenge, or delete it depending on whether it can be set, has a challenge which can be resolved, or if its \"process by\" date has passed\n@param _propID the proposal ID to make a determination and state transition for","id":646,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"processProposal","nodeType":"FunctionDefinition","parameters":{"id":516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":515,"name":"_propID","nodeType":"VariableDeclaration","scope":646,"src":"7081:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7081:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"7080:17:1"},"payable":false,"returnParameters":{"id":517,"nodeType":"ParameterList","parameters":[],"src":"7105:0:1"},"scope":1047,"src":"7056:1601:1","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":733,"nodeType":"Block","src":"8941:839:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":654,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"9048:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":656,"indexExpression":{"argumentTypes":null,"id":655,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9059:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9048:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":160,"src":"9048:36:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":660,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":658,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9085:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9085:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9048:48:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"66616c7365","id":661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9100:5:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"9048:57:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":653,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"9040:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9040:66:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":664,"nodeType":"ExpressionStatement","src":"9040:66:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":666,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"9120:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":668,"indexExpression":{"argumentTypes":null,"id":667,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9131:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9120:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":152,"src":"9120:33:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"74727565","id":670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9157:4:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"9120:41:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":665,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"9112:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9112:50:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":673,"nodeType":"ExpressionStatement","src":"9112:50:1"},{"assignments":[675],"declarations":[{"constant":false,"id":675,"name":"voterTokens","nodeType":"VariableDeclaration","scope":734,"src":"9169:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":674,"name":"uint","nodeType":"ElementaryTypeName","src":"9169:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":683,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":678,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9215:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9215:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":680,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9227:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":681,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":650,"src":"9241:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":676,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"9188:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getNumPassingTokens","nodeType":"MemberAccess","referencedDeclaration":3101,"src":"9188:26:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view external returns (uint256)"}},"id":682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9188:59:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9169:78:1"},{"assignments":[685],"declarations":[{"constant":false,"id":685,"name":"reward","nodeType":"VariableDeclaration","scope":734,"src":"9253:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":684,"name":"uint","nodeType":"ElementaryTypeName","src":"9253:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":692,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":687,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9279:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9279:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":689,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9291:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":690,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":650,"src":"9305:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":686,"name":"voterReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":776,"src":"9267:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view returns (uint256)"}},"id":691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9267:44:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9253:58:1"},{"expression":{"argumentTypes":null,"id":698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":693,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"9456:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":695,"indexExpression":{"argumentTypes":null,"id":694,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9467:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9456:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":696,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"winningTokens","nodeType":"MemberAccess","referencedDeclaration":156,"src":"9456:38:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":697,"name":"voterTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":675,"src":"9498:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9456:53:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":699,"nodeType":"ExpressionStatement","src":"9456:53:1"},{"expression":{"argumentTypes":null,"id":705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":700,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"9515:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":702,"indexExpression":{"argumentTypes":null,"id":701,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9526:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9515:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":703,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":148,"src":"9515:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":704,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"9554:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9515:45:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":706,"nodeType":"ExpressionStatement","src":"9515:45:1"},{"expression":{"argumentTypes":null,"id":715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":707,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"9616:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":709,"indexExpression":{"argumentTypes":null,"id":708,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9627:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9616:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":710,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":160,"src":"9616:36:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":713,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":711,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9653:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9653:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9616:48:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9667:4:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"9616:55:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":716,"nodeType":"ExpressionStatement","src":"9616:55:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":718,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9693:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":719,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"9707:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":720,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9715:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9715:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":717,"name":"_RewardClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"9678:14:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address)"}},"id":722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9678:48:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":723,"nodeType":"ExpressionStatement","src":"9678:48:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":727,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9755:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9755:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":729,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"9767:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":725,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"9740:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"9740:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9740:34:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":724,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"9732:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9732:43:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":732,"nodeType":"ExpressionStatement","src":"9732:43:1"}]},"documentation":"@notice claim the tokens owed for the msg.sender in the provided challenge\n@param _challengeID the challenge ID to claim tokens for\n@param _salt the salt used to vote in the challenge being withdrawn for","id":734,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"claimReward","nodeType":"FunctionDefinition","parameters":{"id":651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":648,"name":"_challengeID","nodeType":"VariableDeclaration","scope":734,"src":"8903:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":647,"name":"uint","nodeType":"ElementaryTypeName","src":"8903:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":650,"name":"_salt","nodeType":"VariableDeclaration","scope":734,"src":"8922:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":649,"name":"uint","nodeType":"ElementaryTypeName","src":"8922:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"8902:31:1"},"payable":false,"returnParameters":{"id":652,"nodeType":"ParameterList","parameters":[],"src":"8941:0:1"},"scope":1047,"src":"8882:898:1","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":775,"nodeType":"Block","src":"10333:264:1","statements":[{"assignments":[746],"declarations":[{"constant":false,"id":746,"name":"winningTokens","nodeType":"VariableDeclaration","scope":776,"src":"10339:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":745,"name":"uint","nodeType":"ElementaryTypeName","src":"10339:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":751,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":747,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"10360:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":749,"indexExpression":{"argumentTypes":null,"id":748,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"10371:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10360:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"winningTokens","nodeType":"MemberAccess","referencedDeclaration":156,"src":"10360:38:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10339:59:1"},{"assignments":[753],"declarations":[{"constant":false,"id":753,"name":"rewardPool","nodeType":"VariableDeclaration","scope":776,"src":"10404:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":752,"name":"uint","nodeType":"ElementaryTypeName","src":"10404:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":758,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":754,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"10422:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":756,"indexExpression":{"argumentTypes":null,"id":755,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"10433:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10422:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":757,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":148,"src":"10422:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10404:53:1"},{"assignments":[760],"declarations":[{"constant":false,"id":760,"name":"voterTokens","nodeType":"VariableDeclaration","scope":776,"src":"10463:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":759,"name":"uint","nodeType":"ElementaryTypeName","src":"10463:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":767,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":763,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"10509:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":764,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"10517:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":765,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":740,"src":"10531:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":761,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"10482:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getNumPassingTokens","nodeType":"MemberAccess","referencedDeclaration":3101,"src":"10482:26:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view external returns (uint256)"}},"id":766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10482:55:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10463:74:1"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":768,"name":"voterTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":760,"src":"10551:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":769,"name":"rewardPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":753,"src":"10565:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10551:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":771,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10550:26:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"id":772,"name":"winningTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"10579:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10550:42:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":744,"id":774,"nodeType":"Return","src":"10543:49:1"}]},"documentation":"@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The ID of the challenge the voter's reward is being calculated for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward","id":776,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"voterReward","nodeType":"FunctionDefinition","parameters":{"id":741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":736,"name":"_voter","nodeType":"VariableDeclaration","scope":776,"src":"10257:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":735,"name":"address","nodeType":"ElementaryTypeName","src":"10257:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":738,"name":"_challengeID","nodeType":"VariableDeclaration","scope":776,"src":"10273:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":737,"name":"uint","nodeType":"ElementaryTypeName","src":"10273:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":740,"name":"_salt","nodeType":"VariableDeclaration","scope":776,"src":"10292:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":739,"name":"uint","nodeType":"ElementaryTypeName","src":"10292:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"10256:47:1"},"payable":false,"returnParameters":{"id":744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":743,"name":"","nodeType":"VariableDeclaration","scope":776,"src":"10327:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":742,"name":"uint","nodeType":"ElementaryTypeName","src":"10327:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"10326:6:1"},"scope":1047,"src":"10236:361:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":805,"nodeType":"Block","src":"10876:142:1","statements":[{"assignments":[784],"declarations":[{"constant":false,"id":784,"name":"prop","nodeType":"VariableDeclaration","scope":806,"src":"10882:25:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"},"typeName":{"contractScope":null,"id":783,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"10882:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"value":null,"visibility":"internal"}],"id":788,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":785,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"10910:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":787,"indexExpression":{"argumentTypes":null,"id":786,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":778,"src":"10920:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10910:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10882:46:1"},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":789,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"10943:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":790,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10949:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appExpiry","nodeType":"MemberAccess","referencedDeclaration":133,"src":"10949:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10943:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":793,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"10967:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":794,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10973:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"processBy","nodeType":"MemberAccess","referencedDeclaration":143,"src":"10973:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10967:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10943:44:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":798,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10991:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":799,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"10991:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11011:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10991:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10943:69:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":803,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10942:71:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":782,"id":804,"nodeType":"Return","src":"10935:78:1"}]},"documentation":"@notice Determines whether a proposal passed its application stage without a challenge\n@param _propID The proposal ID for which to determine whether its application stage passed without a challenge","id":806,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"canBeSet","nodeType":"FunctionDefinition","parameters":{"id":779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":778,"name":"_propID","nodeType":"VariableDeclaration","scope":806,"src":"10832:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10832:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"10831:17:1"},"payable":false,"returnParameters":{"id":782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":781,"name":"","nodeType":"VariableDeclaration","scope":806,"src":"10870:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":780,"name":"bool","nodeType":"ElementaryTypeName","src":"10870:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"10869:6:1"},"scope":1047,"src":"10814:204:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":820,"nodeType":"Block","src":"11242:50:1","statements":[{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":813,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"11255:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":815,"indexExpression":{"argumentTypes":null,"id":814,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":808,"src":"11265:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11255:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"id":816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"processBy","nodeType":"MemberAccess","referencedDeclaration":143,"src":"11255:28:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11286:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11255:32:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":812,"id":819,"nodeType":"Return","src":"11248:39:1"}]},"documentation":"@notice Determines whether a proposal exists for the provided proposal ID\n@param _propID The proposal ID whose existance is to be determined","id":821,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"propExists","nodeType":"FunctionDefinition","parameters":{"id":809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":808,"name":"_propID","nodeType":"VariableDeclaration","scope":821,"src":"11198:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11198:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"11197:17:1"},"payable":false,"returnParameters":{"id":812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":811,"name":"","nodeType":"VariableDeclaration","scope":821,"src":"11236:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":810,"name":"bool","nodeType":"ElementaryTypeName","src":"11236:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"11235:6:1"},"scope":1047,"src":"11178:114:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":858,"nodeType":"Block","src":"11535:237:1","statements":[{"assignments":[829],"declarations":[{"constant":false,"id":829,"name":"prop","nodeType":"VariableDeclaration","scope":859,"src":"11541:25:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"},"typeName":{"contractScope":null,"id":828,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"11541:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"value":null,"visibility":"internal"}],"id":833,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":830,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"11569:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":832,"indexExpression":{"argumentTypes":null,"id":831,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":823,"src":"11579:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11569:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11541:46:1"},{"assignments":[835],"declarations":[{"constant":false,"id":835,"name":"challenge","nodeType":"VariableDeclaration","scope":859,"src":"11593:26:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_memory_ptr","typeString":"struct Parameterizer.Challenge memory"},"typeName":{"contractScope":null,"id":834,"name":"Challenge","nodeType":"UserDefinedTypeName","referencedDeclaration":161,"src":"11593:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"value":null,"visibility":"internal"}],"id":840,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":836,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"11622:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":839,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":837,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"11633:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":838,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"11633:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11622:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11593:57:1"},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":841,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"11665:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"11665:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11684:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11665:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":845,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"11689:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_memory_ptr","typeString":"struct Parameterizer.Challenge memory"}},"id":846,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":152,"src":"11689:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"66616c7365","id":847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11711:5:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"11689:27:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11665:51:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":852,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"11749:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"11749:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":850,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"11732:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pollEnded","nodeType":"MemberAccess","referencedDeclaration":3243,"src":"11732:16:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11732:34:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11665:101:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":856,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11664:103:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":827,"id":857,"nodeType":"Return","src":"11657:110:1"}]},"documentation":"@notice Determines whether the provided proposal ID has a challenge which can be resolved\n@param _propID The proposal ID whose challenge to inspect","id":859,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"challengeCanBeResolved","nodeType":"FunctionDefinition","parameters":{"id":824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":823,"name":"_propID","nodeType":"VariableDeclaration","scope":859,"src":"11491:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11491:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"11490:17:1"},"payable":false,"returnParameters":{"id":827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":826,"name":"","nodeType":"VariableDeclaration","scope":859,"src":"11529:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":825,"name":"bool","nodeType":"ElementaryTypeName","src":"11529:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"11528:6:1"},"scope":1047,"src":"11459:313:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":894,"nodeType":"Block","src":"12017:292:1","statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":868,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"12072:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":866,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"12026:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getTotalNumberOfTokensForWinningOption","nodeType":"MemberAccess","referencedDeclaration":3222,"src":"12026:45:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12026:59:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12089:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12026:64:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":880,"nodeType":"IfStatement","src":"12023:194:1","trueBody":{"id":879,"nodeType":"Block","src":"12092:125:1","statements":[{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"32","id":872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12176:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":873,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"12180:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":875,"indexExpression":{"argumentTypes":null,"id":874,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"12191:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12180:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":876,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stake","nodeType":"MemberAccess","referencedDeclaration":154,"src":"12180:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12176:34:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":865,"id":878,"nodeType":"Return","src":"12169:41:1"}]}},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"32","id":881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12231:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":882,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"12235:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":884,"indexExpression":{"argumentTypes":null,"id":883,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"12246:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12235:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stake","nodeType":"MemberAccess","referencedDeclaration":154,"src":"12235:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12231:34:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":887,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12230:36:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":888,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"12269:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":890,"indexExpression":{"argumentTypes":null,"id":889,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"12280:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12269:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":148,"src":"12269:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12230:74:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":865,"id":893,"nodeType":"Return","src":"12223:81:1"}]},"documentation":"@notice Determines the number of tokens to awarded to the winning party in a challenge\n@param _challengeID The challengeID to determine a reward for","id":895,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"challengeWinnerReward","nodeType":"FunctionDefinition","parameters":{"id":862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":861,"name":"_challengeID","nodeType":"VariableDeclaration","scope":895,"src":"11971:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":860,"name":"uint","nodeType":"ElementaryTypeName","src":"11971:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11970:19:1"},"payable":false,"returnParameters":{"id":865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":864,"name":"","nodeType":"VariableDeclaration","scope":895,"src":"12011:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":863,"name":"uint","nodeType":"ElementaryTypeName","src":"12011:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"12010:6:1"},"scope":1047,"src":"11940:369:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":908,"nodeType":"Block","src":"12525:42:1","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":902,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"12538:6:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":906,"indexExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":904,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":897,"src":"12555:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":903,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"12545:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12545:16:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12538:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":901,"id":907,"nodeType":"Return","src":"12531:31:1"}]},"documentation":"@notice gets the parameter keyed by the provided name value from the params mapping\n@param _name the key whose value is to be determined","id":909,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"get","nodeType":"FunctionDefinition","parameters":{"id":898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":897,"name":"_name","nodeType":"VariableDeclaration","scope":909,"src":"12478:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":896,"name":"string","nodeType":"ElementaryTypeName","src":"12478:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"12477:14:1"},"payable":false,"returnParameters":{"id":901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":900,"name":"value","nodeType":"VariableDeclaration","scope":909,"src":"12513:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":899,"name":"uint","nodeType":"ElementaryTypeName","src":"12513:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"12512:12:1"},"scope":1047,"src":"12465:102:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":925,"nodeType":"Block","src":"12865:62:1","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":918,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"12878:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":920,"indexExpression":{"argumentTypes":null,"id":919,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":911,"src":"12889:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12878:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":160,"src":"12878:36:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":923,"indexExpression":{"argumentTypes":null,"id":922,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":913,"src":"12915:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12878:44:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":917,"id":924,"nodeType":"Return","src":"12871:51:1"}]},"documentation":"@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID","id":926,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"tokenClaims","nodeType":"FunctionDefinition","parameters":{"id":914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":911,"name":"_challengeID","nodeType":"VariableDeclaration","scope":926,"src":"12803:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":910,"name":"uint","nodeType":"ElementaryTypeName","src":"12803:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":913,"name":"_voter","nodeType":"VariableDeclaration","scope":926,"src":"12822:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":912,"name":"address","nodeType":"ElementaryTypeName","src":"12822:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"12802:35:1"},"payable":false,"returnParameters":{"id":917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":916,"name":"","nodeType":"VariableDeclaration","scope":926,"src":"12859:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":915,"name":"bool","nodeType":"ElementaryTypeName","src":"12859:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"12858:6:1"},"scope":1047,"src":"12782:145:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1029,"nodeType":"Block","src":"13255:942:1","statements":[{"assignments":[932],"declarations":[{"constant":false,"id":932,"name":"prop","nodeType":"VariableDeclaration","scope":1030,"src":"13261:25:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"},"typeName":{"contractScope":null,"id":931,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"13261:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"value":null,"visibility":"internal"}],"id":936,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":933,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"13289:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":935,"indexExpression":{"argumentTypes":null,"id":934,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"13299:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13289:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13261:46:1"},{"assignments":[938],"declarations":[{"constant":false,"id":938,"name":"challenge","nodeType":"VariableDeclaration","scope":1030,"src":"13313:27:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"},"typeName":{"contractScope":null,"id":937,"name":"Challenge","nodeType":"UserDefinedTypeName","referencedDeclaration":161,"src":"13313:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"value":null,"visibility":"internal"}],"id":943,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":939,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"13343:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":942,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":940,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13354:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"13354:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13343:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13313:58:1"},{"assignments":[945],"declarations":[{"constant":false,"id":945,"name":"reward","nodeType":"VariableDeclaration","scope":1030,"src":"13463:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":944,"name":"uint","nodeType":"ElementaryTypeName","src":"13463:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":950,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":947,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13499:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"13499:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":946,"name":"challengeWinnerReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":895,"src":"13477:21:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13477:39:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13463:53:1"},{"expression":{"argumentTypes":null,"id":959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":951,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"13523:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"winningTokens","nodeType":"MemberAccess","referencedDeclaration":156,"src":"13523:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":956,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13601:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"13601:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":954,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"13555:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getTotalNumberOfTokensForWinningOption","nodeType":"MemberAccess","referencedDeclaration":3222,"src":"13555:45:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13555:63:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13523:95:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":960,"nodeType":"ExpressionStatement","src":"13523:95:1"},{"expression":{"argumentTypes":null,"id":965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":961,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"13624:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":152,"src":"13624:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13645:4:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"13624:25:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":966,"nodeType":"ExpressionStatement","src":"13624:25:1"},{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":969,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13676:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"13676:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":967,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"13660:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isPassed","nodeType":"MemberAccess","referencedDeclaration":3194,"src":"13660:15:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13660:33:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1027,"nodeType":"Block","src":"13962:231:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1006,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"14033:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1007,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"14042:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":1008,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"14042:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1009,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"14060:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":1010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":148,"src":"14060:20:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1011,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"14082:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":1012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"winningTokens","nodeType":"MemberAccess","referencedDeclaration":156,"src":"14082:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1005,"name":"_ChallengeSucceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"14013:19:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14013:93:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1014,"nodeType":"ExpressionStatement","src":"14013:93:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1018,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"14137:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":1021,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1019,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"14148:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":1020,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"14148:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14137:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":1022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":150,"src":"14137:39:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1023,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":945,"src":"14178:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1016,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"14122:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"14122:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":1024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14122:63:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1015,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"14114:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14114:72:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1026,"nodeType":"ExpressionStatement","src":"14114:72:1"}]},"id":1028,"nodeType":"IfStatement","src":"13656:537:1","trueBody":{"id":1004,"nodeType":"Block","src":"13695:257:1","statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":972,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13730:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"processBy","nodeType":"MemberAccess","referencedDeclaration":143,"src":"13730:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"id":974,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"13747:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13730:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":984,"nodeType":"IfStatement","src":"13727:70:1","trueBody":{"id":983,"nodeType":"Block","src":"13752:45:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":977,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13766:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":139,"src":"13766:9:1","typeDescriptions":{"typeIdentifier":"t_string_memory","typeString":"string memory"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":979,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13777:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":145,"src":"13777:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":976,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"13762:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13762:26:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":982,"nodeType":"ExpressionStatement","src":"13762:26:1"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":986,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"13821:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":987,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13830:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"13830:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":989,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"13848:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":148,"src":"13848:20:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":991,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"13870:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"winningTokens","nodeType":"MemberAccess","referencedDeclaration":156,"src":"13870:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":985,"name":"_ChallengeFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"13804:16:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256)"}},"id":993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13804:90:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":994,"nodeType":"ExpressionStatement","src":"13804:90:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":998,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13925:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":141,"src":"13925:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1000,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":945,"src":"13937:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":996,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"13910:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"13910:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":1001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13910:34:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":995,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"13902:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13902:43:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1003,"nodeType":"ExpressionStatement","src":"13902:43:1"}]}}]},"documentation":"@dev resolves a challenge for the provided _propID. It must be checked in advance whether the _propID has a challenge on it\n@param _propID the proposal ID whose challenge is to be resolved.","id":1030,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"resolveChallenge","nodeType":"FunctionDefinition","parameters":{"id":929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"name":"_propID","nodeType":"VariableDeclaration","scope":1030,"src":"13230:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13230:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"13229:17:1"},"payable":false,"returnParameters":{"id":930,"nodeType":"ParameterList","parameters":[],"src":"13255:0:1"},"scope":1047,"src":"13204:993:1","stateMutability":"nonpayable","superFunction":null,"visibility":"private"},{"body":{"id":1045,"nodeType":"Block","src":"14431:44:1","statements":[{"expression":{"argumentTypes":null,"id":1043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1037,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"14437:6:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":1041,"indexExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1039,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"14454:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1038,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"14444:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":1040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14444:16:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14437:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1042,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1034,"src":"14464:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14437:33:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1044,"nodeType":"ExpressionStatement","src":"14437:33:1"}]},"documentation":"@dev sets the param keted by the provided name to the provided value\n@param _name the name of the param to be set\n@param _value the value to set the param to be set","id":1046,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"set","nodeType":"FunctionDefinition","parameters":{"id":1035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1032,"name":"_name","nodeType":"VariableDeclaration","scope":1046,"src":"14396:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":1031,"name":"string","nodeType":"ElementaryTypeName","src":"14396:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":1034,"name":"_value","nodeType":"VariableDeclaration","scope":1046,"src":"14410:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1033,"name":"uint","nodeType":"ElementaryTypeName","src":"14410:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14395:27:1"},"payable":false,"returnParameters":{"id":1036,"nodeType":"ParameterList","parameters":[],"src":"14431:0:1"},"scope":1047,"src":"14383:92:1","stateMutability":"nonpayable","superFunction":null,"visibility":"private"}],"scope":1048,"src":"141:14336:1"}],"src":"0:14479:1"},"legacyAST":{"absolutePath":"/media/op/w3/tcr/contracts/Parameterizer.sol","exportedSymbols":{"Parameterizer":[1047]},"id":1048,"nodeType":"SourceUnit","nodes":[{"id":59,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:23:1"},{"absolutePath":"plcrvoting/PLCRVoting.sol","file":"plcrvoting/PLCRVoting.sol","id":60,"nodeType":"ImportDirective","scope":1048,"sourceUnit":3525,"src":"25:35:1","symbolAliases":[],"unitAlias":""},{"absolutePath":"tokens/eip20/EIP20Interface.sol","file":"tokens/eip20/EIP20Interface.sol","id":61,"nodeType":"ImportDirective","scope":1048,"sourceUnit":3819,"src":"61:41:1","symbolAliases":[],"unitAlias":""},{"absolutePath":"zeppelin/math/SafeMath.sol","file":"zeppelin/math/SafeMath.sol","id":62,"nodeType":"ImportDirective","scope":1048,"sourceUnit":3914,"src":"103:36:1","symbolAliases":[],"unitAlias":""},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":1047,"linearizedBaseContracts":[1047],"name":"Parameterizer","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":null,"id":76,"name":"_ReparameterizationProposal","nodeType":"EventDefinition","parameters":{"id":75,"nodeType":"ParameterList","parameters":[{"constant":false,"id":64,"indexed":false,"name":"name","nodeType":"VariableDeclaration","scope":76,"src":"240:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":63,"name":"string","nodeType":"ElementaryTypeName","src":"240:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":66,"indexed":false,"name":"value","nodeType":"VariableDeclaration","scope":76,"src":"253:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":65,"name":"uint","nodeType":"ElementaryTypeName","src":"253:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":68,"indexed":false,"name":"propID","nodeType":"VariableDeclaration","scope":76,"src":"265:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":67,"name":"bytes32","nodeType":"ElementaryTypeName","src":"265:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":70,"indexed":false,"name":"deposit","nodeType":"VariableDeclaration","scope":76,"src":"281:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":69,"name":"uint","nodeType":"ElementaryTypeName","src":"281:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":72,"indexed":false,"name":"appEndDate","nodeType":"VariableDeclaration","scope":76,"src":"295:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":71,"name":"uint","nodeType":"ElementaryTypeName","src":"295:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":74,"indexed":true,"name":"proposer","nodeType":"VariableDeclaration","scope":76,"src":"312:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":73,"name":"address","nodeType":"ElementaryTypeName","src":"312:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"239:98:1"},"src":"206:132:1"},{"anonymous":false,"documentation":null,"id":88,"name":"_NewChallenge","nodeType":"EventDefinition","parameters":{"id":87,"nodeType":"ParameterList","parameters":[{"constant":false,"id":78,"indexed":true,"name":"propID","nodeType":"VariableDeclaration","scope":88,"src":"361:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":77,"name":"bytes32","nodeType":"ElementaryTypeName","src":"361:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":80,"indexed":false,"name":"challengeID","nodeType":"VariableDeclaration","scope":88,"src":"385:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":79,"name":"uint","nodeType":"ElementaryTypeName","src":"385:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":82,"indexed":false,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":88,"src":"403:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":81,"name":"uint","nodeType":"ElementaryTypeName","src":"403:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":84,"indexed":false,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":88,"src":"423:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":83,"name":"uint","nodeType":"ElementaryTypeName","src":"423:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":86,"indexed":true,"name":"challenger","nodeType":"VariableDeclaration","scope":88,"src":"443:26:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":85,"name":"address","nodeType":"ElementaryTypeName","src":"443:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"360:110:1"},"src":"341:130:1"},{"anonymous":false,"documentation":null,"id":96,"name":"_ProposalAccepted","nodeType":"EventDefinition","parameters":{"id":95,"nodeType":"ParameterList","parameters":[{"constant":false,"id":90,"indexed":true,"name":"propID","nodeType":"VariableDeclaration","scope":96,"src":"498:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":89,"name":"bytes32","nodeType":"ElementaryTypeName","src":"498:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":92,"indexed":false,"name":"name","nodeType":"VariableDeclaration","scope":96,"src":"522:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":91,"name":"string","nodeType":"ElementaryTypeName","src":"522:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":94,"indexed":false,"name":"value","nodeType":"VariableDeclaration","scope":96,"src":"535:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":93,"name":"uint","nodeType":"ElementaryTypeName","src":"535:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"497:49:1"},"src":"474:73:1"},{"anonymous":false,"documentation":null,"id":100,"name":"_ProposalExpired","nodeType":"EventDefinition","parameters":{"id":99,"nodeType":"ParameterList","parameters":[{"constant":false,"id":98,"indexed":true,"name":"propID","nodeType":"VariableDeclaration","scope":100,"src":"573:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":97,"name":"bytes32","nodeType":"ElementaryTypeName","src":"573:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"572:24:1"},"src":"550:47:1"},{"anonymous":false,"documentation":null,"id":110,"name":"_ChallengeSucceeded","nodeType":"EventDefinition","parameters":{"id":109,"nodeType":"ParameterList","parameters":[{"constant":false,"id":102,"indexed":true,"name":"propID","nodeType":"VariableDeclaration","scope":110,"src":"626:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":101,"name":"bytes32","nodeType":"ElementaryTypeName","src":"626:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":104,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":110,"src":"650:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":103,"name":"uint","nodeType":"ElementaryTypeName","src":"650:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":106,"indexed":false,"name":"rewardPool","nodeType":"VariableDeclaration","scope":110,"src":"676:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":105,"name":"uint","nodeType":"ElementaryTypeName","src":"676:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":108,"indexed":false,"name":"totalTokens","nodeType":"VariableDeclaration","scope":110,"src":"693:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":107,"name":"uint","nodeType":"ElementaryTypeName","src":"693:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"625:85:1"},"src":"600:111:1"},{"anonymous":false,"documentation":null,"id":120,"name":"_ChallengeFailed","nodeType":"EventDefinition","parameters":{"id":119,"nodeType":"ParameterList","parameters":[{"constant":false,"id":112,"indexed":true,"name":"propID","nodeType":"VariableDeclaration","scope":120,"src":"737:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":111,"name":"bytes32","nodeType":"ElementaryTypeName","src":"737:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":114,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":120,"src":"761:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":113,"name":"uint","nodeType":"ElementaryTypeName","src":"761:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":116,"indexed":false,"name":"rewardPool","nodeType":"VariableDeclaration","scope":120,"src":"787:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":115,"name":"uint","nodeType":"ElementaryTypeName","src":"787:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":118,"indexed":false,"name":"totalTokens","nodeType":"VariableDeclaration","scope":120,"src":"804:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":117,"name":"uint","nodeType":"ElementaryTypeName","src":"804:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"736:85:1"},"src":"714:108:1"},{"anonymous":false,"documentation":null,"id":128,"name":"_RewardClaimed","nodeType":"EventDefinition","parameters":{"id":127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":122,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":128,"src":"846:24:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":121,"name":"uint","nodeType":"ElementaryTypeName","src":"846:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":124,"indexed":false,"name":"reward","nodeType":"VariableDeclaration","scope":128,"src":"872:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":123,"name":"uint","nodeType":"ElementaryTypeName","src":"872:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":126,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":128,"src":"885:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":125,"name":"address","nodeType":"ElementaryTypeName","src":"885:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"845:62:1"},"src":"825:83:1"},{"id":131,"libraryName":{"contractScope":null,"id":129,"name":"SafeMath","nodeType":"UserDefinedTypeName","referencedDeclaration":3913,"src":"965:8:1","typeDescriptions":{"typeIdentifier":"t_contract$_SafeMath_$3913","typeString":"library SafeMath"}},"nodeType":"UsingForDirective","src":"959:24:1","typeName":{"id":130,"name":"uint","nodeType":"ElementaryTypeName","src":"978:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"canonicalName":"Parameterizer.ParamProposal","id":146,"members":[{"constant":false,"id":133,"name":"appExpiry","nodeType":"VariableDeclaration","scope":146,"src":"1014:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":132,"name":"uint","nodeType":"ElementaryTypeName","src":"1014:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":135,"name":"challengeID","nodeType":"VariableDeclaration","scope":146,"src":"1034:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":134,"name":"uint","nodeType":"ElementaryTypeName","src":"1034:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":137,"name":"deposit","nodeType":"VariableDeclaration","scope":146,"src":"1056:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":136,"name":"uint","nodeType":"ElementaryTypeName","src":"1056:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":139,"name":"name","nodeType":"VariableDeclaration","scope":146,"src":"1074:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"},"typeName":{"id":138,"name":"string","nodeType":"ElementaryTypeName","src":"1074:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":141,"name":"owner","nodeType":"VariableDeclaration","scope":146,"src":"1091:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":140,"name":"address","nodeType":"ElementaryTypeName","src":"1091:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":143,"name":"processBy","nodeType":"VariableDeclaration","scope":146,"src":"1110:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":142,"name":"uint","nodeType":"ElementaryTypeName","src":"1110:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":145,"name":"value","nodeType":"VariableDeclaration","scope":146,"src":"1130:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":144,"name":"uint","nodeType":"ElementaryTypeName","src":"1130:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"name":"ParamProposal","nodeType":"StructDefinition","scope":1047,"src":"987:158:1","visibility":"public"},{"canonicalName":"Parameterizer.Challenge","id":161,"members":[{"constant":false,"id":148,"name":"rewardPool","nodeType":"VariableDeclaration","scope":161,"src":"1172:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":147,"name":"uint","nodeType":"ElementaryTypeName","src":"1172:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":150,"name":"challenger","nodeType":"VariableDeclaration","scope":161,"src":"1265:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":149,"name":"address","nodeType":"ElementaryTypeName","src":"1265:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":152,"name":"resolved","nodeType":"VariableDeclaration","scope":161,"src":"1315:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":151,"name":"bool","nodeType":"ElementaryTypeName","src":"1315:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":154,"name":"stake","nodeType":"VariableDeclaration","scope":161,"src":"1385:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":153,"name":"uint","nodeType":"ElementaryTypeName","src":"1385:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":156,"name":"winningTokens","nodeType":"VariableDeclaration","scope":161,"src":"1475:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":155,"name":"uint","nodeType":"ElementaryTypeName","src":"1475:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":160,"name":"tokenClaims","nodeType":"VariableDeclaration","scope":161,"src":"1571:36:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":159,"keyType":{"id":157,"name":"address","nodeType":"ElementaryTypeName","src":"1579:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"1571:24:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":158,"name":"bool","nodeType":"ElementaryTypeName","src":"1590:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"value":null,"visibility":"internal"}],"name":"Challenge","nodeType":"StructDefinition","scope":1047,"src":"1149:463:1","visibility":"public"},{"constant":false,"id":165,"name":"params","nodeType":"VariableDeclaration","scope":1047,"src":"1652:38:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"typeName":{"id":164,"keyType":{"id":162,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1660:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1652:24:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"},"valueType":{"id":163,"name":"uint","nodeType":"ElementaryTypeName","src":"1671:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},"value":null,"visibility":"public"},{"constant":false,"id":169,"name":"challenges","nodeType":"VariableDeclaration","scope":1047,"src":"1747:44:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"},"typeName":{"id":168,"keyType":{"id":166,"name":"uint","nodeType":"ElementaryTypeName","src":"1755:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"1747:26:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"},"valueType":{"contractScope":null,"id":167,"name":"Challenge","nodeType":"UserDefinedTypeName","referencedDeclaration":161,"src":"1763:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}}},"value":null,"visibility":"public"},{"constant":false,"id":173,"name":"proposals","nodeType":"VariableDeclaration","scope":1047,"src":"1853:50:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"},"typeName":{"id":172,"keyType":{"id":170,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1861:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"1853:33:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"},"valueType":{"contractScope":null,"id":171,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"1872:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}}},"value":null,"visibility":"public"},{"constant":false,"id":175,"name":"token","nodeType":"VariableDeclaration","scope":1047,"src":"1930:27:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"},"typeName":{"contractScope":null,"id":174,"name":"EIP20Interface","nodeType":"UserDefinedTypeName","referencedDeclaration":3818,"src":"1930:14:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"value":null,"visibility":"public"},{"constant":false,"id":177,"name":"voting","nodeType":"VariableDeclaration","scope":1047,"src":"1961:24:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"},"typeName":{"contractScope":null,"id":176,"name":"PLCRVoting","nodeType":"UserDefinedTypeName","referencedDeclaration":3524,"src":"1961:10:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"value":null,"visibility":"public"},{"constant":false,"id":180,"name":"PROCESSBY","nodeType":"VariableDeclaration","scope":1047,"src":"1989:30:1","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":178,"name":"uint","nodeType":"ElementaryTypeName","src":"1989:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":{"argumentTypes":null,"hexValue":"363034383030","id":179,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2013:6:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_604800_by_1","typeString":"int_const 604800"},"value":"604800"},"visibility":"public"},{"body":{"id":283,"nodeType":"Block","src":"3650:618:1","statements":[{"expression":{"argumentTypes":null,"id":215,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":211,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"3658:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":213,"name":"_tokenAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":182,"src":"3681:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":212,"name":"EIP20Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3818,"src":"3666:14:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EIP20Interface_$3818_$","typeString":"type(contract EIP20Interface)"}},"id":214,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3666:26:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"src":"3658:34:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":216,"nodeType":"ExpressionStatement","src":"3658:34:1"},{"expression":{"argumentTypes":null,"id":221,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":217,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"3700:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":219,"name":"_plcrAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":184,"src":"3720:9:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":218,"name":"PLCRVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3524,"src":"3709:10:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PLCRVoting_$3524_$","typeString":"type(contract PLCRVoting)"}},"id":220,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3709:21:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"src":"3700:30:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":222,"nodeType":"ExpressionStatement","src":"3700:30:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6d696e4465706f736974","id":224,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3743:12:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""},"value":"minDeposit"},{"argumentTypes":null,"id":225,"name":"_minDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186,"src":"3757:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":223,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3739:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":226,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3739:30:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":227,"nodeType":"ExpressionStatement","src":"3739:30:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704d696e4465706f736974","id":229,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3781:13:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200","typeString":"literal_string \"pMinDeposit\""},"value":"pMinDeposit"},{"argumentTypes":null,"id":230,"name":"_pMinDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":188,"src":"3796:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200","typeString":"literal_string \"pMinDeposit\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":228,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3777:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3777:32:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":232,"nodeType":"ExpressionStatement","src":"3777:32:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6170706c7953746167654c656e","id":234,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3821:15:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da","typeString":"literal_string \"applyStageLen\""},"value":"applyStageLen"},{"argumentTypes":null,"id":235,"name":"_applyStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":190,"src":"3838:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da","typeString":"literal_string \"applyStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":233,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3817:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":236,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3817:36:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":237,"nodeType":"ExpressionStatement","src":"3817:36:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704170706c7953746167654c656e","id":239,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3865:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""},"value":"pApplyStageLen"},{"argumentTypes":null,"id":240,"name":"_pApplyStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":192,"src":"3883:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":238,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3861:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":241,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3861:38:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":242,"nodeType":"ExpressionStatement","src":"3861:38:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"636f6d6d697453746167654c656e","id":244,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3911:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d","typeString":"literal_string \"commitStageLen\""},"value":"commitStageLen"},{"argumentTypes":null,"id":245,"name":"_commitStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":194,"src":"3929:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d","typeString":"literal_string \"commitStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":243,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3907:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":246,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3907:38:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":247,"nodeType":"ExpressionStatement","src":"3907:38:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70436f6d6d697453746167654c656e","id":249,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3957:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""},"value":"pCommitStageLen"},{"argumentTypes":null,"id":250,"name":"_pCommitStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":196,"src":"3976:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":248,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"3953:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3953:40:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":252,"nodeType":"ExpressionStatement","src":"3953:40:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"72657665616c53746167654c656e","id":254,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4005:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1","typeString":"literal_string \"revealStageLen\""},"value":"revealStageLen"},{"argumentTypes":null,"id":255,"name":"_revealStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":198,"src":"4023:15:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1","typeString":"literal_string \"revealStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":253,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4001:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4001:38:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":257,"nodeType":"ExpressionStatement","src":"4001:38:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7052657665616c53746167654c656e","id":259,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4051:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""},"value":"pRevealStageLen"},{"argumentTypes":null,"id":260,"name":"_pRevealStageLen","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":200,"src":"4070:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":258,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4047:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4047:40:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":262,"nodeType":"ExpressionStatement","src":"4047:40:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"64697370656e736174696f6e506374","id":264,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4099:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""},"value":"dispensationPct"},{"argumentTypes":null,"id":265,"name":"_dispensationPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":202,"src":"4118:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":263,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4095:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":266,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4095:40:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":267,"nodeType":"ExpressionStatement","src":"4095:40:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7044697370656e736174696f6e506374","id":269,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4147:18:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""},"value":"pDispensationPct"},{"argumentTypes":null,"id":270,"name":"_pDispensationPct","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":204,"src":"4167:17:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":268,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4143:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":271,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4143:42:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":272,"nodeType":"ExpressionStatement","src":"4143:42:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"766f746551756f72756d","id":274,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4197:12:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878","typeString":"literal_string \"voteQuorum\""},"value":"voteQuorum"},{"argumentTypes":null,"id":275,"name":"_voteQuorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":206,"src":"4211:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878","typeString":"literal_string \"voteQuorum\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":273,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4193:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":276,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4193:30:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":277,"nodeType":"ExpressionStatement","src":"4193:30:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70566f746551756f72756d","id":279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4235:13:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138","typeString":"literal_string \"pVoteQuorum\""},"value":"pVoteQuorum"},{"argumentTypes":null,"id":280,"name":"_pVoteQuorum","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":208,"src":"4250:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138","typeString":"literal_string \"pVoteQuorum\""},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":278,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"4231:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4231:32:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":282,"nodeType":"ExpressionStatement","src":"4231:32:1"}]},"documentation":"@dev constructor\n@param _tokenAddr address of the token which parameterizes this system\n@param _plcrAddr address of a PLCR voting contract for the provided token\n@param _minDeposit minimum deposit for listing to be whitelisted\n@param _pMinDeposit minimum deposit to propose a reparameterization\n@param _applyStageLen period over which applicants wait to be whitelisted\n@param _pApplyStageLen period over which reparmeterization proposals wait to be processed\n@param _dispensationPct percentage of losing party's deposit distributed to winning party\n@param _pDispensationPct percentage of losing party's deposit distributed to winning party in parameterizer\n@param _commitStageLen length of commit period for voting\n@param _pCommitStageLen length of commit period for voting in parameterizer\n@param _revealStageLen length of reveal period for voting\n@param _pRevealStageLen length of reveal period for voting in parameterizer\n@param _voteQuorum type of majority out of 100 necessary for vote success\n@param _pVoteQuorum type of majority out of 100 necessary for vote success in parameterizer","id":284,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"Parameterizer","nodeType":"FunctionDefinition","parameters":{"id":209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":182,"name":"_tokenAddr","nodeType":"VariableDeclaration","scope":284,"src":"3293:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":181,"name":"address","nodeType":"ElementaryTypeName","src":"3293:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":184,"name":"_plcrAddr","nodeType":"VariableDeclaration","scope":284,"src":"3317:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":183,"name":"address","nodeType":"ElementaryTypeName","src":"3317:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":186,"name":"_minDeposit","nodeType":"VariableDeclaration","scope":284,"src":"3340:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":185,"name":"uint","nodeType":"ElementaryTypeName","src":"3340:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":188,"name":"_pMinDeposit","nodeType":"VariableDeclaration","scope":284,"src":"3362:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":187,"name":"uint","nodeType":"ElementaryTypeName","src":"3362:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":190,"name":"_applyStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3385:19:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":189,"name":"uint","nodeType":"ElementaryTypeName","src":"3385:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":192,"name":"_pApplyStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3410:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":191,"name":"uint","nodeType":"ElementaryTypeName","src":"3410:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":194,"name":"_commitStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3436:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":193,"name":"uint","nodeType":"ElementaryTypeName","src":"3436:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":196,"name":"_pCommitStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3462:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":195,"name":"uint","nodeType":"ElementaryTypeName","src":"3462:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":198,"name":"_revealStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3489:20:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":197,"name":"uint","nodeType":"ElementaryTypeName","src":"3489:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":200,"name":"_pRevealStageLen","nodeType":"VariableDeclaration","scope":284,"src":"3515:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":199,"name":"uint","nodeType":"ElementaryTypeName","src":"3515:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":202,"name":"_dispensationPct","nodeType":"VariableDeclaration","scope":284,"src":"3542:21:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":201,"name":"uint","nodeType":"ElementaryTypeName","src":"3542:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":204,"name":"_pDispensationPct","nodeType":"VariableDeclaration","scope":284,"src":"3569:22:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":203,"name":"uint","nodeType":"ElementaryTypeName","src":"3569:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":206,"name":"_voteQuorum","nodeType":"VariableDeclaration","scope":284,"src":"3597:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":205,"name":"uint","nodeType":"ElementaryTypeName","src":"3597:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":208,"name":"_pVoteQuorum","nodeType":"VariableDeclaration","scope":284,"src":"3619:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":207,"name":"uint","nodeType":"ElementaryTypeName","src":"3619:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"3287:355:1"},"payable":false,"returnParameters":{"id":210,"nodeType":"ParameterList","parameters":[],"src":"3650:0:1"},"scope":1047,"src":"3265:1003:1","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":407,"nodeType":"Block","src":"4650:997:1","statements":[{"assignments":[294],"declarations":[{"constant":false,"id":294,"name":"deposit","nodeType":"VariableDeclaration","scope":408,"src":"4656:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":293,"name":"uint","nodeType":"ElementaryTypeName","src":"4656:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":298,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704d696e4465706f736974","id":296,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4675:13:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200","typeString":"literal_string \"pMinDeposit\""},"value":"pMinDeposit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_79b35b6e30f7c782e133dcfa06a825d420ec880f4036bf04dd005fe368978200","typeString":"literal_string \"pMinDeposit\""}],"id":295,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"4671:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4671:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"4656:33:1"},{"assignments":[300],"declarations":[{"constant":false,"id":300,"name":"propID","nodeType":"VariableDeclaration","scope":408,"src":"4695:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":299,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4695:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"id":305,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":302,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"4722:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"id":303,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"4729:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":301,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"4712:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":304,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4712:24:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"4695:41:1"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":320,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":312,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":307,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"4757:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":306,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"4747:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4747:16:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"64697370656e736174696f6e506374","id":310,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4777:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""},"value":"dispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""}],"id":309,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"4767:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":311,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4767:28:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4747:48:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"id":319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":314,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"4816:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":313,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"4806:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":315,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4806:16:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7044697370656e736174696f6e506374","id":317,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4836:18:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""},"value":"pDispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""}],"id":316,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"4826:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":318,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4826:29:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"4806:49:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"4747:108:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":328,"nodeType":"IfStatement","src":"4743:153:1","trueBody":{"id":327,"nodeType":"Block","src":"4857:39:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":324,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":322,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"4875:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"hexValue":"313030","id":323,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4885:3:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"4875:13:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":321,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4867:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":325,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4867:22:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":326,"nodeType":"ExpressionStatement","src":"4867:22:1"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":333,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"4910:19:1","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":331,"name":"propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"4922:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":330,"name":"propExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":821,"src":"4911:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4911:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":329,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4902:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":334,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4902:28:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":335,"nodeType":"ExpressionStatement","src":"4902:28:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":341,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":338,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"4978:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":337,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"4974:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":339,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4974:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"!=","rightExpression":{"argumentTypes":null,"id":340,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"4988:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4974:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":336,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4966:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":342,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4966:29:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":343,"nodeType":"ExpressionStatement","src":"4966:29:1"},{"expression":{"argumentTypes":null,"id":380,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":344,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"5076:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":346,"indexExpression":{"argumentTypes":null,"id":345,"name":"propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"5086:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"5076:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704170706c7953746167654c656e","id":351,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5141:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""},"value":"pApplyStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""}],"id":350,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"5137:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":352,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5137:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":348,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"5129:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":349,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"5129:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":353,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5129:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"hexValue":"30","id":354,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5180:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"argumentTypes":null,"id":355,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"5198:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":356,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"5219:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":357,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5239:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5239:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":376,"name":"PROCESSBY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"5386:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7052657665616c53746167654c656e","id":372,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5353:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""},"value":"pRevealStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""}],"id":371,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"5349:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":373,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5349:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70436f6d6d697453746167654c656e","id":367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5316:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""},"value":"pCommitStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""}],"id":366,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"5312:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5312:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704170706c7953746167654c656e","id":362,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5280:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""},"value":"pApplyStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""}],"id":361,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"5276:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":363,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5276:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":359,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"5268:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":360,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"5268:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":364,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5268:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":365,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"5268:43:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":369,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5268:67:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":370,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"5268:80:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":374,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5268:104:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"5268:117:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5268:128:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":378,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"5411:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":null,"id":347,"name":"ParamProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146,"src":"5096:13:1","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_ParamProposal_$146_storage_ptr_$","typeString":"type(struct Parameterizer.ParamProposal storage pointer)"}},"id":379,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["appExpiry","challengeID","deposit","name","owner","processBy","value"],"nodeType":"FunctionCall","src":"5096:328:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory","typeString":"struct Parameterizer.ParamProposal memory"}},"src":"5076:348:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"id":381,"nodeType":"ExpressionStatement","src":"5076:348:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":385,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5458:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":386,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5458:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":387,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3951,"src":"5470:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},{"argumentTypes":null,"id":388,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"5476:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":383,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"5439:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":384,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"5439:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":389,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5439:45:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":382,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5431:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":390,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5431:54:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":391,"nodeType":"ExpressionStatement","src":"5431:54:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":393,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":286,"src":"5551:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},{"argumentTypes":null,"id":394,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":288,"src":"5558:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":395,"name":"propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"5566:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":396,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":294,"src":"5574:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":397,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"5583:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":399,"indexExpression":{"argumentTypes":null,"id":398,"name":"propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"5593:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5583:17:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"id":400,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appExpiry","nodeType":"MemberAccess","referencedDeclaration":133,"src":"5583:27:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":401,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5612:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5612:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":392,"name":"_ReparameterizationProposal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":76,"src":"5523:27:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_string_memory_ptr_$_t_uint256_$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (string memory,uint256,bytes32,uint256,uint256,address)"}},"id":403,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5523:100:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":404,"nodeType":"ExpressionStatement","src":"5523:100:1"},{"expression":{"argumentTypes":null,"id":405,"name":"propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":300,"src":"5636:6:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"functionReturnParameters":292,"id":406,"nodeType":"Return","src":"5629:13:1"}]},"documentation":"@notice propose a reparamaterization of the key _name's value to _value.\n@param _name the name of the proposed param to be set\n@param _value the proposed value to set the param to be set","id":408,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"proposeReparameterization","nodeType":"FunctionDefinition","parameters":{"id":289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":286,"name":"_name","nodeType":"VariableDeclaration","scope":408,"src":"4598:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":285,"name":"string","nodeType":"ElementaryTypeName","src":"4598:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":288,"name":"_value","nodeType":"VariableDeclaration","scope":408,"src":"4612:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":287,"name":"uint","nodeType":"ElementaryTypeName","src":"4612:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4597:27:1"},"payable":false,"returnParameters":{"id":292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":291,"name":"","nodeType":"VariableDeclaration","scope":408,"src":"4641:7:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4641:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"4640:9:1"},"scope":1047,"src":"4563:1084:1","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":512,"nodeType":"Block","src":"5876:885:1","statements":[{"assignments":[416],"declarations":[{"constant":false,"id":416,"name":"prop","nodeType":"VariableDeclaration","scope":513,"src":"5882:25:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"},"typeName":{"contractScope":null,"id":415,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"5882:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"value":null,"visibility":"internal"}],"id":420,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":417,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"5910:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":419,"indexExpression":{"argumentTypes":null,"id":418,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":410,"src":"5920:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5910:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5882:46:1"},{"assignments":[422],"declarations":[{"constant":false,"id":422,"name":"deposit","nodeType":"VariableDeclaration","scope":513,"src":"5934:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":421,"name":"uint","nodeType":"ElementaryTypeName","src":"5934:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":425,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":423,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":416,"src":"5949:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":424,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":137,"src":"5949:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"5934:27:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":434,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":428,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":410,"src":"5987:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":427,"name":"propExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":821,"src":"5976:10:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":429,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5976:19:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":433,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":430,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":416,"src":"5999:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":431,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"5999:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":432,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6019:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"5999:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"5976:44:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":426,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5968:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":435,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5968:53:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":436,"nodeType":"ExpressionStatement","src":"5968:53:1"},{"assignments":[438],"declarations":[{"constant":false,"id":438,"name":"pollID","nodeType":"VariableDeclaration","scope":513,"src":"6045:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":437,"name":"uint","nodeType":"ElementaryTypeName","src":"6045:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":451,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70566f746551756f72756d","id":442,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6087:13:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138","typeString":"literal_string \"pVoteQuorum\""},"value":"pVoteQuorum"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1cd8ca3a1baaf24ca4431f7b59b78854d08ce96815f9b5677de2c92385fb9138","typeString":"literal_string \"pVoteQuorum\""}],"id":441,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"6083:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":443,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6083:18:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70436f6d6d697453746167654c656e","id":445,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6113:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""},"value":"pCommitStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""}],"id":444,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"6109:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6109:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7052657665616c53746167654c656e","id":448,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6143:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""},"value":"pRevealStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""}],"id":447,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"6139:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6139:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":439,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"6059:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":440,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPoll","nodeType":"MemberAccess","referencedDeclaration":3157,"src":"6059:16:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) external returns (uint256)"}},"id":450,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6059:108:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"6045:122:1"},{"expression":{"argumentTypes":null,"id":475,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":452,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"6174:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":454,"indexExpression":{"argumentTypes":null,"id":453,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"6185:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"6174:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":456,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"6225:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":457,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6225:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"313030","id":469,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6315:3:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":466,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"6302:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"313030","id":460,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6268:3:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7044697370656e736174696f6e506374","id":462,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6277:18:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""},"value":"pDispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""}],"id":461,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"6273:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6273:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":458,"name":"SafeMath","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3913,"src":"6255:8:1","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_SafeMath_$3913_$","typeString":"type(library SafeMath)"}},"id":459,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sub","nodeType":"MemberAccess","referencedDeclaration":3888,"src":"6255:12:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6255:42:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":465,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"mul","nodeType":"MemberAccess","referencedDeclaration":3850,"src":"6255:46:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6255:55:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"div","nodeType":"MemberAccess","referencedDeclaration":3868,"src":"6255:59:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":470,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6255:64:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":471,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"6334:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"hexValue":"66616c7365","id":472,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"6359:5:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"argumentTypes":null,"hexValue":"30","id":473,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6387:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":null,"id":455,"name":"Challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":161,"src":"6195:9:1","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Challenge_$161_storage_ptr_$","typeString":"type(struct Parameterizer.Challenge storage pointer)"}},"id":474,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["challenger","rewardPool","stake","resolved","winningTokens"],"nodeType":"FunctionCall","src":"6195:200:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_memory","typeString":"struct Parameterizer.Challenge memory"}},"src":"6174:221:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":476,"nodeType":"ExpressionStatement","src":"6174:221:1"},{"expression":{"argumentTypes":null,"id":482,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":477,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"6402:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":479,"indexExpression":{"argumentTypes":null,"id":478,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":410,"src":"6412:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6402:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"id":480,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"6402:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":481,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"6435:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"6402:39:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":483,"nodeType":"ExpressionStatement","src":"6402:39:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":487,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"6564:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6564:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":489,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3951,"src":"6576:4:1","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},{"argumentTypes":null,"id":490,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":422,"src":"6582:7:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":485,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"6545:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":486,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"6545:18:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":491,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6545:45:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":484,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"6537:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":492,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6537:54:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":493,"nodeType":"ExpressionStatement","src":"6537:54:1"},{"assignments":[494,495,null,null,null],"declarations":[{"constant":false,"id":494,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":513,"src":"6603:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":null,"value":null,"visibility":"internal"},{"constant":false,"id":495,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":513,"src":"6618:13:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":null,"value":null,"visibility":"internal"},null],"id":500,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":498,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"6651:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":496,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"6636:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":497,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pollMap","nodeType":"MemberAccess","referencedDeclaration":2597,"src":"6636:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)"}},"id":499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6636:22:1","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"6598:60:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":502,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":410,"src":"6679:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":503,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"6688:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":504,"name":"commitEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":494,"src":"6696:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":505,"name":"revealEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":495,"src":"6711:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":506,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"6726:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":507,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6726:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":501,"name":"_NewChallenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":88,"src":"6665:13:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256,address)"}},"id":508,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6665:72:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":509,"nodeType":"ExpressionStatement","src":"6665:72:1"},{"expression":{"argumentTypes":null,"id":510,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":438,"src":"6750:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":414,"id":511,"nodeType":"Return","src":"6743:13:1"}]},"documentation":"@notice challenge the provided proposal ID, and put tokens at stake to do so.\n@param _propID the proposal ID to challenge","id":513,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"challengeReparameterization","nodeType":"FunctionDefinition","parameters":{"id":411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":410,"name":"_propID","nodeType":"VariableDeclaration","scope":513,"src":"5825:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5825:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"5824:17:1"},"payable":false,"returnParameters":{"id":414,"nodeType":"ParameterList","parameters":[{"constant":false,"id":413,"name":"challengeID","nodeType":"VariableDeclaration","scope":513,"src":"5858:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":412,"name":"uint","nodeType":"ElementaryTypeName","src":"5858:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"5857:18:1"},"scope":1047,"src":"5788:973:1","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":645,"nodeType":"Block","src":"7105:1552:1","statements":[{"assignments":[519],"declarations":[{"constant":false,"id":519,"name":"prop","nodeType":"VariableDeclaration","scope":646,"src":"7111:26:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"},"typeName":{"contractScope":null,"id":518,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"7111:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"value":null,"visibility":"internal"}],"id":523,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":520,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"7140:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":522,"indexExpression":{"argumentTypes":null,"id":521,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7150:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7140:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7111:47:1"},{"assignments":[525],"declarations":[{"constant":false,"id":525,"name":"propOwner","nodeType":"VariableDeclaration","scope":646,"src":"7164:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":524,"name":"address","nodeType":"ElementaryTypeName","src":"7164:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"id":528,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":526,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7184:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":527,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":141,"src":"7184:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"7164:30:1"},{"assignments":[530],"declarations":[{"constant":false,"id":530,"name":"propDeposit","nodeType":"VariableDeclaration","scope":646,"src":"7200:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":529,"name":"uint","nodeType":"ElementaryTypeName","src":"7200:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":533,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":531,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7219:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":532,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"deposit","nodeType":"MemberAccess","referencedDeclaration":137,"src":"7219:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7200:31:1"},{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":535,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7425:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":534,"name":"canBeSet","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":806,"src":"7416:8:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":536,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7416:17:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":567,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7814:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":566,"name":"challengeCanBeResolved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":859,"src":"7791:22:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":568,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7791:31:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":577,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":574,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"7926:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":575,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7932:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":576,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"processBy","nodeType":"MemberAccess","referencedDeclaration":143,"src":"7932:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7926:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":599,"nodeType":"Block","src":"8170:151:1","statements":[{"expression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"id":596,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3930,"src":"8306:6:1","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$__$returns$__$","typeString":"function () pure"}},"id":597,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8306:8:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":598,"nodeType":"ExpressionStatement","src":"8306:8:1"}]},"id":600,"nodeType":"IfStatement","src":"7922:399:1","trueBody":{"id":595,"nodeType":"Block","src":"7948:216:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":579,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"8061:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":578,"name":"_ProposalExpired","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":100,"src":"8044:16:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":580,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8044:25:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":581,"nodeType":"ExpressionStatement","src":"8044:25:1"},{"expression":{"argumentTypes":null,"id":585,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"8077:25:1","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":582,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"8084:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":584,"indexExpression":{"argumentTypes":null,"id":583,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"8094:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8084:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":586,"nodeType":"ExpressionStatement","src":"8077:25:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":590,"name":"propOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":525,"src":"8133:9:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":591,"name":"propDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":530,"src":"8144:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":588,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"8118:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":589,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"8118:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8118:38:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":587,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"8110:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":593,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8110:47:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":594,"nodeType":"ExpressionStatement","src":"8110:47:1"}]}},"id":601,"nodeType":"IfStatement","src":"7787:534:1","trueBody":{"id":573,"nodeType":"Block","src":"7824:92:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":570,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7901:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":569,"name":"resolveChallenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1030,"src":"7884:16:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7884:25:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":572,"nodeType":"ExpressionStatement","src":"7884:25:1"}]}},"id":602,"nodeType":"IfStatement","src":"7412:909:1","trueBody":{"id":565,"nodeType":"Block","src":"7435:346:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":538,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7607:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":539,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":139,"src":"7607:9:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":540,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7618:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":541,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":145,"src":"7618:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":537,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"7603:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":542,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7603:26:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":543,"nodeType":"ExpressionStatement","src":"7603:26:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":545,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7655:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":546,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7664:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":547,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":139,"src":"7664:9:1","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":548,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":519,"src":"7675:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"id":549,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":145,"src":"7675:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":544,"name":"_ProposalAccepted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96,"src":"7637:17:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (bytes32,string memory,uint256)"}},"id":550,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7637:49:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":551,"nodeType":"ExpressionStatement","src":"7637:49:1"},{"expression":{"argumentTypes":null,"id":555,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"7694:25:1","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":552,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"7701:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":554,"indexExpression":{"argumentTypes":null,"id":553,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"7711:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"7701:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":556,"nodeType":"ExpressionStatement","src":"7694:25:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":560,"name":"propOwner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":525,"src":"7750:9:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":561,"name":"propDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":530,"src":"7761:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":558,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"7735:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"7735:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":562,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7735:38:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":557,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7727:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":563,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7727:47:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":564,"nodeType":"ExpressionStatement","src":"7727:47:1"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"64697370656e736174696f6e506374","id":605,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8338:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""},"value":"dispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""}],"id":604,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"8334:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":606,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8334:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"hexValue":"313030","id":607,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8360:3:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"8334:29:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":603,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"8327:6:1","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8327:37:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":610,"nodeType":"ExpressionStatement","src":"8327:37:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":616,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7044697370656e736174696f6e506374","id":613,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8381:18:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""},"value":"pDispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_05a3daf44f91da292c219c05dc954c342940b8aa851b594c6aaec71e37d44b79","typeString":"literal_string \"pDispensationPct\""}],"id":612,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"8377:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":614,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8377:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"hexValue":"313030","id":615,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8404:3:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"8377:30:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":611,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"8370:6:1","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":617,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8370:38:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":618,"nodeType":"ExpressionStatement","src":"8370:38:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":637,"name":"PROCESSBY","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180,"src":"8610:9:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"7052657665616c53746167654c656e","id":633,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8579:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""},"value":"pRevealStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_fb97b9af270fc6f948089d10e64865cacad847ebc2ed8f2c10065db2f3593fa5","typeString":"literal_string \"pRevealStageLen\""}],"id":632,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"8575:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8575:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"70436f6d6d697453746167654c656e","id":628,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8544:17:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""},"value":"pCommitStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_8ba0bfd13d315213bdff16c58a613af32380ba99f9d780656d5dec1267165fb1","typeString":"literal_string \"pCommitStageLen\""}],"id":627,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"8540:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8540:22:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"704170706c7953746167654c656e","id":623,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8510:16:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""},"value":"pApplyStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_5b5170ca3f1920aed95b983e4a145c32a025f4a29a71df82746241afd472a9d8","typeString":"literal_string \"pApplyStageLen\""}],"id":622,"name":"get","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":909,"src":"8506:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view returns (uint256)"}},"id":624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8506:21:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":619,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"8498:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":621,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"8498:7:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":625,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8498:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":626,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"8498:41:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":630,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8498:65:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":631,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"8498:76:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":635,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8498:100:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":636,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"8498:111:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":638,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8498:122:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":639,"nodeType":"ExpressionStatement","src":"8498:122:1"},{"expression":{"argumentTypes":null,"id":643,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"8627:25:1","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":640,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"8634:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":642,"indexExpression":{"argumentTypes":null,"id":641,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":515,"src":"8644:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8634:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":644,"nodeType":"ExpressionStatement","src":"8627:25:1"}]},"documentation":"@notice for the provided proposal ID, set it, resolve its challenge, or delete it depending on whether it can be set, has a challenge which can be resolved, or if its \"process by\" date has passed\n@param _propID the proposal ID to make a determination and state transition for","id":646,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"processProposal","nodeType":"FunctionDefinition","parameters":{"id":516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":515,"name":"_propID","nodeType":"VariableDeclaration","scope":646,"src":"7081:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7081:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"7080:17:1"},"payable":false,"returnParameters":{"id":517,"nodeType":"ParameterList","parameters":[],"src":"7105:0:1"},"scope":1047,"src":"7056:1601:1","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":733,"nodeType":"Block","src":"8941:839:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":662,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":654,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"9048:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":656,"indexExpression":{"argumentTypes":null,"id":655,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9059:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9048:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":657,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":160,"src":"9048:36:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":660,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":658,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9085:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":659,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9085:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9048:48:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"66616c7365","id":661,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9100:5:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"9048:57:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":653,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"9040:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":663,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9040:66:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":664,"nodeType":"ExpressionStatement","src":"9040:66:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":671,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":666,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"9120:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":668,"indexExpression":{"argumentTypes":null,"id":667,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9131:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9120:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":669,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":152,"src":"9120:33:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"74727565","id":670,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9157:4:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"9120:41:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":665,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"9112:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9112:50:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":673,"nodeType":"ExpressionStatement","src":"9112:50:1"},{"assignments":[675],"declarations":[{"constant":false,"id":675,"name":"voterTokens","nodeType":"VariableDeclaration","scope":734,"src":"9169:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":674,"name":"uint","nodeType":"ElementaryTypeName","src":"9169:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":683,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":678,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9215:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":679,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9215:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":680,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9227:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":681,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":650,"src":"9241:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":676,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"9188:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":677,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getNumPassingTokens","nodeType":"MemberAccess","referencedDeclaration":3101,"src":"9188:26:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view external returns (uint256)"}},"id":682,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9188:59:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9169:78:1"},{"assignments":[685],"declarations":[{"constant":false,"id":685,"name":"reward","nodeType":"VariableDeclaration","scope":734,"src":"9253:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":684,"name":"uint","nodeType":"ElementaryTypeName","src":"9253:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":692,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":687,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9279:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9279:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":689,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9291:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":690,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":650,"src":"9305:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":686,"name":"voterReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":776,"src":"9267:11:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view returns (uint256)"}},"id":691,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9267:44:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"9253:58:1"},{"expression":{"argumentTypes":null,"id":698,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":693,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"9456:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":695,"indexExpression":{"argumentTypes":null,"id":694,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9467:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9456:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":696,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"winningTokens","nodeType":"MemberAccess","referencedDeclaration":156,"src":"9456:38:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":697,"name":"voterTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":675,"src":"9498:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9456:53:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":699,"nodeType":"ExpressionStatement","src":"9456:53:1"},{"expression":{"argumentTypes":null,"id":705,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":700,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"9515:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":702,"indexExpression":{"argumentTypes":null,"id":701,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9526:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9515:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":703,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":148,"src":"9515:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":704,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"9554:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"9515:45:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":706,"nodeType":"ExpressionStatement","src":"9515:45:1"},{"expression":{"argumentTypes":null,"id":715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":707,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"9616:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":709,"indexExpression":{"argumentTypes":null,"id":708,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9627:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"9616:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":710,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":160,"src":"9616:36:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":713,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":711,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9653:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":712,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9653:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"9616:48:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":714,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"9667:4:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"9616:55:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":716,"nodeType":"ExpressionStatement","src":"9616:55:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":718,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":648,"src":"9693:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":719,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"9707:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":720,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9715:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":721,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9715:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":717,"name":"_RewardClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":128,"src":"9678:14:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address)"}},"id":722,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9678:48:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":723,"nodeType":"ExpressionStatement","src":"9678:48:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":727,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"9755:3:1","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"9755:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":729,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":685,"src":"9767:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":725,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"9740:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"9740:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":730,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9740:34:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":724,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"9732:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":731,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9732:43:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":732,"nodeType":"ExpressionStatement","src":"9732:43:1"}]},"documentation":"@notice claim the tokens owed for the msg.sender in the provided challenge\n@param _challengeID the challenge ID to claim tokens for\n@param _salt the salt used to vote in the challenge being withdrawn for","id":734,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"claimReward","nodeType":"FunctionDefinition","parameters":{"id":651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":648,"name":"_challengeID","nodeType":"VariableDeclaration","scope":734,"src":"8903:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":647,"name":"uint","nodeType":"ElementaryTypeName","src":"8903:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":650,"name":"_salt","nodeType":"VariableDeclaration","scope":734,"src":"8922:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":649,"name":"uint","nodeType":"ElementaryTypeName","src":"8922:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"8902:31:1"},"payable":false,"returnParameters":{"id":652,"nodeType":"ParameterList","parameters":[],"src":"8941:0:1"},"scope":1047,"src":"8882:898:1","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":775,"nodeType":"Block","src":"10333:264:1","statements":[{"assignments":[746],"declarations":[{"constant":false,"id":746,"name":"winningTokens","nodeType":"VariableDeclaration","scope":776,"src":"10339:18:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":745,"name":"uint","nodeType":"ElementaryTypeName","src":"10339:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":751,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":747,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"10360:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":749,"indexExpression":{"argumentTypes":null,"id":748,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"10371:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10360:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":750,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"winningTokens","nodeType":"MemberAccess","referencedDeclaration":156,"src":"10360:38:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10339:59:1"},{"assignments":[753],"declarations":[{"constant":false,"id":753,"name":"rewardPool","nodeType":"VariableDeclaration","scope":776,"src":"10404:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":752,"name":"uint","nodeType":"ElementaryTypeName","src":"10404:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":758,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":754,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"10422:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":756,"indexExpression":{"argumentTypes":null,"id":755,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"10433:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10422:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":757,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":148,"src":"10422:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10404:53:1"},{"assignments":[760],"declarations":[{"constant":false,"id":760,"name":"voterTokens","nodeType":"VariableDeclaration","scope":776,"src":"10463:16:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":759,"name":"uint","nodeType":"ElementaryTypeName","src":"10463:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":767,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":763,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":736,"src":"10509:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":764,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":738,"src":"10517:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":765,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":740,"src":"10531:5:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":761,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"10482:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":762,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getNumPassingTokens","nodeType":"MemberAccess","referencedDeclaration":3101,"src":"10482:26:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view external returns (uint256)"}},"id":766,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10482:55:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10463:74:1"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":773,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":770,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":768,"name":"voterTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":760,"src":"10551:11:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":769,"name":"rewardPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":753,"src":"10565:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10551:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":771,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10550:26:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"id":772,"name":"winningTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":746,"src":"10579:13:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10550:42:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":744,"id":774,"nodeType":"Return","src":"10543:49:1"}]},"documentation":"@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The ID of the challenge the voter's reward is being calculated for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward","id":776,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"voterReward","nodeType":"FunctionDefinition","parameters":{"id":741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":736,"name":"_voter","nodeType":"VariableDeclaration","scope":776,"src":"10257:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":735,"name":"address","nodeType":"ElementaryTypeName","src":"10257:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":738,"name":"_challengeID","nodeType":"VariableDeclaration","scope":776,"src":"10273:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":737,"name":"uint","nodeType":"ElementaryTypeName","src":"10273:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":740,"name":"_salt","nodeType":"VariableDeclaration","scope":776,"src":"10292:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":739,"name":"uint","nodeType":"ElementaryTypeName","src":"10292:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"10256:47:1"},"payable":false,"returnParameters":{"id":744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":743,"name":"","nodeType":"VariableDeclaration","scope":776,"src":"10327:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":742,"name":"uint","nodeType":"ElementaryTypeName","src":"10327:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"10326:6:1"},"scope":1047,"src":"10236:361:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":805,"nodeType":"Block","src":"10876:142:1","statements":[{"assignments":[784],"declarations":[{"constant":false,"id":784,"name":"prop","nodeType":"VariableDeclaration","scope":806,"src":"10882:25:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"},"typeName":{"contractScope":null,"id":783,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"10882:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"value":null,"visibility":"internal"}],"id":788,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":785,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"10910:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":787,"indexExpression":{"argumentTypes":null,"id":786,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":778,"src":"10920:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10910:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"10882:46:1"},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":802,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":797,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":789,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"10943:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":790,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10949:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":791,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"appExpiry","nodeType":"MemberAccess","referencedDeclaration":133,"src":"10949:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10943:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":796,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":793,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"10967:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":794,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10973:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":795,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"processBy","nodeType":"MemberAccess","referencedDeclaration":143,"src":"10973:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10967:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10943:44:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":798,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":784,"src":"10991:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":799,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"10991:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":800,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11011:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"10991:21:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"10943:69:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":803,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"10942:71:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":782,"id":804,"nodeType":"Return","src":"10935:78:1"}]},"documentation":"@notice Determines whether a proposal passed its application stage without a challenge\n@param _propID The proposal ID for which to determine whether its application stage passed without a challenge","id":806,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"canBeSet","nodeType":"FunctionDefinition","parameters":{"id":779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":778,"name":"_propID","nodeType":"VariableDeclaration","scope":806,"src":"10832:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":777,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10832:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"10831:17:1"},"payable":false,"returnParameters":{"id":782,"nodeType":"ParameterList","parameters":[{"constant":false,"id":781,"name":"","nodeType":"VariableDeclaration","scope":806,"src":"10870:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":780,"name":"bool","nodeType":"ElementaryTypeName","src":"10870:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"10869:6:1"},"scope":1047,"src":"10814:204:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":820,"nodeType":"Block","src":"11242:50:1","statements":[{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":818,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":813,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"11255:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":815,"indexExpression":{"argumentTypes":null,"id":814,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":808,"src":"11265:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11255:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"id":816,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"processBy","nodeType":"MemberAccess","referencedDeclaration":143,"src":"11255:28:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11286:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11255:32:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":812,"id":819,"nodeType":"Return","src":"11248:39:1"}]},"documentation":"@notice Determines whether a proposal exists for the provided proposal ID\n@param _propID The proposal ID whose existance is to be determined","id":821,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"propExists","nodeType":"FunctionDefinition","parameters":{"id":809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":808,"name":"_propID","nodeType":"VariableDeclaration","scope":821,"src":"11198:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":807,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11198:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"11197:17:1"},"payable":false,"returnParameters":{"id":812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":811,"name":"","nodeType":"VariableDeclaration","scope":821,"src":"11236:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":810,"name":"bool","nodeType":"ElementaryTypeName","src":"11236:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"11235:6:1"},"scope":1047,"src":"11178:114:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":858,"nodeType":"Block","src":"11535:237:1","statements":[{"assignments":[829],"declarations":[{"constant":false,"id":829,"name":"prop","nodeType":"VariableDeclaration","scope":859,"src":"11541:25:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"},"typeName":{"contractScope":null,"id":828,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"11541:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"value":null,"visibility":"internal"}],"id":833,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":830,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"11569:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":832,"indexExpression":{"argumentTypes":null,"id":831,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":823,"src":"11579:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11569:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11541:46:1"},{"assignments":[835],"declarations":[{"constant":false,"id":835,"name":"challenge","nodeType":"VariableDeclaration","scope":859,"src":"11593:26:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_memory_ptr","typeString":"struct Parameterizer.Challenge memory"},"typeName":{"contractScope":null,"id":834,"name":"Challenge","nodeType":"UserDefinedTypeName","referencedDeclaration":161,"src":"11593:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"value":null,"visibility":"internal"}],"id":840,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":836,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"11622:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":839,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":837,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"11633:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":838,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"11633:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11622:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"nodeType":"VariableDeclarationStatement","src":"11593:57:1"},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":849,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":841,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"11665:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":842,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"11665:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":843,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"11684:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"11665:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":848,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":845,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":835,"src":"11689:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_memory_ptr","typeString":"struct Parameterizer.Challenge memory"}},"id":846,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":152,"src":"11689:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"66616c7365","id":847,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"11711:5:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"11689:27:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11665:51:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":852,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":829,"src":"11749:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":853,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"11749:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":850,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"11732:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":851,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pollEnded","nodeType":"MemberAccess","referencedDeclaration":3243,"src":"11732:16:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":854,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11732:34:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"11665:101:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":856,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11664:103:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":827,"id":857,"nodeType":"Return","src":"11657:110:1"}]},"documentation":"@notice Determines whether the provided proposal ID has a challenge which can be resolved\n@param _propID The proposal ID whose challenge to inspect","id":859,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"challengeCanBeResolved","nodeType":"FunctionDefinition","parameters":{"id":824,"nodeType":"ParameterList","parameters":[{"constant":false,"id":823,"name":"_propID","nodeType":"VariableDeclaration","scope":859,"src":"11491:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":822,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11491:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"11490:17:1"},"payable":false,"returnParameters":{"id":827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":826,"name":"","nodeType":"VariableDeclaration","scope":859,"src":"11529:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":825,"name":"bool","nodeType":"ElementaryTypeName","src":"11529:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"11528:6:1"},"scope":1047,"src":"11459:313:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":894,"nodeType":"Block","src":"12017:292:1","statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":871,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":868,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"12072:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":866,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"12026:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getTotalNumberOfTokensForWinningOption","nodeType":"MemberAccess","referencedDeclaration":3222,"src":"12026:45:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":869,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12026:59:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":870,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12089:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12026:64:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":880,"nodeType":"IfStatement","src":"12023:194:1","trueBody":{"id":879,"nodeType":"Block","src":"12092:125:1","statements":[{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":877,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"32","id":872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12176:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":873,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"12180:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":875,"indexExpression":{"argumentTypes":null,"id":874,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"12191:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12180:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":876,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stake","nodeType":"MemberAccess","referencedDeclaration":154,"src":"12180:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12176:34:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":865,"id":878,"nodeType":"Return","src":"12169:41:1"}]}},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":892,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"32","id":881,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12231:1:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":882,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"12235:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":884,"indexExpression":{"argumentTypes":null,"id":883,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"12246:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12235:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":885,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stake","nodeType":"MemberAccess","referencedDeclaration":154,"src":"12235:30:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12231:34:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":887,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12230:36:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":888,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"12269:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":890,"indexExpression":{"argumentTypes":null,"id":889,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":861,"src":"12280:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12269:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":891,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":148,"src":"12269:35:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12230:74:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":865,"id":893,"nodeType":"Return","src":"12223:81:1"}]},"documentation":"@notice Determines the number of tokens to awarded to the winning party in a challenge\n@param _challengeID The challengeID to determine a reward for","id":895,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"challengeWinnerReward","nodeType":"FunctionDefinition","parameters":{"id":862,"nodeType":"ParameterList","parameters":[{"constant":false,"id":861,"name":"_challengeID","nodeType":"VariableDeclaration","scope":895,"src":"11971:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":860,"name":"uint","nodeType":"ElementaryTypeName","src":"11971:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11970:19:1"},"payable":false,"returnParameters":{"id":865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":864,"name":"","nodeType":"VariableDeclaration","scope":895,"src":"12011:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":863,"name":"uint","nodeType":"ElementaryTypeName","src":"12011:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"12010:6:1"},"scope":1047,"src":"11940:369:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":908,"nodeType":"Block","src":"12525:42:1","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":902,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"12538:6:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":906,"indexExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":904,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":897,"src":"12555:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":903,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"12545:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":905,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12545:16:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12538:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":901,"id":907,"nodeType":"Return","src":"12531:31:1"}]},"documentation":"@notice gets the parameter keyed by the provided name value from the params mapping\n@param _name the key whose value is to be determined","id":909,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"get","nodeType":"FunctionDefinition","parameters":{"id":898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":897,"name":"_name","nodeType":"VariableDeclaration","scope":909,"src":"12478:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":896,"name":"string","nodeType":"ElementaryTypeName","src":"12478:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"12477:14:1"},"payable":false,"returnParameters":{"id":901,"nodeType":"ParameterList","parameters":[{"constant":false,"id":900,"name":"value","nodeType":"VariableDeclaration","scope":909,"src":"12513:10:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":899,"name":"uint","nodeType":"ElementaryTypeName","src":"12513:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"12512:12:1"},"scope":1047,"src":"12465:102:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":925,"nodeType":"Block","src":"12865:62:1","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":918,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"12878:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":920,"indexExpression":{"argumentTypes":null,"id":919,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":911,"src":"12889:12:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12878:24:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":921,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":160,"src":"12878:36:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":923,"indexExpression":{"argumentTypes":null,"id":922,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":913,"src":"12915:6:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12878:44:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":917,"id":924,"nodeType":"Return","src":"12871:51:1"}]},"documentation":"@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID","id":926,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"tokenClaims","nodeType":"FunctionDefinition","parameters":{"id":914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":911,"name":"_challengeID","nodeType":"VariableDeclaration","scope":926,"src":"12803:17:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":910,"name":"uint","nodeType":"ElementaryTypeName","src":"12803:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":913,"name":"_voter","nodeType":"VariableDeclaration","scope":926,"src":"12822:14:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":912,"name":"address","nodeType":"ElementaryTypeName","src":"12822:7:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"12802:35:1"},"payable":false,"returnParameters":{"id":917,"nodeType":"ParameterList","parameters":[{"constant":false,"id":916,"name":"","nodeType":"VariableDeclaration","scope":926,"src":"12859:4:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":915,"name":"bool","nodeType":"ElementaryTypeName","src":"12859:4:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"12858:6:1"},"scope":1047,"src":"12782:145:1","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1029,"nodeType":"Block","src":"13255:942:1","statements":[{"assignments":[932],"declarations":[{"constant":false,"id":932,"name":"prop","nodeType":"VariableDeclaration","scope":1030,"src":"13261:25:1","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"},"typeName":{"contractScope":null,"id":931,"name":"ParamProposal","nodeType":"UserDefinedTypeName","referencedDeclaration":146,"src":"13261:13:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage_ptr","typeString":"struct Parameterizer.ParamProposal storage pointer"}},"value":null,"visibility":"internal"}],"id":936,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":933,"name":"proposals","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":173,"src":"13289:9:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_ParamProposal_$146_storage_$","typeString":"mapping(bytes32 => struct Parameterizer.ParamProposal storage ref)"}},"id":935,"indexExpression":{"argumentTypes":null,"id":934,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"13299:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13289:18:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_storage","typeString":"struct Parameterizer.ParamProposal storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13261:46:1"},{"assignments":[938],"declarations":[{"constant":false,"id":938,"name":"challenge","nodeType":"VariableDeclaration","scope":1030,"src":"13313:27:1","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"},"typeName":{"contractScope":null,"id":937,"name":"Challenge","nodeType":"UserDefinedTypeName","referencedDeclaration":161,"src":"13313:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"value":null,"visibility":"internal"}],"id":943,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":939,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"13343:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":942,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":940,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13354:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":941,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"13354:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13343:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"nodeType":"VariableDeclarationStatement","src":"13313:58:1"},{"assignments":[945],"declarations":[{"constant":false,"id":945,"name":"reward","nodeType":"VariableDeclaration","scope":1030,"src":"13463:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":944,"name":"uint","nodeType":"ElementaryTypeName","src":"13463:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":950,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":947,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13499:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"13499:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":946,"name":"challengeWinnerReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":895,"src":"13477:21:1","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":949,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13477:39:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13463:53:1"},{"expression":{"argumentTypes":null,"id":959,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":951,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"13523:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":953,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"winningTokens","nodeType":"MemberAccess","referencedDeclaration":156,"src":"13523:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":956,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13601:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":957,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"13601:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":954,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"13555:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":955,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getTotalNumberOfTokensForWinningOption","nodeType":"MemberAccess","referencedDeclaration":3222,"src":"13555:45:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":958,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13555:63:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13523:95:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":960,"nodeType":"ExpressionStatement","src":"13523:95:1"},{"expression":{"argumentTypes":null,"id":965,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":961,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"13624:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":963,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":152,"src":"13624:18:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":964,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"13645:4:1","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"13624:25:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":966,"nodeType":"ExpressionStatement","src":"13624:25:1"},{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":969,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13676:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":970,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"13676:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":967,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":177,"src":"13660:6:1","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":968,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isPassed","nodeType":"MemberAccess","referencedDeclaration":3194,"src":"13660:15:1","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":971,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13660:33:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1027,"nodeType":"Block","src":"13962:231:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1006,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"14033:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1007,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"14042:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":1008,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"14042:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1009,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"14060:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":1010,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":148,"src":"14060:20:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1011,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"14082:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":1012,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"winningTokens","nodeType":"MemberAccess","referencedDeclaration":156,"src":"14082:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1005,"name":"_ChallengeSucceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":110,"src":"14013:19:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256)"}},"id":1013,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14013:93:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1014,"nodeType":"ExpressionStatement","src":"14013:93:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1018,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":169,"src":"14137:10:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$161_storage_$","typeString":"mapping(uint256 => struct Parameterizer.Challenge storage ref)"}},"id":1021,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1019,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"14148:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":1020,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"14148:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14137:28:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage","typeString":"struct Parameterizer.Challenge storage ref"}},"id":1022,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":150,"src":"14137:39:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1023,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":945,"src":"14178:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1016,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"14122:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"14122:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":1024,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14122:63:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1015,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"14114:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1025,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14114:72:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1026,"nodeType":"ExpressionStatement","src":"14114:72:1"}]},"id":1028,"nodeType":"IfStatement","src":"13656:537:1","trueBody":{"id":1004,"nodeType":"Block","src":"13695:257:1","statements":[{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":975,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":972,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13730:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":973,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"processBy","nodeType":"MemberAccess","referencedDeclaration":143,"src":"13730:14:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"id":974,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"13747:3:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"13730:20:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":984,"nodeType":"IfStatement","src":"13727:70:1","trueBody":{"id":983,"nodeType":"Block","src":"13752:45:1","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":977,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13766:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":978,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"name","nodeType":"MemberAccess","referencedDeclaration":139,"src":"13766:9:1","typeDescriptions":{"typeIdentifier":"t_string_memory","typeString":"string memory"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":979,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13777:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":980,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"value","nodeType":"MemberAccess","referencedDeclaration":145,"src":"13777:10:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory","typeString":"string memory"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":976,"name":"set","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1046,"src":"13762:3:1","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$_t_uint256_$returns$__$","typeString":"function (string memory,uint256)"}},"id":981,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13762:26:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":982,"nodeType":"ExpressionStatement","src":"13762:26:1"}]}},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":986,"name":"_propID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":928,"src":"13821:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":987,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13830:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":988,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":135,"src":"13830:16:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":989,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"13848:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":148,"src":"13848:20:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":991,"name":"challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":938,"src":"13870:9:1","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$161_storage_ptr","typeString":"struct Parameterizer.Challenge storage pointer"}},"id":992,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"winningTokens","nodeType":"MemberAccess","referencedDeclaration":156,"src":"13870:23:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":985,"name":"_ChallengeFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":120,"src":"13804:16:1","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256)"}},"id":993,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13804:90:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":994,"nodeType":"ExpressionStatement","src":"13804:90:1"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":998,"name":"prop","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":932,"src":"13925:4:1","typeDescriptions":{"typeIdentifier":"t_struct$_ParamProposal_$146_memory_ptr","typeString":"struct Parameterizer.ParamProposal memory"}},"id":999,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":141,"src":"13925:10:1","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1000,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":945,"src":"13937:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":996,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175,"src":"13910:5:1","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":997,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"13910:14:1","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":1001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13910:34:1","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":995,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"13902:7:1","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1002,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"13902:43:1","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1003,"nodeType":"ExpressionStatement","src":"13902:43:1"}]}}]},"documentation":"@dev resolves a challenge for the provided _propID. It must be checked in advance whether the _propID has a challenge on it\n@param _propID the proposal ID whose challenge is to be resolved.","id":1030,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"resolveChallenge","nodeType":"FunctionDefinition","parameters":{"id":929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":928,"name":"_propID","nodeType":"VariableDeclaration","scope":1030,"src":"13230:15:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":927,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13230:7:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"13229:17:1"},"payable":false,"returnParameters":{"id":930,"nodeType":"ParameterList","parameters":[],"src":"13255:0:1"},"scope":1047,"src":"13204:993:1","stateMutability":"nonpayable","superFunction":null,"visibility":"private"},{"body":{"id":1045,"nodeType":"Block","src":"14431:44:1","statements":[{"expression":{"argumentTypes":null,"id":1043,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1037,"name":"params","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":165,"src":"14437:6:1","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_uint256_$","typeString":"mapping(bytes32 => uint256)"}},"id":1041,"indexExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1039,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1032,"src":"14454:5:1","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}],"id":1038,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3920,"src":"14444:9:1","typeDescriptions":{"typeIdentifier":"t_function_sha3_pure$__$returns$_t_bytes32_$","typeString":"function () pure returns (bytes32)"}},"id":1040,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14444:16:1","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"14437:24:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1042,"name":"_value","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1034,"src":"14464:6:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14437:33:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1044,"nodeType":"ExpressionStatement","src":"14437:33:1"}]},"documentation":"@dev sets the param keted by the provided name to the provided value\n@param _name the name of the param to be set\n@param _value the value to set the param to be set","id":1046,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"set","nodeType":"FunctionDefinition","parameters":{"id":1035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1032,"name":"_name","nodeType":"VariableDeclaration","scope":1046,"src":"14396:12:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":1031,"name":"string","nodeType":"ElementaryTypeName","src":"14396:6:1","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":1034,"name":"_value","nodeType":"VariableDeclaration","scope":1046,"src":"14410:11:1","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1033,"name":"uint","nodeType":"ElementaryTypeName","src":"14410:4:1","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14395:27:1"},"payable":false,"returnParameters":{"id":1036,"nodeType":"ParameterList","parameters":[],"src":"14431:0:1"},"scope":1047,"src":"14383:92:1","stateMutability":"nonpayable","superFunction":null,"visibility":"private"}],"scope":1048,"src":"141:14336:1"}],"src":"0:14479:1"},"compiler":{"name":"solc","version":"0.4.21+commit.dfe3193c.Emscripten.clang"},"networks":{},"schemaVersion":"2.0.0","updatedAt":"2018-04-16T22:09:02.604Z"} /***/ }), /* 854 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Registry","abi":[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"challenges","outputs":[{"name":"rewardPool","type":"uint256"},{"name":"challenger","type":"address"},{"name":"resolved","type":"bool"},{"name":"stake","type":"uint256"},{"name":"totalTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"listings","outputs":[{"name":"applicationExpiry","type":"uint256"},{"name":"whitelisted","type":"bool"},{"name":"owner","type":"address"},{"name":"unstakedDeposit","type":"uint256"},{"name":"challengeID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"parameterizer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"voting","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenAddr","type":"address"},{"name":"_plcrAddr","type":"address"},{"name":"_paramsAddr","type":"address"},{"name":"_name","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":false,"name":"deposit","type":"uint256"},{"indexed":false,"name":"appEndDate","type":"uint256"},{"indexed":false,"name":"data","type":"string"},{"indexed":true,"name":"applicant","type":"address"}],"name":"_Application","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":false,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"data","type":"string"},{"indexed":false,"name":"commitEndDate","type":"uint256"},{"indexed":false,"name":"revealEndDate","type":"uint256"},{"indexed":true,"name":"challenger","type":"address"}],"name":"_Challenge","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":false,"name":"added","type":"uint256"},{"indexed":false,"name":"newTotal","type":"uint256"},{"indexed":true,"name":"owner","type":"address"}],"name":"_Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":false,"name":"withdrew","type":"uint256"},{"indexed":false,"name":"newTotal","type":"uint256"},{"indexed":true,"name":"owner","type":"address"}],"name":"_Withdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"}],"name":"_ApplicationWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"}],"name":"_ApplicationRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"}],"name":"_ListingRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"}],"name":"_ListingWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"}],"name":"_TouchAndRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"rewardPool","type":"uint256"},{"indexed":false,"name":"totalTokens","type":"uint256"}],"name":"_ChallengeFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"rewardPool","type":"uint256"},{"indexed":false,"name":"totalTokens","type":"uint256"}],"name":"_ChallengeSucceeded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"reward","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_RewardClaimed","type":"event"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"},{"name":"_amount","type":"uint256"},{"name":"_data","type":"string"}],"name":"apply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"},{"name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"},{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"},{"name":"_data","type":"string"}],"name":"challenge","outputs":[{"name":"challengeID","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"updateStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_challengeID","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"claimReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_challengeID","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"voterReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"canBeWhitelisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"isWhitelisted","outputs":[{"name":"whitelisted","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"appWasMade","outputs":[{"name":"exists","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"challengeExists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"challengeCanBeResolved","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_challengeID","type":"uint256"}],"name":"determineReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_challengeID","type":"uint256"},{"name":"_voter","type":"address"}],"name":"tokenClaims","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x606060405234156200001057600080fd5b60405162002f8138038062002f818339810160405280805190602001909190805190602001909190805190602001909190805182019190505083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060059080519060200190620001249291906200012f565b5050505050620001de565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017257805160ff1916838001178555620001a3565b82800160010185558215620001a3579182015b82811115620001a257825182559160200191906001019062000185565b5b509050620001b29190620001b6565b5090565b620001db91905b80821115620001d7576000816000905550600101620001bd565b5090565b90565b612d9380620001ee6000396000f30060606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301a5e3fe14610122578063040cf0201461016157806306fdde03146101915780630ca362631461021f5780631b7bbecb146102465780631de26e161461028557806343cffefe146102b5578063691a38ab1461030457806377609a411461034357806386bb8f371461038257806389bb55c7146103ae5780638a59eb56146103f25780638cf8151f146104195780638f1d377614610458578063a5ba3b1e146104db578063a7aad3db14610535578063c18b8db414610594578063c8187cf11461061b578063e1e3f91514610652578063fc0c546a146106a7578063fce1ccca146106fc575b600080fd5b341561012d57600080fd5b610147600480803560001916906020019091905050610751565b604051808215151515815260200191505060405180910390f35b341561016c57600080fd5b61018f600480803560001916906020019091908035906020019091905050610786565b005b341561019c57600080fd5b6101a4610a5e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e45780820151818401526020810190506101c9565b50505050905090810190601f1680156102115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022a57600080fd5b610244600480803560001916906020019091905050610afc565b005b341561025157600080fd5b61026b600480803560001916906020019091905050610c0c565b604051808215151515815260200191505060405180910390f35b341561029057600080fd5b6102b3600480803560001916906020019091908035906020019091905050610c86565b005b34156102c057600080fd5b6102ee6004808035600019169060200190919080359060200190820180359060200191909192905050610e93565b6040518082815260200191505060405180910390f35b341561030f57600080fd5b6103296004808035600019169060200190919050506117e2565b604051808215151515815260200191505060405180910390f35b341561034e57600080fd5b6103686004808035600019169060200190919050506118a0565b604051808215151515815260200191505060405180910390f35b341561038d57600080fd5b6103ac6004808035906020019091908035906020019091905050611987565b005b34156103b957600080fd5b6103f06004808035600019169060200190919080359060200190919080359060200190820180359060200191909192905050611d0f565b005b34156103fd57600080fd5b610417600480803560001916906020019091905050612142565b005b341561042457600080fd5b61043e600480803560001916906020019091905050612183565b604051808215151515815260200191505060405180910390f35b341561046357600080fd5b61047960048080359060200190919050506121ad565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b34156104e657600080fd5b61051b600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612210565b604051808215151515815260200191505060405180910390f35b341561054057600080fd5b61057e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190505061227a565b6040518082815260200191505060405180910390f35b341561059f57600080fd5b6105b96004808035600019169060200190919050506123af565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b341561062657600080fd5b61063c6004808035906020019091905050612412565b6040518082815260200191505060405180910390f35b341561065d57600080fd5b6106656125f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106b257600080fd5b6106ba61261f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561070757600080fd5b61070f612645565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060016000836000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561080357600080fd5b8060020154821115151561081657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156108d757600080fd5b5af115156108e457600080fd5b50505060405180519050828260020154031015151561090257600080fd5b818160020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156109d857600080fd5b5af115156109e557600080fd5b5050506040518051905015156109fa57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167f9d9ed58779badf90c56d72f3b54def9f73dc875d8f86416c8334b55328c6c106848460020154604051808381526020018281526020019250505060405180910390a3505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610af45780601f10610ac957610100808354040283529160200191610af4565b820191906000526020600020905b815481529060010190602001808311610ad757829003601f168201915b505050505081565b600060016000836000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7957600080fd5b610b8282610751565b1515610b8d57600080fd5b600081600301541480610bc357506000808260030154815260200190815260200160002060010160149054906101000a900460ff165b1515610bce57600080fd5b610bd78261266b565b81600019167f8a51904a50ce4451be09dc08242bd2d5565b05cf0f4f5aa88c77f96fdf538b4260405160405180910390a25050565b600080600160008460001916600019168152602001908152602001600020600301549050600060016000856000191660001916815260200190815260200160002060030154118015610c7e575060008082815260200190815260200160002060010160149054906101000a900460ff16155b915050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610d0357600080fd5b818160020160008282540192505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610e0d57600080fd5b5af11515610e1a57600080fd5b505050604051805190501515610e2f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167ff63fcfb210c709154f0260502b2586fcee5550d17dc828be3127ccdedec620ab848460020154604051808381526020018281526020019250505060405180910390a3505050565b600080600080600080600160008a600019166000191681526020019081526020016000209450600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610f7a57600080fd5b5af11515610f8757600080fd5b505050604051805190509350610f9c89612183565b80610fb557508460010160009054906101000a900460ff165b1515610fc057600080fd5b600085600301541480610ff657506000808660030154815260200190815260200160002060010160149054906101000a900460ff165b151561100157600080fd5b8385600201541015611050576110168961266b565b88600019167f4a9ee335af9e32f32f2229943dc7a0d3b5adf7e4c5c4062b372eae8c476d928660405160405180910390a2600095506117d6565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d60600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f766f746551756f72756d00000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561114f57600080fd5b5af1151561115c57600080fd5b50505060405180519050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f636f6d6d697453746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561122757600080fd5b5af1151561123457600080fd5b50505060405180519050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f72657665616c53746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156112ff57600080fd5b5af1151561130c57600080fd5b505050604051805190506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b151561137557600080fd5b5af1151561138257600080fd5b50505060405180519050925060a060405190810160405280606486600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600f8152602001807f64697370656e736174696f6e5063740000000000000000000000000000000000815250602001915050602060405180830381600087803b151561145e57600080fd5b5af1151561146b57600080fd5b505050604051805190506064030281151561148257fe5b0481526020013373ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200185815260200160008152506000808581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff0219169083151502179055506060820151816002015560808201518160030155905050828560030181905550838560020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561166557600080fd5b5af1151561167257600080fd5b50505060405180519050151561168757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b151561171757600080fd5b5af1151561172457600080fd5b50505060405180519060200180519060200180519060200180519060200180519050505050915091503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff98a08756a3603420a080d66764f73deb1e30896c315cfed03e17f88f5eb30f7858b8b8787604051808681526020018060200184815260200183815260200182810382528686828181526020019250808284378201915050965050505050505060405180910390a38295505b50505050509392505050565b60008060016000846000191660001916815260200190815260200160002060030154905061180f83612183565b801561183857504260016000856000191660001916815260200190815260200160002060000154105b801561184a575061184883610751565b155b80156118875750600081148061188657506001151560008083815260200190815260200160002060010160149054906101000a900460ff161515145b5b15611895576001915061189a565b600091505b50919050565b6000806001600084600019166000191681526020019081526020016000206003015490506118cd83610c0c565b15156118d857600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561196857600080fd5b5af1151561197557600080fd5b50505060405180519050915050919050565b6000806000151560008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415156119fc57600080fd5b6001151560008086815260200190815260200160002060010160149054906101000a900460ff161515141515611a3157600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611afd57600080fd5b5af11515611b0a57600080fd5b505050604051805190509150611b2133858561227a565b905081600080868152602001908152602001600020600301600082825403925050819055508060008086815260200190815260200160002060000160008282540392505081905550600160008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611c9857600080fd5b5af11515611ca557600080fd5b505050604051805190501515611cba57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a350505050565b6000611d1a85610751565b151515611d2657600080fd5b611d2f85612183565b151515611d3b57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515611dfc57600080fd5b5af11515611e0957600080fd5b505050604051805190508410151515611e2157600080fd5b6001600086600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f6b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600d8152602001807f6170706c7953746167654c656e00000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515611f4557600080fd5b5af11515611f5257600080fd5b50505060405180519050426128a190919063ffffffff16565b8160000181905550838160020181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561209857600080fd5b5af115156120a557600080fd5b5050506040518051905015156120ba57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fa27f550c3c7a7c6d8369e5383fdc7a3b4850d8ce9e20066f9d496f6989f0086486846000015487876040518085815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a35050505050565b61214b816117e2565b1561215e57612159816128bf565b612180565b612167816118a0565b1561217a576121758161295c565b61217f565b600080fd5b5b50565b60008060016000846000191660001916815260200190815260200160002060000154119050919050565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b600080600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080600080600080878152602001908152602001600020600301549250600080878152602001908152602001600020600001549150600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b151561237c57600080fd5b5af1151561238957600080fd5b505050604051805190509050828282028115156123a257fe5b0493505050509392505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080600083815260200190815260200160002060010160149054906101000a900460ff161580156124e75750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15156124cf57600080fd5b5af115156124dc57600080fd5b505050604051805190505b15156124f257600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561258457600080fd5b5af1151561259157600080fd5b5050506040518051905014156125c1576000808381526020019081526020016000206002015460020290506125f4565b60008083815260200190815260200160002060000154600080848152602001908152602001600020600201546002020390505b919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060016000856000191660001916815260200190815260200160002092508260010160009054906101000a900460ff16156126da5783600019167fd1ffb796b7108387b2f02adf47b4b81a1690cf2a190422c87a4f670780103e6360405160405180910390a261270c565b83600019167f2e5ec035f6eac8ff1cf7cdf36cfeca7c85413f9f67652dc2c13d20f337204a2660405160405180910390a25b8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506001600085600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905560038201600090555050600081111561289b57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561287857600080fd5b5af1151561288557600080fd5b50505060405180519050151561289a57600080fd5b5b50505050565b60008082840190508381101515156128b557fe5b8091505092915050565b60016000826000191660001916815260200190815260200160002060010160009054906101000a900460ff1615156129235780600019167fa7bc1d57d9006d9d248707c7b6828c1bab8c51719cc06d78c82a3ee891ef967c60405160405180910390a25b6001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff02191690831515021790555050565b60008060016000846000191660001916815260200190815260200160002060030154915061298982612412565b9050600160008084815260200190815260200160002060010160146101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612a4957600080fd5b5af11515612a5657600080fd5b5050506040518051905060008084815260200190815260200160002060030181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349403183836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612b0957600080fd5b5af11515612b1657600080fd5b5050506040518051905015612bce57612b2e836128bf565b80600160008560001916600019168152602001908152602001600020600201600082825401925050819055508183600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c16000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a3612d62565b612bd78361266b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612cd057600080fd5b5af11515612cdd57600080fd5b505050604051805190501515612cf257600080fd5b8183600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe66000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a35b5050505600a165627a7a7230582070cc1f45a9af3b7ff00bc7acba8682bec992a938151caa87e23e3699934afaa50029","deployedBytecode":"0x60606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301a5e3fe14610122578063040cf0201461016157806306fdde03146101915780630ca362631461021f5780631b7bbecb146102465780631de26e161461028557806343cffefe146102b5578063691a38ab1461030457806377609a411461034357806386bb8f371461038257806389bb55c7146103ae5780638a59eb56146103f25780638cf8151f146104195780638f1d377614610458578063a5ba3b1e146104db578063a7aad3db14610535578063c18b8db414610594578063c8187cf11461061b578063e1e3f91514610652578063fc0c546a146106a7578063fce1ccca146106fc575b600080fd5b341561012d57600080fd5b610147600480803560001916906020019091905050610751565b604051808215151515815260200191505060405180910390f35b341561016c57600080fd5b61018f600480803560001916906020019091908035906020019091905050610786565b005b341561019c57600080fd5b6101a4610a5e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e45780820151818401526020810190506101c9565b50505050905090810190601f1680156102115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022a57600080fd5b610244600480803560001916906020019091905050610afc565b005b341561025157600080fd5b61026b600480803560001916906020019091905050610c0c565b604051808215151515815260200191505060405180910390f35b341561029057600080fd5b6102b3600480803560001916906020019091908035906020019091905050610c86565b005b34156102c057600080fd5b6102ee6004808035600019169060200190919080359060200190820180359060200191909192905050610e93565b6040518082815260200191505060405180910390f35b341561030f57600080fd5b6103296004808035600019169060200190919050506117e2565b604051808215151515815260200191505060405180910390f35b341561034e57600080fd5b6103686004808035600019169060200190919050506118a0565b604051808215151515815260200191505060405180910390f35b341561038d57600080fd5b6103ac6004808035906020019091908035906020019091905050611987565b005b34156103b957600080fd5b6103f06004808035600019169060200190919080359060200190919080359060200190820180359060200191909192905050611d0f565b005b34156103fd57600080fd5b610417600480803560001916906020019091905050612142565b005b341561042457600080fd5b61043e600480803560001916906020019091905050612183565b604051808215151515815260200191505060405180910390f35b341561046357600080fd5b61047960048080359060200190919050506121ad565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b34156104e657600080fd5b61051b600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612210565b604051808215151515815260200191505060405180910390f35b341561054057600080fd5b61057e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190505061227a565b6040518082815260200191505060405180910390f35b341561059f57600080fd5b6105b96004808035600019169060200190919050506123af565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b341561062657600080fd5b61063c6004808035906020019091905050612412565b6040518082815260200191505060405180910390f35b341561065d57600080fd5b6106656125f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106b257600080fd5b6106ba61261f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561070757600080fd5b61070f612645565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060016000836000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561080357600080fd5b8060020154821115151561081657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156108d757600080fd5b5af115156108e457600080fd5b50505060405180519050828260020154031015151561090257600080fd5b818160020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156109d857600080fd5b5af115156109e557600080fd5b5050506040518051905015156109fa57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167f9d9ed58779badf90c56d72f3b54def9f73dc875d8f86416c8334b55328c6c106848460020154604051808381526020018281526020019250505060405180910390a3505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610af45780601f10610ac957610100808354040283529160200191610af4565b820191906000526020600020905b815481529060010190602001808311610ad757829003601f168201915b505050505081565b600060016000836000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7957600080fd5b610b8282610751565b1515610b8d57600080fd5b600081600301541480610bc357506000808260030154815260200190815260200160002060010160149054906101000a900460ff165b1515610bce57600080fd5b610bd78261266b565b81600019167f8a51904a50ce4451be09dc08242bd2d5565b05cf0f4f5aa88c77f96fdf538b4260405160405180910390a25050565b600080600160008460001916600019168152602001908152602001600020600301549050600060016000856000191660001916815260200190815260200160002060030154118015610c7e575060008082815260200190815260200160002060010160149054906101000a900460ff16155b915050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610d0357600080fd5b818160020160008282540192505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610e0d57600080fd5b5af11515610e1a57600080fd5b505050604051805190501515610e2f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167ff63fcfb210c709154f0260502b2586fcee5550d17dc828be3127ccdedec620ab848460020154604051808381526020018281526020019250505060405180910390a3505050565b600080600080600080600160008a600019166000191681526020019081526020016000209450600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610f7a57600080fd5b5af11515610f8757600080fd5b505050604051805190509350610f9c89612183565b80610fb557508460010160009054906101000a900460ff165b1515610fc057600080fd5b600085600301541480610ff657506000808660030154815260200190815260200160002060010160149054906101000a900460ff165b151561100157600080fd5b8385600201541015611050576110168961266b565b88600019167f4a9ee335af9e32f32f2229943dc7a0d3b5adf7e4c5c4062b372eae8c476d928660405160405180910390a2600095506117d6565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d60600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f766f746551756f72756d00000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561114f57600080fd5b5af1151561115c57600080fd5b50505060405180519050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f636f6d6d697453746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561122757600080fd5b5af1151561123457600080fd5b50505060405180519050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f72657665616c53746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156112ff57600080fd5b5af1151561130c57600080fd5b505050604051805190506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b151561137557600080fd5b5af1151561138257600080fd5b50505060405180519050925060a060405190810160405280606486600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600f8152602001807f64697370656e736174696f6e5063740000000000000000000000000000000000815250602001915050602060405180830381600087803b151561145e57600080fd5b5af1151561146b57600080fd5b505050604051805190506064030281151561148257fe5b0481526020013373ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200185815260200160008152506000808581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff0219169083151502179055506060820151816002015560808201518160030155905050828560030181905550838560020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561166557600080fd5b5af1151561167257600080fd5b50505060405180519050151561168757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b151561171757600080fd5b5af1151561172457600080fd5b50505060405180519060200180519060200180519060200180519060200180519050505050915091503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff98a08756a3603420a080d66764f73deb1e30896c315cfed03e17f88f5eb30f7858b8b8787604051808681526020018060200184815260200183815260200182810382528686828181526020019250808284378201915050965050505050505060405180910390a38295505b50505050509392505050565b60008060016000846000191660001916815260200190815260200160002060030154905061180f83612183565b801561183857504260016000856000191660001916815260200190815260200160002060000154105b801561184a575061184883610751565b155b80156118875750600081148061188657506001151560008083815260200190815260200160002060010160149054906101000a900460ff161515145b5b15611895576001915061189a565b600091505b50919050565b6000806001600084600019166000191681526020019081526020016000206003015490506118cd83610c0c565b15156118d857600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561196857600080fd5b5af1151561197557600080fd5b50505060405180519050915050919050565b6000806000151560008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415156119fc57600080fd5b6001151560008086815260200190815260200160002060010160149054906101000a900460ff161515141515611a3157600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611afd57600080fd5b5af11515611b0a57600080fd5b505050604051805190509150611b2133858561227a565b905081600080868152602001908152602001600020600301600082825403925050819055508060008086815260200190815260200160002060000160008282540392505081905550600160008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611c9857600080fd5b5af11515611ca557600080fd5b505050604051805190501515611cba57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a350505050565b6000611d1a85610751565b151515611d2657600080fd5b611d2f85612183565b151515611d3b57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515611dfc57600080fd5b5af11515611e0957600080fd5b505050604051805190508410151515611e2157600080fd5b6001600086600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f6b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600d8152602001807f6170706c7953746167654c656e00000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515611f4557600080fd5b5af11515611f5257600080fd5b50505060405180519050426128a190919063ffffffff16565b8160000181905550838160020181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561209857600080fd5b5af115156120a557600080fd5b5050506040518051905015156120ba57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fa27f550c3c7a7c6d8369e5383fdc7a3b4850d8ce9e20066f9d496f6989f0086486846000015487876040518085815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a35050505050565b61214b816117e2565b1561215e57612159816128bf565b612180565b612167816118a0565b1561217a576121758161295c565b61217f565b600080fd5b5b50565b60008060016000846000191660001916815260200190815260200160002060000154119050919050565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b600080600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080600080600080878152602001908152602001600020600301549250600080878152602001908152602001600020600001549150600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b151561237c57600080fd5b5af1151561238957600080fd5b505050604051805190509050828282028115156123a257fe5b0493505050509392505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080600083815260200190815260200160002060010160149054906101000a900460ff161580156124e75750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15156124cf57600080fd5b5af115156124dc57600080fd5b505050604051805190505b15156124f257600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561258457600080fd5b5af1151561259157600080fd5b5050506040518051905014156125c1576000808381526020019081526020016000206002015460020290506125f4565b60008083815260200190815260200160002060000154600080848152602001908152602001600020600201546002020390505b919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060016000856000191660001916815260200190815260200160002092508260010160009054906101000a900460ff16156126da5783600019167fd1ffb796b7108387b2f02adf47b4b81a1690cf2a190422c87a4f670780103e6360405160405180910390a261270c565b83600019167f2e5ec035f6eac8ff1cf7cdf36cfeca7c85413f9f67652dc2c13d20f337204a2660405160405180910390a25b8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506001600085600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905560038201600090555050600081111561289b57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561287857600080fd5b5af1151561288557600080fd5b50505060405180519050151561289a57600080fd5b5b50505050565b60008082840190508381101515156128b557fe5b8091505092915050565b60016000826000191660001916815260200190815260200160002060010160009054906101000a900460ff1615156129235780600019167fa7bc1d57d9006d9d248707c7b6828c1bab8c51719cc06d78c82a3ee891ef967c60405160405180910390a25b6001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff02191690831515021790555050565b60008060016000846000191660001916815260200190815260200160002060030154915061298982612412565b9050600160008084815260200190815260200160002060010160146101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612a4957600080fd5b5af11515612a5657600080fd5b5050506040518051905060008084815260200190815260200160002060030181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349403183836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612b0957600080fd5b5af11515612b1657600080fd5b5050506040518051905015612bce57612b2e836128bf565b80600160008560001916600019168152602001908152602001600020600201600082825401925050819055508183600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c16000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a3612d62565b612bd78361266b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612cd057600080fd5b5af11515612cdd57600080fd5b505050604051805190501515612cf257600080fd5b8183600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe66000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a35b5050505600a165627a7a7230582070cc1f45a9af3b7ff00bc7acba8682bec992a938151caa87e23e3699934afaa50029"} +module.exports = {"contractName":"Registry","abi":[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"challenges","outputs":[{"name":"rewardPool","type":"uint256"},{"name":"challenger","type":"address"},{"name":"resolved","type":"bool"},{"name":"stake","type":"uint256"},{"name":"totalTokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"listings","outputs":[{"name":"applicationExpiry","type":"uint256"},{"name":"whitelisted","type":"bool"},{"name":"owner","type":"address"},{"name":"unstakedDeposit","type":"uint256"},{"name":"challengeID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"parameterizer","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"voting","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_tokenAddr","type":"address"},{"name":"_plcrAddr","type":"address"},{"name":"_paramsAddr","type":"address"},{"name":"_name","type":"string"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":false,"name":"deposit","type":"uint256"},{"indexed":false,"name":"appEndDate","type":"uint256"},{"indexed":false,"name":"data","type":"string"},{"indexed":true,"name":"applicant","type":"address"}],"name":"_Application","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":false,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"data","type":"string"},{"indexed":false,"name":"commitEndDate","type":"uint256"},{"indexed":false,"name":"revealEndDate","type":"uint256"},{"indexed":true,"name":"challenger","type":"address"}],"name":"_Challenge","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":false,"name":"added","type":"uint256"},{"indexed":false,"name":"newTotal","type":"uint256"},{"indexed":true,"name":"owner","type":"address"}],"name":"_Deposit","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":false,"name":"withdrew","type":"uint256"},{"indexed":false,"name":"newTotal","type":"uint256"},{"indexed":true,"name":"owner","type":"address"}],"name":"_Withdrawal","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"}],"name":"_ApplicationWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"}],"name":"_ApplicationRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"}],"name":"_ListingRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"}],"name":"_ListingWithdrawn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"}],"name":"_TouchAndRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"rewardPool","type":"uint256"},{"indexed":false,"name":"totalTokens","type":"uint256"}],"name":"_ChallengeFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"listingHash","type":"bytes32"},{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"rewardPool","type":"uint256"},{"indexed":false,"name":"totalTokens","type":"uint256"}],"name":"_ChallengeSucceeded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"challengeID","type":"uint256"},{"indexed":false,"name":"reward","type":"uint256"},{"indexed":true,"name":"voter","type":"address"}],"name":"_RewardClaimed","type":"event"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"},{"name":"_amount","type":"uint256"},{"name":"_data","type":"string"}],"name":"apply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"},{"name":"_amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"},{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"},{"name":"_data","type":"string"}],"name":"challenge","outputs":[{"name":"challengeID","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"updateStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_challengeID","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"claimReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_voter","type":"address"},{"name":"_challengeID","type":"uint256"},{"name":"_salt","type":"uint256"}],"name":"voterReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"canBeWhitelisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"isWhitelisted","outputs":[{"name":"whitelisted","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"appWasMade","outputs":[{"name":"exists","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"challengeExists","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_listingHash","type":"bytes32"}],"name":"challengeCanBeResolved","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_challengeID","type":"uint256"}],"name":"determineReward","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_challengeID","type":"uint256"},{"name":"_voter","type":"address"}],"name":"tokenClaims","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x606060405234156200001057600080fd5b60405162002f8138038062002f818339810160405280805190602001909190805190602001909190805190602001909190805182019190505083600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060059080519060200190620001249291906200012f565b5050505050620001de565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200017257805160ff1916838001178555620001a3565b82800160010185558215620001a3579182015b82811115620001a257825182559160200191906001019062000185565b5b509050620001b29190620001b6565b5090565b620001db91905b80821115620001d7576000816000905550600101620001bd565b5090565b90565b612d9380620001ee6000396000f30060606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301a5e3fe14610122578063040cf0201461016157806306fdde03146101915780630ca362631461021f5780631b7bbecb146102465780631de26e161461028557806343cffefe146102b5578063691a38ab1461030457806377609a411461034357806386bb8f371461038257806389bb55c7146103ae5780638a59eb56146103f25780638cf8151f146104195780638f1d377614610458578063a5ba3b1e146104db578063a7aad3db14610535578063c18b8db414610594578063c8187cf11461061b578063e1e3f91514610652578063fc0c546a146106a7578063fce1ccca146106fc575b600080fd5b341561012d57600080fd5b610147600480803560001916906020019091905050610751565b604051808215151515815260200191505060405180910390f35b341561016c57600080fd5b61018f600480803560001916906020019091908035906020019091905050610786565b005b341561019c57600080fd5b6101a4610a5e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e45780820151818401526020810190506101c9565b50505050905090810190601f1680156102115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022a57600080fd5b610244600480803560001916906020019091905050610afc565b005b341561025157600080fd5b61026b600480803560001916906020019091905050610c0c565b604051808215151515815260200191505060405180910390f35b341561029057600080fd5b6102b3600480803560001916906020019091908035906020019091905050610c86565b005b34156102c057600080fd5b6102ee6004808035600019169060200190919080359060200190820180359060200191909192905050610e93565b6040518082815260200191505060405180910390f35b341561030f57600080fd5b6103296004808035600019169060200190919050506117e2565b604051808215151515815260200191505060405180910390f35b341561034e57600080fd5b6103686004808035600019169060200190919050506118a0565b604051808215151515815260200191505060405180910390f35b341561038d57600080fd5b6103ac6004808035906020019091908035906020019091905050611987565b005b34156103b957600080fd5b6103f06004808035600019169060200190919080359060200190919080359060200190820180359060200191909192905050611d0f565b005b34156103fd57600080fd5b610417600480803560001916906020019091905050612142565b005b341561042457600080fd5b61043e600480803560001916906020019091905050612183565b604051808215151515815260200191505060405180910390f35b341561046357600080fd5b61047960048080359060200190919050506121ad565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b34156104e657600080fd5b61051b600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612210565b604051808215151515815260200191505060405180910390f35b341561054057600080fd5b61057e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190505061227a565b6040518082815260200191505060405180910390f35b341561059f57600080fd5b6105b96004808035600019169060200190919050506123af565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b341561062657600080fd5b61063c6004808035906020019091905050612412565b6040518082815260200191505060405180910390f35b341561065d57600080fd5b6106656125f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106b257600080fd5b6106ba61261f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561070757600080fd5b61070f612645565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060016000836000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561080357600080fd5b8060020154821115151561081657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156108d757600080fd5b5af115156108e457600080fd5b50505060405180519050828260020154031015151561090257600080fd5b818160020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156109d857600080fd5b5af115156109e557600080fd5b5050506040518051905015156109fa57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167f9d9ed58779badf90c56d72f3b54def9f73dc875d8f86416c8334b55328c6c106848460020154604051808381526020018281526020019250505060405180910390a3505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610af45780601f10610ac957610100808354040283529160200191610af4565b820191906000526020600020905b815481529060010190602001808311610ad757829003601f168201915b505050505081565b600060016000836000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7957600080fd5b610b8282610751565b1515610b8d57600080fd5b600081600301541480610bc357506000808260030154815260200190815260200160002060010160149054906101000a900460ff165b1515610bce57600080fd5b610bd78261266b565b81600019167f8a51904a50ce4451be09dc08242bd2d5565b05cf0f4f5aa88c77f96fdf538b4260405160405180910390a25050565b600080600160008460001916600019168152602001908152602001600020600301549050600060016000856000191660001916815260200190815260200160002060030154118015610c7e575060008082815260200190815260200160002060010160149054906101000a900460ff16155b915050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610d0357600080fd5b818160020160008282540192505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610e0d57600080fd5b5af11515610e1a57600080fd5b505050604051805190501515610e2f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167ff63fcfb210c709154f0260502b2586fcee5550d17dc828be3127ccdedec620ab848460020154604051808381526020018281526020019250505060405180910390a3505050565b600080600080600080600160008a600019166000191681526020019081526020016000209450600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610f7a57600080fd5b5af11515610f8757600080fd5b505050604051805190509350610f9c89612183565b80610fb557508460010160009054906101000a900460ff165b1515610fc057600080fd5b600085600301541480610ff657506000808660030154815260200190815260200160002060010160149054906101000a900460ff165b151561100157600080fd5b8385600201541015611050576110168961266b565b88600019167f4a9ee335af9e32f32f2229943dc7a0d3b5adf7e4c5c4062b372eae8c476d928660405160405180910390a2600095506117d6565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d60600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f766f746551756f72756d00000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561114f57600080fd5b5af1151561115c57600080fd5b50505060405180519050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f636f6d6d697453746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561122757600080fd5b5af1151561123457600080fd5b50505060405180519050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f72657665616c53746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156112ff57600080fd5b5af1151561130c57600080fd5b505050604051805190506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b151561137557600080fd5b5af1151561138257600080fd5b50505060405180519050925060a060405190810160405280606486600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600f8152602001807f64697370656e736174696f6e5063740000000000000000000000000000000000815250602001915050602060405180830381600087803b151561145e57600080fd5b5af1151561146b57600080fd5b505050604051805190506064030281151561148257fe5b0481526020013373ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200185815260200160008152506000808581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff0219169083151502179055506060820151816002015560808201518160030155905050828560030181905550838560020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561166557600080fd5b5af1151561167257600080fd5b50505060405180519050151561168757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b151561171757600080fd5b5af1151561172457600080fd5b50505060405180519060200180519060200180519060200180519060200180519050505050915091503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff98a08756a3603420a080d66764f73deb1e30896c315cfed03e17f88f5eb30f7858b8b8787604051808681526020018060200184815260200183815260200182810382528686828181526020019250808284378201915050965050505050505060405180910390a38295505b50505050509392505050565b60008060016000846000191660001916815260200190815260200160002060030154905061180f83612183565b801561183857504260016000856000191660001916815260200190815260200160002060000154105b801561184a575061184883610751565b155b80156118875750600081148061188657506001151560008083815260200190815260200160002060010160149054906101000a900460ff161515145b5b15611895576001915061189a565b600091505b50919050565b6000806001600084600019166000191681526020019081526020016000206003015490506118cd83610c0c565b15156118d857600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561196857600080fd5b5af1151561197557600080fd5b50505060405180519050915050919050565b6000806000151560008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415156119fc57600080fd5b6001151560008086815260200190815260200160002060010160149054906101000a900460ff161515141515611a3157600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611afd57600080fd5b5af11515611b0a57600080fd5b505050604051805190509150611b2133858561227a565b905081600080868152602001908152602001600020600301600082825403925050819055508060008086815260200190815260200160002060000160008282540392505081905550600160008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611c9857600080fd5b5af11515611ca557600080fd5b505050604051805190501515611cba57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a350505050565b6000611d1a85610751565b151515611d2657600080fd5b611d2f85612183565b151515611d3b57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515611dfc57600080fd5b5af11515611e0957600080fd5b505050604051805190508410151515611e2157600080fd5b6001600086600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f6b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600d8152602001807f6170706c7953746167654c656e00000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515611f4557600080fd5b5af11515611f5257600080fd5b50505060405180519050426128a190919063ffffffff16565b8160000181905550838160020181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561209857600080fd5b5af115156120a557600080fd5b5050506040518051905015156120ba57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fa27f550c3c7a7c6d8369e5383fdc7a3b4850d8ce9e20066f9d496f6989f0086486846000015487876040518085815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a35050505050565b61214b816117e2565b1561215e57612159816128bf565b612180565b612167816118a0565b1561217a576121758161295c565b61217f565b600080fd5b5b50565b60008060016000846000191660001916815260200190815260200160002060000154119050919050565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b600080600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080600080600080878152602001908152602001600020600301549250600080878152602001908152602001600020600001549150600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b151561237c57600080fd5b5af1151561238957600080fd5b505050604051805190509050828282028115156123a257fe5b0493505050509392505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080600083815260200190815260200160002060010160149054906101000a900460ff161580156124e75750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15156124cf57600080fd5b5af115156124dc57600080fd5b505050604051805190505b15156124f257600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561258457600080fd5b5af1151561259157600080fd5b5050506040518051905014156125c1576000808381526020019081526020016000206002015460020290506125f4565b60008083815260200190815260200160002060000154600080848152602001908152602001600020600201546002020390505b919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060016000856000191660001916815260200190815260200160002092508260010160009054906101000a900460ff16156126da5783600019167fd1ffb796b7108387b2f02adf47b4b81a1690cf2a190422c87a4f670780103e6360405160405180910390a261270c565b83600019167f2e5ec035f6eac8ff1cf7cdf36cfeca7c85413f9f67652dc2c13d20f337204a2660405160405180910390a25b8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506001600085600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905560038201600090555050600081111561289b57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561287857600080fd5b5af1151561288557600080fd5b50505060405180519050151561289a57600080fd5b5b50505050565b60008082840190508381101515156128b557fe5b8091505092915050565b60016000826000191660001916815260200190815260200160002060010160009054906101000a900460ff1615156129235780600019167fa7bc1d57d9006d9d248707c7b6828c1bab8c51719cc06d78c82a3ee891ef967c60405160405180910390a25b6001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff02191690831515021790555050565b60008060016000846000191660001916815260200190815260200160002060030154915061298982612412565b9050600160008084815260200190815260200160002060010160146101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612a4957600080fd5b5af11515612a5657600080fd5b5050506040518051905060008084815260200190815260200160002060030181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349403183836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612b0957600080fd5b5af11515612b1657600080fd5b5050506040518051905015612bce57612b2e836128bf565b80600160008560001916600019168152602001908152602001600020600201600082825401925050819055508183600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c16000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a3612d62565b612bd78361266b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612cd057600080fd5b5af11515612cdd57600080fd5b505050604051805190501515612cf257600080fd5b8183600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe66000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a35b5050505600a165627a7a723058201cfaac4625156c530d9a951eef8db0c900ad69e015eb7cc6612d3191513f49ec0029","deployedBytecode":"0x60606040526004361061011d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301a5e3fe14610122578063040cf0201461016157806306fdde03146101915780630ca362631461021f5780631b7bbecb146102465780631de26e161461028557806343cffefe146102b5578063691a38ab1461030457806377609a411461034357806386bb8f371461038257806389bb55c7146103ae5780638a59eb56146103f25780638cf8151f146104195780638f1d377614610458578063a5ba3b1e146104db578063a7aad3db14610535578063c18b8db414610594578063c8187cf11461061b578063e1e3f91514610652578063fc0c546a146106a7578063fce1ccca146106fc575b600080fd5b341561012d57600080fd5b610147600480803560001916906020019091905050610751565b604051808215151515815260200191505060405180910390f35b341561016c57600080fd5b61018f600480803560001916906020019091908035906020019091905050610786565b005b341561019c57600080fd5b6101a4610a5e565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101e45780820151818401526020810190506101c9565b50505050905090810190601f1680156102115780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561022a57600080fd5b610244600480803560001916906020019091905050610afc565b005b341561025157600080fd5b61026b600480803560001916906020019091905050610c0c565b604051808215151515815260200191505060405180910390f35b341561029057600080fd5b6102b3600480803560001916906020019091908035906020019091905050610c86565b005b34156102c057600080fd5b6102ee6004808035600019169060200190919080359060200190820180359060200191909192905050610e93565b6040518082815260200191505060405180910390f35b341561030f57600080fd5b6103296004808035600019169060200190919050506117e2565b604051808215151515815260200191505060405180910390f35b341561034e57600080fd5b6103686004808035600019169060200190919050506118a0565b604051808215151515815260200191505060405180910390f35b341561038d57600080fd5b6103ac6004808035906020019091908035906020019091905050611987565b005b34156103b957600080fd5b6103f06004808035600019169060200190919080359060200190919080359060200190820180359060200191909192905050611d0f565b005b34156103fd57600080fd5b610417600480803560001916906020019091905050612142565b005b341561042457600080fd5b61043e600480803560001916906020019091905050612183565b604051808215151515815260200191505060405180910390f35b341561046357600080fd5b61047960048080359060200190919050506121ad565b604051808681526020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001841515151581526020018381526020018281526020019550505050505060405180910390f35b34156104e657600080fd5b61051b600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050612210565b604051808215151515815260200191505060405180910390f35b341561054057600080fd5b61057e600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001909190505061227a565b6040518082815260200191505060405180910390f35b341561059f57600080fd5b6105b96004808035600019169060200190919050506123af565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b341561062657600080fd5b61063c6004808035906020019091905050612412565b6040518082815260200191505060405180910390f35b341561065d57600080fd5b6106656125f9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106b257600080fd5b6106ba61261f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561070757600080fd5b61070f612645565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b600060016000836000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561080357600080fd5b8060020154821115151561081657600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156108d757600080fd5b5af115156108e457600080fd5b50505060405180519050828260020154031015151561090257600080fd5b818160020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156109d857600080fd5b5af115156109e557600080fd5b5050506040518051905015156109fa57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167f9d9ed58779badf90c56d72f3b54def9f73dc875d8f86416c8334b55328c6c106848460020154604051808381526020018281526020019250505060405180910390a3505050565b60058054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610af45780601f10610ac957610100808354040283529160200191610af4565b820191906000526020600020905b815481529060010190602001808311610ad757829003601f168201915b505050505081565b600060016000836000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b7957600080fd5b610b8282610751565b1515610b8d57600080fd5b600081600301541480610bc357506000808260030154815260200190815260200160002060010160149054906101000a900460ff165b1515610bce57600080fd5b610bd78261266b565b81600019167f8a51904a50ce4451be09dc08242bd2d5565b05cf0f4f5aa88c77f96fdf538b4260405160405180910390a25050565b600080600160008460001916600019168152602001908152602001600020600301549050600060016000856000191660001916815260200190815260200160002060030154118015610c7e575060008082815260200190815260200160002060010160149054906101000a900460ff16155b915050919050565b600060016000846000191660001916815260200190815260200160002090503373ffffffffffffffffffffffffffffffffffffffff168160010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610d0357600080fd5b818160020160008282540192505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610e0d57600080fd5b5af11515610e1a57600080fd5b505050604051805190501515610e2f57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1683600019167ff63fcfb210c709154f0260502b2586fcee5550d17dc828be3127ccdedec620ab848460020154604051808381526020018281526020019250505060405180910390a3505050565b600080600080600080600160008a600019166000191681526020019081526020016000209450600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610f7a57600080fd5b5af11515610f8757600080fd5b505050604051805190509350610f9c89612183565b80610fb557508460010160009054906101000a900460ff165b1515610fc057600080fd5b600085600301541480610ff657506000808660030154815260200190815260200160002060010160149054906101000a900460ff165b151561100157600080fd5b8385600201541015611050576110168961266b565b88600019167f4a9ee335af9e32f32f2229943dc7a0d3b5adf7e4c5c4062b372eae8c476d928660405160405180910390a2600095506117d6565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166332ed3d60600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f766f746551756f72756d00000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561114f57600080fd5b5af1151561115c57600080fd5b50505060405180519050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f636f6d6d697453746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561122757600080fd5b5af1151561123457600080fd5b50505060405180519050600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600e8152602001807f72657665616c53746167654c656e000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156112ff57600080fd5b5af1151561130c57600080fd5b505050604051805190506040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808481526020018381526020018281526020019350505050602060405180830381600087803b151561137557600080fd5b5af1151561138257600080fd5b50505060405180519050925060a060405190810160405280606486600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600f8152602001807f64697370656e736174696f6e5063740000000000000000000000000000000000815250602001915050602060405180830381600087803b151561145e57600080fd5b5af1151561146b57600080fd5b505050604051805190506064030281151561148257fe5b0481526020013373ffffffffffffffffffffffffffffffffffffffff16815260200160001515815260200185815260200160008152506000808581526020019081526020016000206000820151816000015560208201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548160ff0219169083151502179055506060820151816002015560808201518160030155905050828560030181905550838560020160008282540392505081905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3330876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561166557600080fd5b5af1151561167257600080fd5b50505060405180519050151561168757600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636148fed5846040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018082815260200191505060a060405180830381600087803b151561171757600080fd5b5af1151561172457600080fd5b50505060405180519060200180519060200180519060200180519060200180519050505050915091503373ffffffffffffffffffffffffffffffffffffffff1689600019167ff98a08756a3603420a080d66764f73deb1e30896c315cfed03e17f88f5eb30f7858b8b8787604051808681526020018060200184815260200183815260200182810382528686828181526020019250808284378201915050965050505050505060405180910390a38295505b50505050509392505050565b60008060016000846000191660001916815260200190815260200160002060030154905061180f83612183565b801561183857504260016000856000191660001916815260200190815260200160002060000154105b801561184a575061184883610751565b155b80156118875750600081148061188657506001151560008083815260200190815260200160002060010160149054906101000a900460ff161515145b5b15611895576001915061189a565b600091505b50919050565b6000806001600084600019166000191681526020019081526020016000206003015490506118cd83610c0c565b15156118d857600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561196857600080fd5b5af1151561197557600080fd5b50505060405180519050915050919050565b6000806000151560008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615151415156119fc57600080fd5b6001151560008086815260200190815260200160002060010160149054906101000a900460ff161515141515611a3157600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0693386866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b1515611afd57600080fd5b5af11515611b0a57600080fd5b505050604051805190509150611b2133858561227a565b905081600080868152602001908152602001600020600301600082825403925050819055508060008086815260200190815260200160002060000160008282540392505081905550600160008086815260200190815260200160002060040160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb33836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515611c9857600080fd5b5af11515611ca557600080fd5b505050604051805190501515611cba57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16847f6f4c982acc31b0af2cf1dc1556f21c0325d893782d65e83c68a5534a33f59957836040518082815260200191505060405180910390a350505050565b6000611d1a85610751565b151515611d2657600080fd5b611d2f85612183565b151515611d3b57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600a8152602001807f6d696e4465706f73697400000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515611dfc57600080fd5b5af11515611e0957600080fd5b505050604051805190508410151515611e2157600080fd5b6001600086600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550611f6b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663693ec85e6040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600d8152602001807f6170706c7953746167654c656e00000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515611f4557600080fd5b5af11515611f5257600080fd5b50505060405180519050426128a190919063ffffffff16565b8160000181905550838160020181905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630876040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561209857600080fd5b5af115156120a557600080fd5b5050506040518051905015156120ba57600080fd5b3373ffffffffffffffffffffffffffffffffffffffff1685600019167fa27f550c3c7a7c6d8369e5383fdc7a3b4850d8ce9e20066f9d496f6989f0086486846000015487876040518085815260200184815260200180602001828103825284848281815260200192508082843782019150509550505050505060405180910390a35050505050565b61214b816117e2565b1561215e57612159816128bf565b612180565b612167816118a0565b1561217a576121758161295c565b61217f565b600080fd5b5b50565b60008060016000846000191660001916815260200190815260200160002060000154119050919050565b60006020528060005260406000206000915090508060000154908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020154908060030154905085565b600080600084815260200190815260200160002060040160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600080600080600080878152602001908152602001600020600301549250600080878152602001908152602001600020600001549150600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663b43bd0698888886040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050602060405180830381600087803b151561237c57600080fd5b5af1151561238957600080fd5b505050604051805190509050828282028115156123a257fe5b0493505050509392505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080600083815260200190815260200160002060010160149054906101000a900460ff161580156124e75750600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ee684830836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b15156124cf57600080fd5b5af115156124dc57600080fd5b505050604051805190505b15156124f257600080fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6846040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b151561258457600080fd5b5af1151561259157600080fd5b5050506040518051905014156125c1576000808381526020019081526020016000206002015460020290506125f4565b60008083815260200190815260200160002060000154600080848152602001908152602001600020600201546002020390505b919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600060016000856000191660001916815260200190815260200160002092508260010160009054906101000a900460ff16156126da5783600019167fd1ffb796b7108387b2f02adf47b4b81a1690cf2a190422c87a4f670780103e6360405160405180910390a261270c565b83600019167f2e5ec035f6eac8ff1cf7cdf36cfeca7c85413f9f67652dc2c13d20f337204a2660405160405180910390a25b8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150826002015490506001600085600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600282016000905560038201600090555050600081111561289b57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561287857600080fd5b5af1151561288557600080fd5b50505060405180519050151561289a57600080fd5b5b50505050565b60008082840190508381101515156128b557fe5b8091505092915050565b60016000826000191660001916815260200190815260200160002060010160009054906101000a900460ff1615156129235780600019167fa7bc1d57d9006d9d248707c7b6828c1bab8c51719cc06d78c82a3ee891ef967c60405160405180910390a25b6001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff02191690831515021790555050565b60008060016000846000191660001916815260200190815260200160002060030154915061298982612412565b9050600160008084815260200190815260200160002060010160146101000a81548160ff021916908315150217905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663053e71a6836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612a4957600080fd5b5af11515612a5657600080fd5b5050506040518051905060008084815260200190815260200160002060030181905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166349403183836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515612b0957600080fd5b5af11515612b1657600080fd5b5050506040518051905015612bce57612b2e836128bf565b80600160008560001916600019168152602001908152602001600020600201600082825401925050819055508183600019167fc4497224aa78dd50c9b3e344aab02596201ca1e6dca4057a91a6c02f83f4f6c16000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a3612d62565b612bd78361266b565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb60008085815260200190815260200160002060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b1515612cd057600080fd5b5af11515612cdd57600080fd5b505050604051805190501515612cf257600080fd5b8183600019167f362a12431f779a2baff4f77f75ba7960ae993a5c41b425df11f7fd0af2b9cbe66000808681526020019081526020016000206000015460008087815260200190815260200160002060030154604051808381526020018281526020019250505060405180910390a35b5050505600a165627a7a723058201cfaac4625156c530d9a951eef8db0c900ad69e015eb7cc6612d3191513f49ec0029","sourceMap":"172:18139:2:-;;;3039:302;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3209:10;3186:5;;:34;;;;;;;;;;;;;;;;;;3250:9;3230:6;;:30;;;;;;;;;;;;;;;;;;3300:11;3270:13;;:42;;;;;;;;;;;;;;;;;;3329:5;3322:4;:12;;;;;;;;;;;;:::i;:::-;;3039:302;;;;172:18139;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;","deployedSourceMap":"172:18139:2:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12716:142;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5504:496;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2633:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;99:1;94:3;90:11;84:18;80:1;75:3;71:11;64:39;52:2;49:1;45:10;40:15;;8:100;;;12:14;2633:18:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6265:463;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13360:239;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4871:362;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7261:1674;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11891:653;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13846:247;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9904:961;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3859:743;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9176:298;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13028:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2348:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14982:149;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11343:375;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2456:43;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14281:474;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2593:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2530:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2563:24;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12716:142;12782:16;12817:8;:22;12826:12;12817:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;12810:41;;12716:142;;;:::o;5504:496::-;5577:23;5603:8;:22;5612:12;5603:22;;;;;;;;;;;;;;;;;5577:48;;5661:10;5644:27;;:7;:13;;;;;;;;;;;;:27;;;5636:36;;;;;;;;5701:7;:23;;;5690:7;:34;;5682:43;;;;;;;;5780:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5769:7;5743;:23;;;:33;:68;;5735:77;;;;;;;;5850:7;5823;:23;;;:34;;;;;;;;;;;5875:5;;;;;;;;;;;:14;;;5890:10;5902:7;5875:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5867:44;;;;;;;;5982:10;5922:71;;5934:12;5922:71;;;;5948:7;5957;:23;;;5922:71;;;;;;;;;;;;;;;;;;;;;;;;5504:496;;;:::o;2633:18::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;6265:463::-;6320:23;6346:8;:22;6355:12;6346:22;;;;;;;;;;;;;;;;;6320:48;;6401:7;:13;;;;;;;;;;;;6387:27;;:10;:27;;;6379:36;;;;;;;;6433:27;6447:12;6433:13;:27::i;:::-;6425:36;;;;;;;;6551:1;6528:7;:19;;;:24;:68;;;;6556:10;:31;6567:7;:19;;;6556:31;;;;;;;;;;;:40;;;;;;;;;;;;6528:68;6520:77;;;;;;;;6654:26;6667:12;6654;:26::i;:::-;6708:12;6690:31;;;;;;;;;;;;;6265:463;;:::o;13360:239::-;13428:4;13444:16;13463:8;:22;13472:12;13463:22;;;;;;;;;;;;;;;;;:34;;;13444:53;;13553:1;13516:8;:22;13525:12;13516:22;;;;;;;;;;;;;;;;;:34;;;:38;:75;;;;;13559:10;:23;13570:11;13559:23;;;;;;;;;;;:32;;;;;;;;;;;;13558:33;13516:75;13508:84;;13360:239;;;;:::o;4871:362::-;4943:23;4969:8;:22;4978:12;4969:22;;;;;;;;;;;;;;;;;4943:48;;5027:10;5010:27;;:7;:13;;;;;;;;;;;;:27;;;5002:36;;;;;;;;5076:7;5049;:23;;;:34;;;;;;;;;;;5101:5;;;;;;;;;;;:18;;;5120:10;5132:4;5138:7;5101:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5093:54;;;;;;;;5215:10;5158:68;;5167:12;5158:68;;;;5181:7;5190;:23;;;5158:68;;;;;;;;;;;;;;;;;;;;;;;;4871:362;;;:::o;7261:1674::-;7334:16;7362:23;7420:12;7989:11;8758:13;8773;7388:8;:22;7397:12;7388:22;;;;;;;;;;;;;;;;;7362:48;;7435:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7420:46;;7555:24;7566:12;7555:10;:24::i;:::-;:47;;;;7583:7;:19;;;;;;;;;;;;7555:47;7547:56;;;;;;;;7683:1;7660:7;:19;;;:24;:68;;;;7688:10;:31;7699:7;:19;;;7688:31;;;;;;;;;;;:40;;;;;;;;;;;;7660:68;7652:77;;;;;;;;7770:7;7744;:23;;;:33;7740:216;;;7853:26;7866:12;7853;:26::i;:::-;7910:12;7893:30;;;;;;;;;;;;;7944:1;7937:8;;;;7740:216;8003:6;;;;;;;;;;;:16;;;8033:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8078:13;;;;;;;;;;;:17;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8127:13;;;;;;;;;;;:17;;;:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8003:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7989:183;;8204:230;;;;;;;;;8335:3;8324:7;8284:13;;;;;;;;;;;:17;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8278:3;:42;8277:54;8276:62;;;;;;;;8204:230;;;;8240:10;8204:230;;;;;;8390:5;8204:230;;;;;;8359:7;8204:230;;;;8422:1;8204:230;;;8183:10;:18;8194:6;8183:18;;;;;;;;;;;:251;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8529:6;8507:7;:19;;:28;;;;8630:7;8603;:23;;;:34;;;;;;;;;;;8696:5;;;;;;;;;;;:18;;;8715:10;8727:4;8733:7;8696:45;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8688:54;;;;;;;;8791:6;;;;;;;;;;;:14;;;8806:6;8791:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8753:60;;;;;;;8894:10;8824:81;;8835:12;8824:81;;;;8849:6;8857:5;;8864:13;8879;8824:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8922:6;8915:13;;7261:1674;;;;;;;;;;;:::o;11891:653::-;11960:4;11976:16;11995:8;:22;12004:12;11995:22;;;;;;;;;;;;;;;;;:34;;;11976:53;;12280:24;12291:12;12280:10;:24::i;:::-;:86;;;;;12363:3;12320:8;:22;12329:12;12320:22;;;;;;;;;;;;;;;;;:40;;;:46;12280:86;:130;;;;;12383:27;12397:12;12383:13;:27::i;:::-;12382:28;12280:130;:208;;;;;12442:1;12427:11;:16;:60;;;;12483:4;12447:40;;:10;:23;12458:11;12447:23;;;;;;;;;;;:32;;;;;;;;;;;;:40;;;12427:60;12280:208;12263:252;;;12508:4;12501:11;;;;12263:252;12532:5;12525:12;;11891:653;;;;;:::o;13846:247::-;13921:4;13937:16;13956:8;:22;13965:12;13956:22;;;;;;;;;;;;;;;;;:34;;;13937:53;;14009:29;14025:12;14009:15;:29::i;:::-;14001:38;;;;;;;;14057:6;;;;;;;;;;;:16;;;14074:11;14057:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14050:36;;13846:247;;;;:::o;9904:961::-;10212:16;10300:11;10135:5;10083:57;;:10;:24;10094:12;10083:24;;;;;;;;;;;:36;;:48;10120:10;10083:48;;;;;;;;;;;;;;;;;;;;;;;;;:57;;;10075:66;;;;;;;;10196:4;10159:41;;:10;:24;10170:12;10159:24;;;;;;;;;;;:33;;;;;;;;;;;;:41;;;10151:50;;;;;;;;10231:6;;;;;;;;;;;:26;;;10258:10;10270:12;10284:5;10231:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10212:78;;10314:44;10326:10;10338:12;10352:5;10314:11;:44::i;:::-;10300:58;;10560:11;10520:10;:24;10531:12;10520:24;;;;;;;;;;;:36;;;:51;;;;;;;;;;;10620:6;10581:10;:24;10592:12;10581:24;;;;;;;;;;;:35;;;:45;;;;;;;;;;;10741:4;10690:10;:24;10701:12;10690:24;;;;;;;;;;;:36;;:48;10727:10;10690:48;;;;;;;;;;;;;;;;:55;;;;;;;;;;;;;;;;;;10764:5;;;;;;;;;;;:14;;;10779:10;10791:6;10764:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10756:43;;;;;;;;10847:10;10810:48;;10825:12;10810:48;10839:6;10810:48;;;;;;;;;;;;;;;;;;9904:961;;;;:::o;3859:743::-;4118:23;3952:27;3966:12;3952:13;:27::i;:::-;3951:28;3943:37;;;;;;;;3999:24;4010:12;3999:10;:24::i;:::-;3998:25;3990:34;;;;;;;;4053:13;;;;;;;;;;;:17;;;:31;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4042:7;:42;;4034:51;;;;;;;;4144:8;:22;4153:12;4144:22;;;;;;;;;;;;;;;;;4118:48;;4192:10;4176:7;:13;;;:26;;;;;;;;;;;;;;;;;;4278:55;4298:13;;;;;;;;;;;:17;;;:34;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4278:15;:19;;:55;;;;:::i;:::-;4250:7;:25;;:83;;;;4369:7;4343;:23;;:33;;;;4454:5;;;;;;;;;;;:18;;;4473:7;:13;;;;;;;;;;;;4488:4;4494:7;4454:48;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4446:57;;;;;;;;4584:10;4514:81;;4527:12;4514:81;;;;4541:7;4550;:25;;;4577:5;;4514:81;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3859:743;;;;;:::o;9176:298::-;9241:30;9258:12;9241:16;:30::i;:::-;9237:231;;;9285:34;9306:12;9285:20;:34::i;:::-;9237:231;;;9340:36;9363:12;9340:22;:36::i;:::-;9336:132;;;9390:30;9407:12;9390:16;:30::i;:::-;9336:132;;;9449:8;;;9336:132;9237:231;9176:298;:::o;13028:144::-;13091:11;13164:1;13121:8;:22;13130:12;13121:22;;;;;;;;;;;;;;;;;:40;;;:44;13114:51;;13028:144;;;:::o;2348:44::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14982:149::-;15059:4;15080:10;:24;15091:12;15080:24;;;;;;;;;;;:36;;:44;15117:6;15080:44;;;;;;;;;;;;;;;;;;;;;;;;;15073:51;;14982:149;;;;:::o;11343:375::-;11436:4;11452:16;11517:15;11580:16;11471:10;:24;11482:12;11471:24;;;;;;;;;;;:36;;;11452:55;;11535:10;:24;11546:12;11535:24;;;;;;;;;;;:35;;;11517:53;;11599:6;;;;;;;;;;;:26;;;11626:6;11634:12;11648:5;11599:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11580:74;;11700:11;11686:10;11672:11;:24;11671:40;;;;;;;;11664:47;;11343:375;;;;;;;;:::o;2456:43::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;14281:474::-;14346:4;14371:10;:24;14382:12;14371:24;;;;;;;;;;;:33;;;;;;;;;;;;14370:34;:68;;;;;14408:6;;;;;;;;;;;:16;;;14425:12;14408:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;14370:68;14362:77;;;;;;;;14588:1;14525:6;;;;;;;;;;;:45;;;14571:12;14525:59;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:64;14521:136;;;14616:10;:24;14627:12;14616:24;;;;;;;;;;;:30;;;14612:1;:34;14605:41;;;;14521:136;14713:10;:24;14724:12;14713:24;;;;;;;;;;;:35;;;14679:10;:24;14690:12;14679:24;;;;;;;;;;;:30;;;14675:1;:34;14674:74;14667:81;;14281:474;;;;:::o;2593:34::-;;;;;;;;;;;;;:::o;2530:27::-;;;;;;;;;;;;;:::o;2563:24::-;;;;;;;;;;;;;:::o;17603:706::-;17665:23;18003:13;18042:20;17691:8;:22;17700:12;17691:22;;;;;;;;;;;;;;;;;17665:48;;17807:7;:19;;;;;;;;;;;;17803:143;;;17858:12;17842:29;;;;;;;;;;;;;17803:143;;;17922:12;17902:33;;;;;;;;;;;;;17803:143;18019:7;:13;;;;;;;;;;;;18003:29;;18065:7;:23;;;18042:46;;18105:8;:22;18114:12;18105:22;;;;;;;;;;;;;;;;;;18098:29;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18229:1;18211:15;:19;18207:96;;;18253:5;;;;;;;;;;;:14;;;18268:5;18275:15;18253:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18245:47;;;;;;;;18207:96;17603:706;;;;:::o;680:133:8:-;742:7;757:9;773:1;769;:5;757:17;;792:1;787;:6;;780:14;;;;;;807:1;800:8;;680:133;;;;;:::o;17221:210:2:-;17296:8;:22;17305:12;17296:22;;;;;;;;;;;;;;;;;:34;;;;;;;;;;;;17295:35;17291:83;;;17358:12;17334:37;;;;;;;;;;;;;17291:83;17420:4;17383:8;:22;17392:12;17383:22;;;;;;;;;;;;;;;;;:34;;;:41;;;;;;;;;;;;;;;;;;17221:210;:::o;15473:1400::-;15539:16;15725:11;15558:8;:22;15567:12;15558:22;;;;;;;;;;;;;;;;;:34;;;15539:53;;15739:28;15755:11;15739:15;:28::i;:::-;15725:42;;15863:4;15828:10;:23;15839:11;15828:23;;;;;;;;;;;:32;;;:39;;;;;;;;;;;;;;;;;;16019:6;;;;;;;;;;;:45;;;16065:11;16019:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15969:10;:23;15980:11;15969:23;;;;;;;;;;;:35;;:108;;;;16126:6;;;;;;;;;;;:15;;;16142:11;16126:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16122:745;;;16170:34;16191:12;16170:20;:34::i;:::-;16333:6;16291:8;:22;16300:12;16291:22;;;;;;;;;;;;;;;;;:38;;;:48;;;;;;;;;;;16385:11;16371:12;16354:116;;;;16398:10;:23;16409:11;16398:23;;;;;;;;;;;:34;;;16434:10;:23;16445:11;16434:23;;;;;;;;;;;:35;;;16354:116;;;;;;;;;;;;;;;;;;;;;;;;16122:745;;;16562:26;16575:12;16562;:26::i;:::-;16663:5;;;;;;;;;;;:14;;;16678:10;:23;16689:11;16678:23;;;;;;;;;;;:34;;;;;;;;;;;;16714:6;16663:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16655:67;;;;;;;;16771:11;16757:12;16737:119;;;;16784:10;:23;16795:11;16784:23;;;;;;;;;;;:34;;;16820:10;:23;16831:11;16820:23;;;;;;;;;;;:35;;;16737:119;;;;;;;;;;;;;;;;;;;;;;;;16122:745;15473:1400;;;:::o","source":"pragma solidity ^0.4.11;\n\nimport \"tokens/eip20/EIP20Interface.sol\";\nimport \"./Parameterizer.sol\";\nimport \"plcrvoting/PLCRVoting.sol\";\nimport \"zeppelin/math/SafeMath.sol\";\n\ncontract Registry {\n\n // ------\n // EVENTS\n // ------\n\n event _Application(bytes32 indexed listingHash, uint deposit, uint appEndDate, string data, address indexed applicant);\n event _Challenge(bytes32 indexed listingHash, uint challengeID, string data, uint commitEndDate, uint revealEndDate, address indexed challenger);\n event _Deposit(bytes32 indexed listingHash, uint added, uint newTotal, address indexed owner);\n event _Withdrawal(bytes32 indexed listingHash, uint withdrew, uint newTotal, address indexed owner);\n event _ApplicationWhitelisted(bytes32 indexed listingHash);\n event _ApplicationRemoved(bytes32 indexed listingHash);\n event _ListingRemoved(bytes32 indexed listingHash);\n event _ListingWithdrawn(bytes32 indexed listingHash);\n event _TouchAndRemoved(bytes32 indexed listingHash);\n event _ChallengeFailed(bytes32 indexed listingHash, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _ChallengeSucceeded(bytes32 indexed listingHash, uint indexed challengeID, uint rewardPool, uint totalTokens);\n event _RewardClaimed(uint indexed challengeID, uint reward, address indexed voter);\n\n using SafeMath for uint;\n\n struct Listing {\n uint applicationExpiry; // Expiration date of apply stage\n bool whitelisted; // Indicates registry status\n address owner; // Owner of Listing\n uint unstakedDeposit; // Number of tokens in the listing not locked in a challenge\n uint challengeID; // Corresponds to a PollID in PLCRVoting\n }\n\n struct Challenge {\n uint rewardPool; // (remaining) Pool of tokens to be distributed to winning voters\n address challenger; // Owner of Challenge\n bool resolved; // Indication of if challenge is resolved\n uint stake; // Number of tokens at stake for either party during challenge\n uint totalTokens; // (remaining) Number of tokens used in voting by the winning side\n mapping(address => bool) tokenClaims; // Indicates whether a voter has claimed a reward yet\n }\n\n // Maps challengeIDs to associated challenge data\n mapping(uint => Challenge) public challenges;\n\n // Maps listingHashes to associated listingHash data\n mapping(bytes32 => Listing) public listings;\n\n // Global Variables\n EIP20Interface public token;\n PLCRVoting public voting;\n Parameterizer public parameterizer;\n string public name;\n\n // ------------\n // CONSTRUCTOR:\n // ------------\n\n /**\n @dev Contructor Sets the addresses for token, voting, and parameterizer\n @param _tokenAddr Address of the TCR's intrinsic ERC20 token\n @param _plcrAddr Address of a PLCR voting contract for the provided token\n @param _paramsAddr Address of a Parameterizer contract \n */\n function Registry(\n address _tokenAddr,\n address _plcrAddr,\n address _paramsAddr,\n string _name\n ) public {\n token = EIP20Interface(_tokenAddr);\n voting = PLCRVoting(_plcrAddr);\n parameterizer = Parameterizer(_paramsAddr);\n name = _name;\n }\n\n // --------------------\n // PUBLISHER INTERFACE:\n // --------------------\n\n /**\n @dev Allows a user to start an application. Takes tokens from user and sets\n apply stage end time.\n @param _listingHash The hash of a potential listing a user is applying to add to the registry\n @param _amount The number of ERC20 tokens a user is willing to potentially stake\n @param _data Extra data relevant to the application. Think IPFS hashes.\n */\n function apply(bytes32 _listingHash, uint _amount, string _data) external {\n require(!isWhitelisted(_listingHash));\n require(!appWasMade(_listingHash));\n require(_amount >= parameterizer.get(\"minDeposit\"));\n\n // Sets owner\n Listing storage listing = listings[_listingHash];\n listing.owner = msg.sender;\n\n // Sets apply stage end time\n listing.applicationExpiry = block.timestamp.add(parameterizer.get(\"applyStageLen\"));\n listing.unstakedDeposit = _amount;\n\n // Transfers tokens from user to Registry contract\n require(token.transferFrom(listing.owner, this, _amount));\n\n _Application(_listingHash, _amount, listing.applicationExpiry, _data, msg.sender);\n }\n\n /**\n @dev Allows the owner of a listingHash to increase their unstaked deposit.\n @param _listingHash A listingHash msg.sender is the owner of\n @param _amount The number of ERC20 tokens to increase a user's unstaked deposit\n */\n function deposit(bytes32 _listingHash, uint _amount) external {\n Listing storage listing = listings[_listingHash];\n\n require(listing.owner == msg.sender);\n\n listing.unstakedDeposit += _amount;\n require(token.transferFrom(msg.sender, this, _amount));\n\n _Deposit(_listingHash, _amount, listing.unstakedDeposit, msg.sender);\n }\n\n /**\n @dev Allows the owner of a listingHash to decrease their unstaked deposit.\n @param _listingHash A listingHash msg.sender is the owner of.\n @param _amount The number of ERC20 tokens to withdraw from the unstaked deposit.\n */\n function withdraw(bytes32 _listingHash, uint _amount) external {\n Listing storage listing = listings[_listingHash];\n\n require(listing.owner == msg.sender);\n require(_amount <= listing.unstakedDeposit);\n require(listing.unstakedDeposit - _amount >= parameterizer.get(\"minDeposit\"));\n\n listing.unstakedDeposit -= _amount;\n require(token.transfer(msg.sender, _amount));\n\n _Withdrawal(_listingHash, _amount, listing.unstakedDeposit, msg.sender);\n }\n\n /**\n @dev Allows the owner of a listingHash to remove the listingHash from the whitelist\n Returns all tokens to the owner of the listingHash\n @param _listingHash A listingHash msg.sender is the owner of.\n */\n function exit(bytes32 _listingHash) external {\n Listing storage listing = listings[_listingHash];\n\n require(msg.sender == listing.owner);\n require(isWhitelisted(_listingHash));\n\n // Cannot exit during ongoing challenge\n require(listing.challengeID == 0 || challenges[listing.challengeID].resolved);\n\n // Remove listingHash & return tokens\n resetListing(_listingHash);\n _ListingWithdrawn(_listingHash);\n }\n\n // -----------------------\n // TOKEN HOLDER INTERFACE:\n // -----------------------\n\n /**\n @dev Starts a poll for a listingHash which is either in the apply stage or\n already in the whitelist. Tokens are taken from the challenger and the\n applicant's deposits are locked.\n @param _listingHash The listingHash being challenged, whether listed or in application\n @param _data Extra data relevant to the challenge. Think IPFS hashes.\n */\n function challenge(bytes32 _listingHash, string _data) external returns (uint challengeID) {\n Listing storage listing = listings[_listingHash];\n uint deposit = parameterizer.get(\"minDeposit\");\n\n // Listing must be in apply stage or already on the whitelist\n require(appWasMade(_listingHash) || listing.whitelisted);\n // Prevent multiple challenges\n require(listing.challengeID == 0 || challenges[listing.challengeID].resolved);\n\n if (listing.unstakedDeposit < deposit) {\n // Not enough tokens, listingHash auto-delisted\n resetListing(_listingHash);\n _TouchAndRemoved(_listingHash);\n return 0;\n }\n\n // Starts poll\n uint pollID = voting.startPoll(\n parameterizer.get(\"voteQuorum\"),\n parameterizer.get(\"commitStageLen\"),\n parameterizer.get(\"revealStageLen\")\n );\n\n challenges[pollID] = Challenge({\n challenger: msg.sender,\n rewardPool: ((100 - parameterizer.get(\"dispensationPct\")) * deposit) / 100,\n stake: deposit,\n resolved: false,\n totalTokens: 0\n });\n\n // Updates listingHash to store most recent challenge\n listing.challengeID = pollID;\n\n // Locks tokens for listingHash during challenge\n listing.unstakedDeposit -= deposit;\n\n // Takes tokens from challenger\n require(token.transferFrom(msg.sender, this, deposit));\n\n var (commitEndDate, revealEndDate,) = voting.pollMap(pollID);\n\n _Challenge(_listingHash, pollID, _data, commitEndDate, revealEndDate, msg.sender);\n return pollID;\n }\n\n /**\n @dev Updates a listingHash's status from 'application' to 'listing' or resolves\n a challenge if one exists.\n @param _listingHash The listingHash whose status is being updated\n */\n function updateStatus(bytes32 _listingHash) public {\n if (canBeWhitelisted(_listingHash)) {\n whitelistApplication(_listingHash);\n } else if (challengeCanBeResolved(_listingHash)) {\n resolveChallenge(_listingHash);\n } else {\n revert();\n }\n }\n\n // ----------------\n // TOKEN FUNCTIONS:\n // ----------------\n\n /**\n @dev Called by a voter to claim their reward for each completed vote. Someone\n must call updateStatus() before this can be called.\n @param _challengeID The PLCR pollID of the challenge a reward is being claimed for\n @param _salt The salt of a voter's commit hash in the given poll\n */\n function claimReward(uint _challengeID, uint _salt) public {\n // Ensures the voter has not already claimed tokens and challenge results have been processed\n require(challenges[_challengeID].tokenClaims[msg.sender] == false);\n require(challenges[_challengeID].resolved == true);\n\n uint voterTokens = voting.getNumPassingTokens(msg.sender, _challengeID, _salt);\n uint reward = voterReward(msg.sender, _challengeID, _salt);\n\n // Subtracts the voter's information to preserve the participation ratios\n // of other voters compared to the remaining pool of rewards\n challenges[_challengeID].totalTokens -= voterTokens;\n challenges[_challengeID].rewardPool -= reward;\n\n // Ensures a voter cannot claim tokens again\n challenges[_challengeID].tokenClaims[msg.sender] = true;\n\n require(token.transfer(msg.sender, reward));\n\n _RewardClaimed(_challengeID, reward, msg.sender);\n }\n\n // --------\n // GETTERS:\n // --------\n\n /**\n @dev Calculates the provided voter's token reward for the given poll.\n @param _voter The address of the voter whose reward balance is to be returned\n @param _challengeID The pollID of the challenge a reward balance is being queried for\n @param _salt The salt of the voter's commit hash in the given poll\n @return The uint indicating the voter's reward\n */\n function voterReward(address _voter, uint _challengeID, uint _salt)\n public view returns (uint) {\n uint totalTokens = challenges[_challengeID].totalTokens;\n uint rewardPool = challenges[_challengeID].rewardPool;\n uint voterTokens = voting.getNumPassingTokens(_voter, _challengeID, _salt);\n return (voterTokens * rewardPool) / totalTokens;\n }\n\n /**\n @dev Determines whether the given listingHash be whitelisted.\n @param _listingHash The listingHash whose status is to be examined\n */\n function canBeWhitelisted(bytes32 _listingHash) view public returns (bool) {\n uint challengeID = listings[_listingHash].challengeID;\n\n // Ensures that the application was made,\n // the application period has ended,\n // the listingHash can be whitelisted,\n // and either: the challengeID == 0, or the challenge has been resolved.\n if (\n appWasMade(_listingHash) &&\n listings[_listingHash].applicationExpiry < now &&\n !isWhitelisted(_listingHash) &&\n (challengeID == 0 || challenges[challengeID].resolved == true)\n ) { return true; }\n\n return false;\n }\n\n /**\n @dev Returns true if the provided listingHash is whitelisted\n @param _listingHash The listingHash whose status is to be examined\n */\n function isWhitelisted(bytes32 _listingHash) view public returns (bool whitelisted) {\n return listings[_listingHash].whitelisted;\n }\n\n /**\n @dev Returns true if apply was called for this listingHash\n @param _listingHash The listingHash whose status is to be examined\n */\n function appWasMade(bytes32 _listingHash) view public returns (bool exists) {\n return listings[_listingHash].applicationExpiry > 0;\n }\n\n /**\n @dev Returns true if the application/listingHash has an unresolved challenge\n @param _listingHash The listingHash whose status is to be examined\n */\n function challengeExists(bytes32 _listingHash) view public returns (bool) {\n uint challengeID = listings[_listingHash].challengeID;\n\n return (listings[_listingHash].challengeID > 0 && !challenges[challengeID].resolved);\n }\n\n /**\n @dev Determines whether voting has concluded in a challenge for a given\n listingHash. Throws if no challenge exists.\n @param _listingHash A listingHash with an unresolved challenge\n */\n function challengeCanBeResolved(bytes32 _listingHash) view public returns (bool) {\n uint challengeID = listings[_listingHash].challengeID;\n\n require(challengeExists(_listingHash));\n\n return voting.pollEnded(challengeID);\n }\n\n /**\n @dev Determines the number of tokens awarded to the winning party in a challenge.\n @param _challengeID The challengeID to determine a reward for\n */\n function determineReward(uint _challengeID) public view returns (uint) {\n require(!challenges[_challengeID].resolved && voting.pollEnded(_challengeID));\n\n // Edge case, nobody voted, give all tokens to the challenger.\n if (voting.getTotalNumberOfTokensForWinningOption(_challengeID) == 0) {\n return 2 * challenges[_challengeID].stake;\n }\n\n return (2 * challenges[_challengeID].stake) - challenges[_challengeID].rewardPool;\n }\n\n /**\n @dev Getter for Challenge tokenClaims mappings\n @param _challengeID The challengeID to query\n @param _voter The voter whose claim status to query for the provided challengeID\n */\n function tokenClaims(uint _challengeID, address _voter) public view returns (bool) {\n return challenges[_challengeID].tokenClaims[_voter];\n }\n\n // ----------------\n // PRIVATE FUNCTIONS:\n // ----------------\n\n /**\n @dev Determines the winner in a challenge. Rewards the winner tokens and\n either whitelists or de-whitelists the listingHash.\n @param _listingHash A listingHash with a challenge that is to be resolved\n */\n function resolveChallenge(bytes32 _listingHash) private {\n uint challengeID = listings[_listingHash].challengeID;\n\n // Calculates the winner's reward,\n // which is: (winner's full stake) + (dispensationPct * loser's stake)\n uint reward = determineReward(challengeID);\n\n // Sets flag on challenge being processed\n challenges[challengeID].resolved = true;\n\n // Stores the total tokens used for voting by the winning side for reward purposes\n challenges[challengeID].totalTokens =\n voting.getTotalNumberOfTokensForWinningOption(challengeID);\n\n // Case: challenge failed\n if (voting.isPassed(challengeID)) {\n whitelistApplication(_listingHash);\n // Unlock stake so that it can be retrieved by the applicant\n listings[_listingHash].unstakedDeposit += reward;\n\n _ChallengeFailed(_listingHash, challengeID, challenges[challengeID].rewardPool, challenges[challengeID].totalTokens);\n }\n // Case: challenge succeeded or nobody voted\n else {\n resetListing(_listingHash);\n // Transfer the reward to the challenger\n require(token.transfer(challenges[challengeID].challenger, reward));\n\n _ChallengeSucceeded(_listingHash, challengeID, challenges[challengeID].rewardPool, challenges[challengeID].totalTokens);\n }\n }\n\n /**\n @dev Called by updateStatus() if the applicationExpiry date passed without a\n challenge being made. Called by resolveChallenge() if an\n application/listing beat a challenge.\n @param _listingHash The listingHash of an application/listingHash to be whitelisted\n */\n function whitelistApplication(bytes32 _listingHash) private {\n if (!listings[_listingHash].whitelisted) { _ApplicationWhitelisted(_listingHash); }\n listings[_listingHash].whitelisted = true;\n }\n\n /**\n @dev Deletes a listingHash from the whitelist and transfers tokens back to owner\n @param _listingHash The listing hash to delete\n */\n function resetListing(bytes32 _listingHash) private {\n Listing storage listing = listings[_listingHash];\n\n // Emit events before deleting listing to check whether is whitelisted\n if (listing.whitelisted) {\n _ListingRemoved(_listingHash);\n } else {\n _ApplicationRemoved(_listingHash);\n }\n\n // Deleting listing to prevent reentry\n address owner = listing.owner;\n uint unstakedDeposit = listing.unstakedDeposit;\n delete listings[_listingHash];\n \n // Transfers any remaining balance back to the owner\n if (unstakedDeposit > 0){\n require(token.transfer(owner, unstakedDeposit));\n }\n }\n}\n","sourcePath":"/media/op/w3/tcr/contracts/Registry.sol","ast":{"absolutePath":"/media/op/w3/tcr/contracts/Registry.sol","exportedSymbols":{"Registry":[2142]},"id":2143,"nodeType":"SourceUnit","nodes":[{"id":1049,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:24:2"},{"absolutePath":"tokens/eip20/EIP20Interface.sol","file":"tokens/eip20/EIP20Interface.sol","id":1050,"nodeType":"ImportDirective","scope":2143,"sourceUnit":3819,"src":"26:41:2","symbolAliases":[],"unitAlias":""},{"absolutePath":"/media/op/w3/tcr/contracts/Parameterizer.sol","file":"./Parameterizer.sol","id":1051,"nodeType":"ImportDirective","scope":2143,"sourceUnit":1048,"src":"68:29:2","symbolAliases":[],"unitAlias":""},{"absolutePath":"plcrvoting/PLCRVoting.sol","file":"plcrvoting/PLCRVoting.sol","id":1052,"nodeType":"ImportDirective","scope":2143,"sourceUnit":3525,"src":"98:35:2","symbolAliases":[],"unitAlias":""},{"absolutePath":"zeppelin/math/SafeMath.sol","file":"zeppelin/math/SafeMath.sol","id":1053,"nodeType":"ImportDirective","scope":2143,"sourceUnit":3914,"src":"134:36:2","symbolAliases":[],"unitAlias":""},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":2142,"linearizedBaseContracts":[2142],"name":"Registry","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":null,"id":1065,"name":"_Application","nodeType":"EventDefinition","parameters":{"id":1064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1055,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1065,"src":"259:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"259:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1057,"indexed":false,"name":"deposit","nodeType":"VariableDeclaration","scope":1065,"src":"288:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1056,"name":"uint","nodeType":"ElementaryTypeName","src":"288:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1059,"indexed":false,"name":"appEndDate","nodeType":"VariableDeclaration","scope":1065,"src":"302:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1058,"name":"uint","nodeType":"ElementaryTypeName","src":"302:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1061,"indexed":false,"name":"data","nodeType":"VariableDeclaration","scope":1065,"src":"319:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":1060,"name":"string","nodeType":"ElementaryTypeName","src":"319:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":1063,"indexed":true,"name":"applicant","nodeType":"VariableDeclaration","scope":1065,"src":"332:25:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1062,"name":"address","nodeType":"ElementaryTypeName","src":"332:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"258:100:2"},"src":"240:119:2"},{"anonymous":false,"documentation":null,"id":1079,"name":"_Challenge","nodeType":"EventDefinition","parameters":{"id":1078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1067,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1079,"src":"381:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1069,"indexed":false,"name":"challengeID","nodeType":"VariableDeclaration","scope":1079,"src":"410:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint","nodeType":"ElementaryTypeName","src":"410:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1071,"indexed":false,"name":"data","nodeType":"VariableDeclaration","scope":1079,"src":"428:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":1070,"name":"string","nodeType":"ElementaryTypeName","src":"428:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":1073,"indexed":false,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":1079,"src":"441:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1072,"name":"uint","nodeType":"ElementaryTypeName","src":"441:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1075,"indexed":false,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":1079,"src":"461:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1074,"name":"uint","nodeType":"ElementaryTypeName","src":"461:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1077,"indexed":true,"name":"challenger","nodeType":"VariableDeclaration","scope":1079,"src":"481:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1076,"name":"address","nodeType":"ElementaryTypeName","src":"481:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"380:128:2"},"src":"364:145:2"},{"anonymous":false,"documentation":null,"id":1089,"name":"_Deposit","nodeType":"EventDefinition","parameters":{"id":1088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1081,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1089,"src":"529:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"529:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1083,"indexed":false,"name":"added","nodeType":"VariableDeclaration","scope":1089,"src":"558:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1082,"name":"uint","nodeType":"ElementaryTypeName","src":"558:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1085,"indexed":false,"name":"newTotal","nodeType":"VariableDeclaration","scope":1089,"src":"570:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1084,"name":"uint","nodeType":"ElementaryTypeName","src":"570:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1087,"indexed":true,"name":"owner","nodeType":"VariableDeclaration","scope":1089,"src":"585:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1086,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"528:79:2"},"src":"514:94:2"},{"anonymous":false,"documentation":null,"id":1099,"name":"_Withdrawal","nodeType":"EventDefinition","parameters":{"id":1098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1091,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1099,"src":"631:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"631:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1093,"indexed":false,"name":"withdrew","nodeType":"VariableDeclaration","scope":1099,"src":"660:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1092,"name":"uint","nodeType":"ElementaryTypeName","src":"660:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1095,"indexed":false,"name":"newTotal","nodeType":"VariableDeclaration","scope":1099,"src":"675:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1094,"name":"uint","nodeType":"ElementaryTypeName","src":"675:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1097,"indexed":true,"name":"owner","nodeType":"VariableDeclaration","scope":1099,"src":"690:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1096,"name":"address","nodeType":"ElementaryTypeName","src":"690:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"630:82:2"},"src":"613:100:2"},{"anonymous":false,"documentation":null,"id":1103,"name":"_ApplicationWhitelisted","nodeType":"EventDefinition","parameters":{"id":1102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1101,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1103,"src":"748:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"748:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"747:29:2"},"src":"718:59:2"},{"anonymous":false,"documentation":null,"id":1107,"name":"_ApplicationRemoved","nodeType":"EventDefinition","parameters":{"id":1106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1105,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1107,"src":"808:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"808:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"807:29:2"},"src":"782:55:2"},{"anonymous":false,"documentation":null,"id":1111,"name":"_ListingRemoved","nodeType":"EventDefinition","parameters":{"id":1110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1109,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1111,"src":"864:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"864:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"863:29:2"},"src":"842:51:2"},{"anonymous":false,"documentation":null,"id":1115,"name":"_ListingWithdrawn","nodeType":"EventDefinition","parameters":{"id":1114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1113,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1115,"src":"922:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"922:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"921:29:2"},"src":"898:53:2"},{"anonymous":false,"documentation":null,"id":1119,"name":"_TouchAndRemoved","nodeType":"EventDefinition","parameters":{"id":1118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1117,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1119,"src":"979:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"979:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"978:29:2"},"src":"956:52:2"},{"anonymous":false,"documentation":null,"id":1129,"name":"_ChallengeFailed","nodeType":"EventDefinition","parameters":{"id":1128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1121,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1129,"src":"1036:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1036:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1123,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":1129,"src":"1065:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1122,"name":"uint","nodeType":"ElementaryTypeName","src":"1065:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1125,"indexed":false,"name":"rewardPool","nodeType":"VariableDeclaration","scope":1129,"src":"1091:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1124,"name":"uint","nodeType":"ElementaryTypeName","src":"1091:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1127,"indexed":false,"name":"totalTokens","nodeType":"VariableDeclaration","scope":1129,"src":"1108:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1126,"name":"uint","nodeType":"ElementaryTypeName","src":"1108:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1035:90:2"},"src":"1013:113:2"},{"anonymous":false,"documentation":null,"id":1139,"name":"_ChallengeSucceeded","nodeType":"EventDefinition","parameters":{"id":1138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1131,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1139,"src":"1157:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1157:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1133,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":1139,"src":"1186:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1132,"name":"uint","nodeType":"ElementaryTypeName","src":"1186:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1135,"indexed":false,"name":"rewardPool","nodeType":"VariableDeclaration","scope":1139,"src":"1212:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1134,"name":"uint","nodeType":"ElementaryTypeName","src":"1212:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1137,"indexed":false,"name":"totalTokens","nodeType":"VariableDeclaration","scope":1139,"src":"1229:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1136,"name":"uint","nodeType":"ElementaryTypeName","src":"1229:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1156:90:2"},"src":"1131:116:2"},{"anonymous":false,"documentation":null,"id":1147,"name":"_RewardClaimed","nodeType":"EventDefinition","parameters":{"id":1146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1141,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":1147,"src":"1273:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1140,"name":"uint","nodeType":"ElementaryTypeName","src":"1273:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1143,"indexed":false,"name":"reward","nodeType":"VariableDeclaration","scope":1147,"src":"1299:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1142,"name":"uint","nodeType":"ElementaryTypeName","src":"1299:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1145,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":1147,"src":"1312:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1144,"name":"address","nodeType":"ElementaryTypeName","src":"1312:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"1272:62:2"},"src":"1252:83:2"},{"id":1150,"libraryName":{"contractScope":null,"id":1148,"name":"SafeMath","nodeType":"UserDefinedTypeName","referencedDeclaration":3913,"src":"1347:8:2","typeDescriptions":{"typeIdentifier":"t_contract$_SafeMath_$3913","typeString":"library SafeMath"}},"nodeType":"UsingForDirective","src":"1341:24:2","typeName":{"id":1149,"name":"uint","nodeType":"ElementaryTypeName","src":"1360:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"canonicalName":"Registry.Listing","id":1161,"members":[{"constant":false,"id":1152,"name":"applicationExpiry","nodeType":"VariableDeclaration","scope":1161,"src":"1396:22:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1151,"name":"uint","nodeType":"ElementaryTypeName","src":"1396:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1154,"name":"whitelisted","nodeType":"VariableDeclaration","scope":1161,"src":"1462:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1153,"name":"bool","nodeType":"ElementaryTypeName","src":"1462:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":1156,"name":"owner","nodeType":"VariableDeclaration","scope":1161,"src":"1523:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1155,"name":"address","nodeType":"ElementaryTypeName","src":"1523:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1158,"name":"unstakedDeposit","nodeType":"VariableDeclaration","scope":1161,"src":"1575:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1157,"name":"uint","nodeType":"ElementaryTypeName","src":"1575:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1160,"name":"challengeID","nodeType":"VariableDeclaration","scope":1161,"src":"1668:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1159,"name":"uint","nodeType":"ElementaryTypeName","src":"1668:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"name":"Listing","nodeType":"StructDefinition","scope":2142,"src":"1371:367:2","visibility":"public"},{"canonicalName":"Registry.Challenge","id":1176,"members":[{"constant":false,"id":1163,"name":"rewardPool","nodeType":"VariableDeclaration","scope":1176,"src":"1771:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1162,"name":"uint","nodeType":"ElementaryTypeName","src":"1771:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1165,"name":"challenger","nodeType":"VariableDeclaration","scope":1176,"src":"1869:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1164,"name":"address","nodeType":"ElementaryTypeName","src":"1869:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1167,"name":"resolved","nodeType":"VariableDeclaration","scope":1176,"src":"1923:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1166,"name":"bool","nodeType":"ElementaryTypeName","src":"1923:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":1169,"name":"stake","nodeType":"VariableDeclaration","scope":1176,"src":"1997:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1168,"name":"uint","nodeType":"ElementaryTypeName","src":"1997:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1171,"name":"totalTokens","nodeType":"VariableDeclaration","scope":1176,"src":"2092:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1170,"name":"uint","nodeType":"ElementaryTypeName","src":"2092:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1175,"name":"tokenClaims","nodeType":"VariableDeclaration","scope":1176,"src":"2191:36:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":1174,"keyType":{"id":1172,"name":"address","nodeType":"ElementaryTypeName","src":"2199:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2191:24:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":1173,"name":"bool","nodeType":"ElementaryTypeName","src":"2210:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"value":null,"visibility":"internal"}],"name":"Challenge","nodeType":"StructDefinition","scope":2142,"src":"1744:544:2","visibility":"public"},{"constant":false,"id":1180,"name":"challenges","nodeType":"VariableDeclaration","scope":2142,"src":"2348:44:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"},"typeName":{"id":1179,"keyType":{"id":1177,"name":"uint","nodeType":"ElementaryTypeName","src":"2356:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2348:26:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"},"valueType":{"contractScope":null,"id":1178,"name":"Challenge","nodeType":"UserDefinedTypeName","referencedDeclaration":1176,"src":"2364:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage_ptr","typeString":"struct Registry.Challenge storage pointer"}}},"value":null,"visibility":"public"},{"constant":false,"id":1184,"name":"listings","nodeType":"VariableDeclaration","scope":2142,"src":"2456:43:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"},"typeName":{"id":1183,"keyType":{"id":1181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2464:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2456:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"},"valueType":{"contractScope":null,"id":1182,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"2475:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}}},"value":null,"visibility":"public"},{"constant":false,"id":1186,"name":"token","nodeType":"VariableDeclaration","scope":2142,"src":"2530:27:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"},"typeName":{"contractScope":null,"id":1185,"name":"EIP20Interface","nodeType":"UserDefinedTypeName","referencedDeclaration":3818,"src":"2530:14:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"value":null,"visibility":"public"},{"constant":false,"id":1188,"name":"voting","nodeType":"VariableDeclaration","scope":2142,"src":"2563:24:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"},"typeName":{"contractScope":null,"id":1187,"name":"PLCRVoting","nodeType":"UserDefinedTypeName","referencedDeclaration":3524,"src":"2563:10:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"value":null,"visibility":"public"},{"constant":false,"id":1190,"name":"parameterizer","nodeType":"VariableDeclaration","scope":2142,"src":"2593:34:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"},"typeName":{"contractScope":null,"id":1189,"name":"Parameterizer","nodeType":"UserDefinedTypeName","referencedDeclaration":1047,"src":"2593:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"value":null,"visibility":"public"},{"constant":false,"id":1192,"name":"name","nodeType":"VariableDeclaration","scope":2142,"src":"2633:18:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},"typeName":{"id":1191,"name":"string","nodeType":"ElementaryTypeName","src":"2633:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"public"},{"body":{"id":1225,"nodeType":"Block","src":"3176:165:2","statements":[{"expression":{"argumentTypes":null,"id":1207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1203,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"3186:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1205,"name":"_tokenAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"3209:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1204,"name":"EIP20Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3818,"src":"3194:14:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EIP20Interface_$3818_$","typeString":"type(contract EIP20Interface)"}},"id":1206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3194:26:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"src":"3186:34:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1208,"nodeType":"ExpressionStatement","src":"3186:34:2"},{"expression":{"argumentTypes":null,"id":1213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1209,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"3230:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1211,"name":"_plcrAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1196,"src":"3250:9:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1210,"name":"PLCRVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3524,"src":"3239:10:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PLCRVoting_$3524_$","typeString":"type(contract PLCRVoting)"}},"id":1212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3239:21:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"src":"3230:30:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1214,"nodeType":"ExpressionStatement","src":"3230:30:2"},{"expression":{"argumentTypes":null,"id":1219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1215,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"3270:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1217,"name":"_paramsAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1198,"src":"3300:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1216,"name":"Parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"3286:13:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Parameterizer_$1047_$","typeString":"type(contract Parameterizer)"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3286:26:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"src":"3270:42:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1220,"nodeType":"ExpressionStatement","src":"3270:42:2"},{"expression":{"argumentTypes":null,"id":1223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1221,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1192,"src":"3322:4:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1222,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1200,"src":"3329:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3322:12:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1224,"nodeType":"ExpressionStatement","src":"3322:12:2"}]},"documentation":"@dev Contructor Sets the addresses for token, voting, and parameterizer\n@param _tokenAddr Address of the TCR's intrinsic ERC20 token\n@param _plcrAddr Address of a PLCR voting contract for the provided token\n@param _paramsAddr Address of a Parameterizer contract ","id":1226,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"Registry","nodeType":"FunctionDefinition","parameters":{"id":1201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1194,"name":"_tokenAddr","nodeType":"VariableDeclaration","scope":1226,"src":"3066:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1193,"name":"address","nodeType":"ElementaryTypeName","src":"3066:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1196,"name":"_plcrAddr","nodeType":"VariableDeclaration","scope":1226,"src":"3094:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1195,"name":"address","nodeType":"ElementaryTypeName","src":"3094:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1198,"name":"_paramsAddr","nodeType":"VariableDeclaration","scope":1226,"src":"3121:19:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1197,"name":"address","nodeType":"ElementaryTypeName","src":"3121:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1200,"name":"_name","nodeType":"VariableDeclaration","scope":1226,"src":"3150:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":1199,"name":"string","nodeType":"ElementaryTypeName","src":"3150:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"3056:112:2"},"payable":false,"returnParameters":{"id":1202,"nodeType":"ParameterList","parameters":[],"src":"3176:0:2"},"scope":2142,"src":"3039:302:2","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":1310,"nodeType":"Block","src":"3933:669:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3951:28:2","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1237,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"3966:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1236,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1833,"src":"3952:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3952:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1235,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3943:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3943:37:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1241,"nodeType":"ExpressionStatement","src":"3943:37:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3998:25:2","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1244,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"4010:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1243,"name":"appWasMade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"3999:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3999:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1242,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3990:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3990:34:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1248,"nodeType":"ExpressionStatement","src":"3990:34:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1250,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"4042:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6d696e4465706f736974","id":1253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4071:12:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""},"value":"minDeposit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""}],"expression":{"argumentTypes":null,"id":1251,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"4053:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"4053:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4053:31:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4042:42:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1249,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4034:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4034:51:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1257,"nodeType":"ExpressionStatement","src":"4034:51:2"},{"assignments":[1259],"declarations":[{"constant":false,"id":1259,"name":"listing","nodeType":"VariableDeclaration","scope":1311,"src":"4118:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":1258,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"4118:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":1263,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1260,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"4144:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1262,"indexExpression":{"argumentTypes":null,"id":1261,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"4153:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4144:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4118:48:2"},{"expression":{"argumentTypes":null,"id":1269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1264,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4176:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"4176:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1267,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4192:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4192:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4176:26:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1270,"nodeType":"ExpressionStatement","src":"4176:26:2"},{"expression":{"argumentTypes":null,"id":1282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1271,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4250:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"applicationExpiry","nodeType":"MemberAccess","referencedDeclaration":1152,"src":"4250:25:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6170706c7953746167654c656e","id":1279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4316:15:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da","typeString":"literal_string \"applyStageLen\""},"value":"applyStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da","typeString":"literal_string \"applyStageLen\""}],"expression":{"argumentTypes":null,"id":1277,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"4298:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"4298:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4298:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1274,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3917,"src":"4278:5:2","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4278:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"4278:19:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":1281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4278:55:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4250:83:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1283,"nodeType":"ExpressionStatement","src":"4250:83:2"},{"expression":{"argumentTypes":null,"id":1288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1284,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4343:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"4343:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1287,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"4369:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4343:33:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1289,"nodeType":"ExpressionStatement","src":"4343:33:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1293,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4473:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"4473:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1295,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"4488:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"}},{"argumentTypes":null,"id":1296,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"4494:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1291,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"4454:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"4454:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":1297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4454:48:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1290,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4446:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4446:57:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1299,"nodeType":"ExpressionStatement","src":"4446:57:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1301,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"4527:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1302,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"4541:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1303,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4550:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"applicationExpiry","nodeType":"MemberAccess","referencedDeclaration":1152,"src":"4550:25:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1305,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1232,"src":"4577:5:2","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1306,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4584:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4584:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1300,"name":"_Application","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"src":"4514:12:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,uint256,string memory,address)"}},"id":1308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4514:81:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1309,"nodeType":"ExpressionStatement","src":"4514:81:2"}]},"documentation":"@dev Allows a user to start an application. Takes tokens from user and sets\napply stage end time.\n@param _listingHash The hash of a potential listing a user is applying to add to the registry\n@param _amount The number of ERC20 tokens a user is willing to potentially stake\n@param _data Extra data relevant to the application. Think IPFS hashes.","id":1311,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"apply","nodeType":"FunctionDefinition","parameters":{"id":1233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1228,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1311,"src":"3874:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3874:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1230,"name":"_amount","nodeType":"VariableDeclaration","scope":1311,"src":"3896:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1229,"name":"uint","nodeType":"ElementaryTypeName","src":"3896:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1232,"name":"_data","nodeType":"VariableDeclaration","scope":1311,"src":"3910:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},"typeName":{"id":1231,"name":"string","nodeType":"ElementaryTypeName","src":"3910:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"3873:50:2"},"payable":false,"returnParameters":{"id":1234,"nodeType":"ParameterList","parameters":[],"src":"3933:0:2"},"scope":2142,"src":"3859:743:2","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":1357,"nodeType":"Block","src":"4933:300:2","statements":[{"assignments":[1319],"declarations":[{"constant":false,"id":1319,"name":"listing","nodeType":"VariableDeclaration","scope":1358,"src":"4943:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":1318,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"4943:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":1323,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1320,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"4969:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1322,"indexExpression":{"argumentTypes":null,"id":1321,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1313,"src":"4978:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4969:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4943:48:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1325,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1319,"src":"5010:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"5010:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1327,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5027:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5027:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5010:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1324,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5002:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5002:36:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1331,"nodeType":"ExpressionStatement","src":"5002:36:2"},{"expression":{"argumentTypes":null,"id":1336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1332,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1319,"src":"5049:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5049:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":1335,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1315,"src":"5076:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5049:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1337,"nodeType":"ExpressionStatement","src":"5049:34:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1341,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5120:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5120:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1343,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"5132:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"}},{"argumentTypes":null,"id":1344,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1315,"src":"5138:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1339,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"5101:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"5101:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":1345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5101:45:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1338,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5093:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5093:54:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1347,"nodeType":"ExpressionStatement","src":"5093:54:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1349,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1313,"src":"5167:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1350,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1315,"src":"5181:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1351,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1319,"src":"5190:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5190:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1353,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5215:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5215:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1348,"name":"_Deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1089,"src":"5158:8:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,uint256,address)"}},"id":1355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5158:68:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1356,"nodeType":"ExpressionStatement","src":"5158:68:2"}]},"documentation":"@dev Allows the owner of a listingHash to increase their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of\n@param _amount The number of ERC20 tokens to increase a user's unstaked deposit","id":1358,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"deposit","nodeType":"FunctionDefinition","parameters":{"id":1316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1313,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1358,"src":"4888:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4888:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1315,"name":"_amount","nodeType":"VariableDeclaration","scope":1358,"src":"4910:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1314,"name":"uint","nodeType":"ElementaryTypeName","src":"4910:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4887:36:2"},"payable":false,"returnParameters":{"id":1317,"nodeType":"ParameterList","parameters":[],"src":"4933:0:2"},"scope":2142,"src":"4871:362:2","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":1422,"nodeType":"Block","src":"5567:433:2","statements":[{"assignments":[1366],"declarations":[{"constant":false,"id":1366,"name":"listing","nodeType":"VariableDeclaration","scope":1423,"src":"5577:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":1365,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"5577:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":1370,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1367,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"5603:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1369,"indexExpression":{"argumentTypes":null,"id":1368,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1360,"src":"5612:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5603:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5577:48:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1372,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1366,"src":"5644:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"5644:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1374,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5661:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5661:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5644:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1371,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5636:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5636:36:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1378,"nodeType":"ExpressionStatement","src":"5636:36:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1380,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"5690:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1381,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1366,"src":"5701:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1382,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5701:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5690:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1379,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5682:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5682:43:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1385,"nodeType":"ExpressionStatement","src":"5682:43:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1387,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1366,"src":"5743:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1388,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5743:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"id":1389,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"5769:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5743:33:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6d696e4465706f736974","id":1393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5798:12:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""},"value":"minDeposit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""}],"expression":{"argumentTypes":null,"id":1391,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"5780:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"5780:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5780:31:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5743:68:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1386,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5735:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5735:77:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1397,"nodeType":"ExpressionStatement","src":"5735:77:2"},{"expression":{"argumentTypes":null,"id":1402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1398,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1366,"src":"5823:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1400,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5823:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":1401,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"5850:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5823:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1403,"nodeType":"ExpressionStatement","src":"5823:34:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1407,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5890:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5890:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1409,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"5902:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1405,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"5875:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"5875:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":1410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5875:35:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1404,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5867:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5867:44:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1412,"nodeType":"ExpressionStatement","src":"5867:44:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1414,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1360,"src":"5934:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1415,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"5948:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1416,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1366,"src":"5957:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1417,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5957:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1418,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5982:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5982:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1413,"name":"_Withdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1099,"src":"5922:11:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,uint256,address)"}},"id":1420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5922:71:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1421,"nodeType":"ExpressionStatement","src":"5922:71:2"}]},"documentation":"@dev Allows the owner of a listingHash to decrease their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of.\n@param _amount The number of ERC20 tokens to withdraw from the unstaked deposit.","id":1423,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"withdraw","nodeType":"FunctionDefinition","parameters":{"id":1363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1360,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1423,"src":"5522:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5522:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1362,"name":"_amount","nodeType":"VariableDeclaration","scope":1423,"src":"5544:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1361,"name":"uint","nodeType":"ElementaryTypeName","src":"5544:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"5521:36:2"},"payable":false,"returnParameters":{"id":1364,"nodeType":"ParameterList","parameters":[],"src":"5567:0:2"},"scope":2142,"src":"5504:496:2","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":1469,"nodeType":"Block","src":"6310:418:2","statements":[{"assignments":[1429],"declarations":[{"constant":false,"id":1429,"name":"listing","nodeType":"VariableDeclaration","scope":1470,"src":"6320:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":1428,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"6320:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":1433,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1430,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"6346:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1432,"indexExpression":{"argumentTypes":null,"id":1431,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1425,"src":"6355:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6346:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6320:48:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1435,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"6387:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6387:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1437,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1429,"src":"6401:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"6401:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6387:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1434,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"6379:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6379:36:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1441,"nodeType":"ExpressionStatement","src":"6379:36:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1444,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1425,"src":"6447:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1443,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1833,"src":"6433:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6433:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1442,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"6425:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6425:36:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1447,"nodeType":"ExpressionStatement","src":"6425:36:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1449,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1429,"src":"6528:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"6528:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6551:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6528:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1453,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"6556:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1456,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1454,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1429,"src":"6567:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"6567:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6556:31:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1457,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"6556:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6528:68:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1448,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"6520:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6520:77:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1460,"nodeType":"ExpressionStatement","src":"6520:77:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1462,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1425,"src":"6667:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1461,"name":"resetListing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2141,"src":"6654:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6654:26:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1464,"nodeType":"ExpressionStatement","src":"6654:26:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1466,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1425,"src":"6708:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1465,"name":"_ListingWithdrawn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1115,"src":"6690:17:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6690:31:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1468,"nodeType":"ExpressionStatement","src":"6690:31:2"}]},"documentation":"@dev Allows the owner of a listingHash to remove the listingHash from the whitelist\nReturns all tokens to the owner of the listingHash\n@param _listingHash A listingHash msg.sender is the owner of.","id":1470,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"exit","nodeType":"FunctionDefinition","parameters":{"id":1426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1425,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1470,"src":"6279:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6279:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"6278:22:2"},"payable":false,"returnParameters":{"id":1427,"nodeType":"ParameterList","parameters":[],"src":"6310:0:2"},"scope":2142,"src":"6265:463:2","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":1613,"nodeType":"Block","src":"7352:1583:2","statements":[{"assignments":[1480],"declarations":[{"constant":false,"id":1480,"name":"listing","nodeType":"VariableDeclaration","scope":1614,"src":"7362:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":1479,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"7362:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":1484,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1481,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"7388:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1483,"indexExpression":{"argumentTypes":null,"id":1482,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1472,"src":"7397:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7388:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7362:48:2"},{"assignments":[1486],"declarations":[{"constant":false,"id":1486,"name":"deposit","nodeType":"VariableDeclaration","scope":1614,"src":"7420:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1485,"name":"uint","nodeType":"ElementaryTypeName","src":"7420:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1491,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6d696e4465706f736974","id":1489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7453:12:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""},"value":"minDeposit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""}],"expression":{"argumentTypes":null,"id":1487,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"7435:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"7435:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7435:31:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7420:46:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1494,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1472,"src":"7566:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1493,"name":"appWasMade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"7555:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7555:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1496,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"7583:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"whitelisted","nodeType":"MemberAccess","referencedDeclaration":1154,"src":"7583:19:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7555:47:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1492,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7547:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7547:56:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1500,"nodeType":"ExpressionStatement","src":"7547:56:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1502,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"7660:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"7660:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7683:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7660:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1506,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"7688:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1509,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1507,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"7699:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"7699:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7688:31:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"7688:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7660:68:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1501,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7652:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7652:77:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1513,"nodeType":"ExpressionStatement","src":"7652:77:2"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1514,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"7744:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"7744:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"argumentTypes":null,"id":1516,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"7770:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7744:33:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":1529,"nodeType":"IfStatement","src":"7740:216:2","trueBody":{"id":1528,"nodeType":"Block","src":"7779:177:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1519,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1472,"src":"7866:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1518,"name":"resetListing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2141,"src":"7853:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7853:26:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1521,"nodeType":"ExpressionStatement","src":"7853:26:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1523,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1472,"src":"7910:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1522,"name":"_TouchAndRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1119,"src":"7893:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7893:30:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1525,"nodeType":"ExpressionStatement","src":"7893:30:2"},{"expression":{"argumentTypes":null,"hexValue":"30","id":1526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7944:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":1478,"id":1527,"nodeType":"Return","src":"7937:8:2"}]}},{"assignments":[1531],"declarations":[{"constant":false,"id":1531,"name":"pollID","nodeType":"VariableDeclaration","scope":1614,"src":"7989:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1530,"name":"uint","nodeType":"ElementaryTypeName","src":"7989:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1547,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"766f746551756f72756d","id":1536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8051:12:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878","typeString":"literal_string \"voteQuorum\""},"value":"voteQuorum"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878","typeString":"literal_string \"voteQuorum\""}],"expression":{"argumentTypes":null,"id":1534,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"8033:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"8033:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8033:31:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"636f6d6d697453746167654c656e","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8096:16:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d","typeString":"literal_string \"commitStageLen\""},"value":"commitStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d","typeString":"literal_string \"commitStageLen\""}],"expression":{"argumentTypes":null,"id":1538,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"8078:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"8078:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8078:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"72657665616c53746167654c656e","id":1544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8145:16:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1","typeString":"literal_string \"revealStageLen\""},"value":"revealStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1","typeString":"literal_string \"revealStageLen\""}],"expression":{"argumentTypes":null,"id":1542,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"8127:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"8127:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8127:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1532,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"8003:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPoll","nodeType":"MemberAccess","referencedDeclaration":3157,"src":"8003:16:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) external returns (uint256)"}},"id":1546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8003:169:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7989:183:2"},{"expression":{"argumentTypes":null,"id":1570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1548,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"8183:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1550,"indexExpression":{"argumentTypes":null,"id":1549,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8194:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8183:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1552,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8240:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8240:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"313030","id":1554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8278:3:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"64697370656e736174696f6e506374","id":1557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8302:17:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""},"value":"dispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""}],"expression":{"argumentTypes":null,"id":1555,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"8284:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"8284:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8284:36:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8278:42:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1560,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8277:44:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":1561,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"8324:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8277:54:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1563,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8276:56:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"hexValue":"313030","id":1564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8335:3:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"8276:62:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1566,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"8359:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"hexValue":"66616c7365","id":1567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8390:5:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"argumentTypes":null,"hexValue":"30","id":1568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8422:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":null,"id":1551,"name":"Challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1176,"src":"8204:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Challenge_$1176_storage_ptr_$","typeString":"type(struct Registry.Challenge storage pointer)"}},"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["challenger","rewardPool","stake","resolved","totalTokens"],"nodeType":"FunctionCall","src":"8204:230:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_memory","typeString":"struct Registry.Challenge memory"}},"src":"8183:251:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1571,"nodeType":"ExpressionStatement","src":"8183:251:2"},{"expression":{"argumentTypes":null,"id":1576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1572,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"8507:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"8507:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1575,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8529:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8507:28:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1577,"nodeType":"ExpressionStatement","src":"8507:28:2"},{"expression":{"argumentTypes":null,"id":1582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1578,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"8603:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1580,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"8603:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":1581,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"8630:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8603:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1583,"nodeType":"ExpressionStatement","src":"8603:34:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1587,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8715:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8715:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1589,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8727:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"}},{"argumentTypes":null,"id":1590,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"8733:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1585,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"8696:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"8696:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":1591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8696:45:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1584,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"8688:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8688:54:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1593,"nodeType":"ExpressionStatement","src":"8688:54:2"},{"assignments":[1594,1595,null,null,null],"declarations":[{"constant":false,"id":1594,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":1614,"src":"8758:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":null,"value":null,"visibility":"internal"},{"constant":false,"id":1595,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":1614,"src":"8773:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":null,"value":null,"visibility":"internal"},null],"id":1600,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1598,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8806:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1596,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"8791:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pollMap","nodeType":"MemberAccess","referencedDeclaration":2597,"src":"8791:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)"}},"id":1599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8791:22:2","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8753:60:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1602,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1472,"src":"8835:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1603,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8849:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1604,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1474,"src":"8857:5:2","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":1605,"name":"commitEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1594,"src":"8864:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1606,"name":"revealEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"8879:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1607,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8894:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8894:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1601,"name":"_Challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1079,"src":"8824:10:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,string memory,uint256,uint256,address)"}},"id":1609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8824:81:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1610,"nodeType":"ExpressionStatement","src":"8824:81:2"},{"expression":{"argumentTypes":null,"id":1611,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8922:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1478,"id":1612,"nodeType":"Return","src":"8915:13:2"}]},"documentation":"@dev Starts a poll for a listingHash which is either in the apply stage or\nalready in the whitelist. Tokens are taken from the challenger and the\napplicant's deposits are locked.\n@param _listingHash The listingHash being challenged, whether listed or in application\n@param _data Extra data relevant to the challenge. Think IPFS hashes.","id":1614,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"challenge","nodeType":"FunctionDefinition","parameters":{"id":1475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1472,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1614,"src":"7280:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7280:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1474,"name":"_data","nodeType":"VariableDeclaration","scope":1614,"src":"7302:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},"typeName":{"id":1473,"name":"string","nodeType":"ElementaryTypeName","src":"7302:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"7279:36:2"},"payable":false,"returnParameters":{"id":1478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1477,"name":"challengeID","nodeType":"VariableDeclaration","scope":1614,"src":"7334:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1476,"name":"uint","nodeType":"ElementaryTypeName","src":"7334:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"7333:18:2"},"scope":2142,"src":"7261:1674:2","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":1641,"nodeType":"Block","src":"9227:247:2","statements":[{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1620,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1616,"src":"9258:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1619,"name":"canBeWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1820,"src":"9241:16:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9241:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1628,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1616,"src":"9363:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1627,"name":"challengeCanBeResolved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"9340:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9340:36:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1638,"nodeType":"Block","src":"9437:31:2","statements":[{"expression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"id":1635,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3930,"src":"9449:6:2","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$__$returns$__$","typeString":"function () pure"}},"id":1636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9449:8:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1637,"nodeType":"ExpressionStatement","src":"9449:8:2"}]},"id":1639,"nodeType":"IfStatement","src":"9336:132:2","trueBody":{"id":1634,"nodeType":"Block","src":"9378:53:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1631,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1616,"src":"9407:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1630,"name":"resolveChallenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2064,"src":"9390:16:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9390:30:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1633,"nodeType":"ExpressionStatement","src":"9390:30:2"}]}},"id":1640,"nodeType":"IfStatement","src":"9237:231:2","trueBody":{"id":1626,"nodeType":"Block","src":"9273:57:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1623,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1616,"src":"9306:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1622,"name":"whitelistApplication","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2088,"src":"9285:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9285:34:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1625,"nodeType":"ExpressionStatement","src":"9285:34:2"}]}}]},"documentation":"@dev Updates a listingHash's status from 'application' to 'listing' or resolves\na challenge if one exists.\n@param _listingHash The listingHash whose status is being updated","id":1642,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"updateStatus","nodeType":"FunctionDefinition","parameters":{"id":1617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1616,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1642,"src":"9198:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9198:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"9197:22:2"},"payable":false,"returnParameters":{"id":1618,"nodeType":"ParameterList","parameters":[],"src":"9227:0:2"},"scope":2142,"src":"9176:298:2","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":1729,"nodeType":"Block","src":"9963:902:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1650,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"10083:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1652,"indexExpression":{"argumentTypes":null,"id":1651,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10094:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10083:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":1175,"src":"10083:36:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1656,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1654,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10120:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10120:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10083:48:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"66616c7365","id":1657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10135:5:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"10083:57:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1649,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"10075:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10075:66:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1660,"nodeType":"ExpressionStatement","src":"10075:66:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1662,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"10159:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1664,"indexExpression":{"argumentTypes":null,"id":1663,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10170:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10159:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"10159:33:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"74727565","id":1666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10196:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"10159:41:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1661,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"10151:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10151:50:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1669,"nodeType":"ExpressionStatement","src":"10151:50:2"},{"assignments":[1671],"declarations":[{"constant":false,"id":1671,"name":"voterTokens","nodeType":"VariableDeclaration","scope":1730,"src":"10212:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1670,"name":"uint","nodeType":"ElementaryTypeName","src":"10212:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1679,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1674,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10258:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10258:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1676,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10270:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1677,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1646,"src":"10284:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1672,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"10231:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getNumPassingTokens","nodeType":"MemberAccess","referencedDeclaration":3101,"src":"10231:26:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view external returns (uint256)"}},"id":1678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10231:59:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10212:78:2"},{"assignments":[1681],"declarations":[{"constant":false,"id":1681,"name":"reward","nodeType":"VariableDeclaration","scope":1730,"src":"10300:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1680,"name":"uint","nodeType":"ElementaryTypeName","src":"10300:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1688,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1683,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10326:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10326:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1685,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10338:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1686,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1646,"src":"10352:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1682,"name":"voterReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1772,"src":"10314:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view returns (uint256)"}},"id":1687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10314:44:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10300:58:2"},{"expression":{"argumentTypes":null,"id":1694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1689,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"10520:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1691,"indexExpression":{"argumentTypes":null,"id":1690,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10531:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10520:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"totalTokens","nodeType":"MemberAccess","referencedDeclaration":1171,"src":"10520:36:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":1693,"name":"voterTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1671,"src":"10560:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10520:51:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1695,"nodeType":"ExpressionStatement","src":"10520:51:2"},{"expression":{"argumentTypes":null,"id":1701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1696,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"10581:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1698,"indexExpression":{"argumentTypes":null,"id":1697,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10592:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10581:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1699,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":1163,"src":"10581:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":1700,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"10620:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10581:45:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1702,"nodeType":"ExpressionStatement","src":"10581:45:2"},{"expression":{"argumentTypes":null,"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1703,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"10690:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1705,"indexExpression":{"argumentTypes":null,"id":1704,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10701:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10690:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":1175,"src":"10690:36:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1709,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1707,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10727:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10727:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10690:48:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":1710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10741:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"10690:55:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1712,"nodeType":"ExpressionStatement","src":"10690:55:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1716,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10779:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10779:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1718,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"10791:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1714,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"10764:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"10764:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":1719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10764:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1713,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"10756:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10756:43:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1721,"nodeType":"ExpressionStatement","src":"10756:43:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1723,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10825:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1724,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"10839:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1725,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10847:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10847:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1722,"name":"_RewardClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1147,"src":"10810:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address)"}},"id":1727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10810:48:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1728,"nodeType":"ExpressionStatement","src":"10810:48:2"}]},"documentation":"@dev Called by a voter to claim their reward for each completed vote. Someone\nmust call updateStatus() before this can be called.\n@param _challengeID The PLCR pollID of the challenge a reward is being claimed for\n@param _salt The salt of a voter's commit hash in the given poll","id":1730,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"claimReward","nodeType":"FunctionDefinition","parameters":{"id":1647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1644,"name":"_challengeID","nodeType":"VariableDeclaration","scope":1730,"src":"9925:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1643,"name":"uint","nodeType":"ElementaryTypeName","src":"9925:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1646,"name":"_salt","nodeType":"VariableDeclaration","scope":1730,"src":"9944:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1645,"name":"uint","nodeType":"ElementaryTypeName","src":"9944:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"9924:31:2"},"payable":false,"returnParameters":{"id":1648,"nodeType":"ParameterList","parameters":[],"src":"9963:0:2"},"scope":2142,"src":"9904:961:2","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":1771,"nodeType":"Block","src":"11442:276:2","statements":[{"assignments":[1742],"declarations":[{"constant":false,"id":1742,"name":"totalTokens","nodeType":"VariableDeclaration","scope":1772,"src":"11452:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1741,"name":"uint","nodeType":"ElementaryTypeName","src":"11452:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1747,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1743,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"11471:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1745,"indexExpression":{"argumentTypes":null,"id":1744,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1734,"src":"11482:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11471:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"totalTokens","nodeType":"MemberAccess","referencedDeclaration":1171,"src":"11471:36:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11452:55:2"},{"assignments":[1749],"declarations":[{"constant":false,"id":1749,"name":"rewardPool","nodeType":"VariableDeclaration","scope":1772,"src":"11517:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1748,"name":"uint","nodeType":"ElementaryTypeName","src":"11517:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1754,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1750,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"11535:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1752,"indexExpression":{"argumentTypes":null,"id":1751,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1734,"src":"11546:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11535:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":1163,"src":"11535:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11517:53:2"},{"assignments":[1756],"declarations":[{"constant":false,"id":1756,"name":"voterTokens","nodeType":"VariableDeclaration","scope":1772,"src":"11580:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1755,"name":"uint","nodeType":"ElementaryTypeName","src":"11580:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1763,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1759,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"11626:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1760,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1734,"src":"11634:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1761,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1736,"src":"11648:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1757,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"11599:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getNumPassingTokens","nodeType":"MemberAccess","referencedDeclaration":3101,"src":"11599:26:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view external returns (uint256)"}},"id":1762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11599:55:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11580:74:2"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1764,"name":"voterTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1756,"src":"11672:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":1765,"name":"rewardPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1749,"src":"11686:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11672:24:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1767,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11671:26:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"id":1768,"name":"totalTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1742,"src":"11700:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11671:40:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1740,"id":1770,"nodeType":"Return","src":"11664:47:2"}]},"documentation":"@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The pollID of the challenge a reward balance is being queried for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward","id":1772,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"voterReward","nodeType":"FunctionDefinition","parameters":{"id":1737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1732,"name":"_voter","nodeType":"VariableDeclaration","scope":1772,"src":"11364:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1731,"name":"address","nodeType":"ElementaryTypeName","src":"11364:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1734,"name":"_challengeID","nodeType":"VariableDeclaration","scope":1772,"src":"11380:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1733,"name":"uint","nodeType":"ElementaryTypeName","src":"11380:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1736,"name":"_salt","nodeType":"VariableDeclaration","scope":1772,"src":"11399:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1735,"name":"uint","nodeType":"ElementaryTypeName","src":"11399:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11363:47:2"},"payable":false,"returnParameters":{"id":1740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1739,"name":"","nodeType":"VariableDeclaration","scope":1772,"src":"11436:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1738,"name":"uint","nodeType":"ElementaryTypeName","src":"11436:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11435:6:2"},"scope":2142,"src":"11343:375:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1819,"nodeType":"Block","src":"11966:578:2","statements":[{"assignments":[1780],"declarations":[{"constant":false,"id":1780,"name":"challengeID","nodeType":"VariableDeclaration","scope":1820,"src":"11976:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1779,"name":"uint","nodeType":"ElementaryTypeName","src":"11976:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1785,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1781,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"11995:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1783,"indexExpression":{"argumentTypes":null,"id":1782,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1774,"src":"12004:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11995:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"11995:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11976:53:2"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1787,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1774,"src":"12291:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1786,"name":"appWasMade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"12280:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12280:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1789,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"12320:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1791,"indexExpression":{"argumentTypes":null,"id":1790,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1774,"src":"12329:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12320:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"applicationExpiry","nodeType":"MemberAccess","referencedDeclaration":1152,"src":"12320:40:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"argumentTypes":null,"id":1793,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"12363:3:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12320:46:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12280:86:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"id":1799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12382:28:2","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1797,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1774,"src":"12397:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1796,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1833,"src":"12383:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12383:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12280:130:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1801,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1780,"src":"12427:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12442:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12427:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1804,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"12447:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1806,"indexExpression":{"argumentTypes":null,"id":1805,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1780,"src":"12458:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12447:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1807,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"12447:32:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"74727565","id":1808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12483:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"12447:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12427:60:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":1811,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12426:62:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12280:208:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":1816,"nodeType":"IfStatement","src":"12263:252:2","trueBody":{"id":1815,"nodeType":"Block","src":"12499:16:2","statements":[{"expression":{"argumentTypes":null,"hexValue":"74727565","id":1813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12508:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":1778,"id":1814,"nodeType":"Return","src":"12501:11:2"}]}},{"expression":{"argumentTypes":null,"hexValue":"66616c7365","id":1817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12532:5:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":1778,"id":1818,"nodeType":"Return","src":"12525:12:2"}]},"documentation":"@dev Determines whether the given listingHash be whitelisted.\n@param _listingHash The listingHash whose status is to be examined","id":1820,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"canBeWhitelisted","nodeType":"FunctionDefinition","parameters":{"id":1775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1774,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1820,"src":"11917:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11917:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"11916:22:2"},"payable":false,"returnParameters":{"id":1778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1777,"name":"","nodeType":"VariableDeclaration","scope":1820,"src":"11960:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1776,"name":"bool","nodeType":"ElementaryTypeName","src":"11960:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"11959:6:2"},"scope":2142,"src":"11891:653:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1832,"nodeType":"Block","src":"12800:58:2","statements":[{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1827,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"12817:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1829,"indexExpression":{"argumentTypes":null,"id":1828,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1822,"src":"12826:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12817:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"whitelisted","nodeType":"MemberAccess","referencedDeclaration":1154,"src":"12817:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1826,"id":1831,"nodeType":"Return","src":"12810:41:2"}]},"documentation":"@dev Returns true if the provided listingHash is whitelisted\n@param _listingHash The listingHash whose status is to be examined","id":1833,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"isWhitelisted","nodeType":"FunctionDefinition","parameters":{"id":1823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1822,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1833,"src":"12739:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12739:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"12738:22:2"},"payable":false,"returnParameters":{"id":1826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1825,"name":"whitelisted","nodeType":"VariableDeclaration","scope":1833,"src":"12782:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1824,"name":"bool","nodeType":"ElementaryTypeName","src":"12782:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"12781:18:2"},"scope":2142,"src":"12716:142:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1847,"nodeType":"Block","src":"13104:68:2","statements":[{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1840,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"13121:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1842,"indexExpression":{"argumentTypes":null,"id":1841,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1835,"src":"13130:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13121:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"applicationExpiry","nodeType":"MemberAccess","referencedDeclaration":1152,"src":"13121:40:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13164:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13121:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1839,"id":1846,"nodeType":"Return","src":"13114:51:2"}]},"documentation":"@dev Returns true if apply was called for this listingHash\n@param _listingHash The listingHash whose status is to be examined","id":1848,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"appWasMade","nodeType":"FunctionDefinition","parameters":{"id":1836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1835,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1848,"src":"13048:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13048:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"13047:22:2"},"payable":false,"returnParameters":{"id":1839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1838,"name":"exists","nodeType":"VariableDeclaration","scope":1848,"src":"13091:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1837,"name":"bool","nodeType":"ElementaryTypeName","src":"13091:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"13090:13:2"},"scope":2142,"src":"13028:144:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1876,"nodeType":"Block","src":"13434:165:2","statements":[{"assignments":[1856],"declarations":[{"constant":false,"id":1856,"name":"challengeID","nodeType":"VariableDeclaration","scope":1877,"src":"13444:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1855,"name":"uint","nodeType":"ElementaryTypeName","src":"13444:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1861,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1857,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"13463:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1859,"indexExpression":{"argumentTypes":null,"id":1858,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13472:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13463:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1860,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"13463:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13444:53:2"},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1862,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"13516:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1864,"indexExpression":{"argumentTypes":null,"id":1863,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13525:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13516:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"13516:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13553:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13516:38:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"id":1872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13558:33:2","subExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1868,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"13559:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1870,"indexExpression":{"argumentTypes":null,"id":1869,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1856,"src":"13570:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13559:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"13559:32:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13516:75:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":1874,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13515:77:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1854,"id":1875,"nodeType":"Return","src":"13508:84:2"}]},"documentation":"@dev Returns true if the application/listingHash has an unresolved challenge\n@param _listingHash The listingHash whose status is to be examined","id":1877,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"challengeExists","nodeType":"FunctionDefinition","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1850,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1877,"src":"13385:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13385:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"13384:22:2"},"payable":false,"returnParameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1853,"name":"","nodeType":"VariableDeclaration","scope":1877,"src":"13428:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1852,"name":"bool","nodeType":"ElementaryTypeName","src":"13428:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"13427:6:2"},"scope":2142,"src":"13360:239:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1902,"nodeType":"Block","src":"13927:166:2","statements":[{"assignments":[1885],"declarations":[{"constant":false,"id":1885,"name":"challengeID","nodeType":"VariableDeclaration","scope":1903,"src":"13937:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1884,"name":"uint","nodeType":"ElementaryTypeName","src":"13937:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1890,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1886,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"13956:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1888,"indexExpression":{"argumentTypes":null,"id":1887,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1879,"src":"13965:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13956:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"13956:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13937:53:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1893,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1879,"src":"14025:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1892,"name":"challengeExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1877,"src":"14009:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14009:29:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1891,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"14001:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14001:38:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1896,"nodeType":"ExpressionStatement","src":"14001:38:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1899,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"14074:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1897,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"14057:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pollEnded","nodeType":"MemberAccess","referencedDeclaration":3243,"src":"14057:16:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":1900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14057:29:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1883,"id":1901,"nodeType":"Return","src":"14050:36:2"}]},"documentation":"@dev Determines whether voting has concluded in a challenge for a given\nlistingHash. Throws if no challenge exists.\n@param _listingHash A listingHash with an unresolved challenge","id":1903,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"challengeCanBeResolved","nodeType":"FunctionDefinition","parameters":{"id":1880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1879,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1903,"src":"13878:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13878:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"13877:22:2"},"payable":false,"returnParameters":{"id":1883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1882,"name":"","nodeType":"VariableDeclaration","scope":1903,"src":"13921:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1881,"name":"bool","nodeType":"ElementaryTypeName","src":"13921:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"13920:6:2"},"scope":2142,"src":"13846:247:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1951,"nodeType":"Block","src":"14352:403:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14370:34:2","subExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1911,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"14371:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1913,"indexExpression":{"argumentTypes":null,"id":1912,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14382:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14371:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1914,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"14371:33:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1918,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14425:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1916,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"14408:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pollEnded","nodeType":"MemberAccess","referencedDeclaration":3243,"src":"14408:16:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":1919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14408:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14370:68:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1910,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"14362:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14362:77:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1922,"nodeType":"ExpressionStatement","src":"14362:77:2"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1925,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14571:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1923,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"14525:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getTotalNumberOfTokensForWinningOption","nodeType":"MemberAccess","referencedDeclaration":3222,"src":"14525:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":1926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14525:59:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14588:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14525:64:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":1937,"nodeType":"IfStatement","src":"14521:136:2","trueBody":{"id":1936,"nodeType":"Block","src":"14591:66:2","statements":[{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"32","id":1929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14612:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1930,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"14616:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1932,"indexExpression":{"argumentTypes":null,"id":1931,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14627:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14616:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stake","nodeType":"MemberAccess","referencedDeclaration":1169,"src":"14616:30:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14612:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1909,"id":1935,"nodeType":"Return","src":"14605:41:2"}]}},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"32","id":1938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14675:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1939,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"14679:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1941,"indexExpression":{"argumentTypes":null,"id":1940,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14690:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14679:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1942,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stake","nodeType":"MemberAccess","referencedDeclaration":1169,"src":"14679:30:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14675:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1944,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14674:36:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1945,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"14713:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1947,"indexExpression":{"argumentTypes":null,"id":1946,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14724:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14713:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":1163,"src":"14713:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14674:74:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1909,"id":1950,"nodeType":"Return","src":"14667:81:2"}]},"documentation":"@dev Determines the number of tokens awarded to the winning party in a challenge.\n@param _challengeID The challengeID to determine a reward for","id":1952,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"determineReward","nodeType":"FunctionDefinition","parameters":{"id":1906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1905,"name":"_challengeID","nodeType":"VariableDeclaration","scope":1952,"src":"14306:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1904,"name":"uint","nodeType":"ElementaryTypeName","src":"14306:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14305:19:2"},"payable":false,"returnParameters":{"id":1909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1908,"name":"","nodeType":"VariableDeclaration","scope":1952,"src":"14346:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1907,"name":"uint","nodeType":"ElementaryTypeName","src":"14346:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14345:6:2"},"scope":2142,"src":"14281:474:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1968,"nodeType":"Block","src":"15065:66:2","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1961,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"15080:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1963,"indexExpression":{"argumentTypes":null,"id":1962,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1954,"src":"15091:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15080:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":1175,"src":"15080:36:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1966,"indexExpression":{"argumentTypes":null,"id":1965,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1956,"src":"15117:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15080:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1960,"id":1967,"nodeType":"Return","src":"15073:51:2"}]},"documentation":"@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID","id":1969,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"tokenClaims","nodeType":"FunctionDefinition","parameters":{"id":1957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1954,"name":"_challengeID","nodeType":"VariableDeclaration","scope":1969,"src":"15003:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1953,"name":"uint","nodeType":"ElementaryTypeName","src":"15003:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1956,"name":"_voter","nodeType":"VariableDeclaration","scope":1969,"src":"15022:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1955,"name":"address","nodeType":"ElementaryTypeName","src":"15022:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"15002:35:2"},"payable":false,"returnParameters":{"id":1960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1959,"name":"","nodeType":"VariableDeclaration","scope":1969,"src":"15059:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1958,"name":"bool","nodeType":"ElementaryTypeName","src":"15059:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"15058:6:2"},"scope":2142,"src":"14982:149:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2063,"nodeType":"Block","src":"15529:1344:2","statements":[{"assignments":[1975],"declarations":[{"constant":false,"id":1975,"name":"challengeID","nodeType":"VariableDeclaration","scope":2064,"src":"15539:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1974,"name":"uint","nodeType":"ElementaryTypeName","src":"15539:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1980,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1976,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"15558:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1978,"indexExpression":{"argumentTypes":null,"id":1977,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"15567:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15558:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"15558:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15539:53:2"},{"assignments":[1982],"declarations":[{"constant":false,"id":1982,"name":"reward","nodeType":"VariableDeclaration","scope":2064,"src":"15725:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1981,"name":"uint","nodeType":"ElementaryTypeName","src":"15725:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1986,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1984,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"15755:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1983,"name":"determineReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1952,"src":"15739:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":1985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15739:28:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15725:42:2"},{"expression":{"argumentTypes":null,"id":1992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1987,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"15828:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1989,"indexExpression":{"argumentTypes":null,"id":1988,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"15839:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15828:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"15828:32:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":1991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15863:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"15828:39:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1993,"nodeType":"ExpressionStatement","src":"15828:39:2"},{"expression":{"argumentTypes":null,"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1994,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"15969:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1996,"indexExpression":{"argumentTypes":null,"id":1995,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"15980:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15969:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"totalTokens","nodeType":"MemberAccess","referencedDeclaration":1171,"src":"15969:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2000,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16065:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1998,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"16019:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getTotalNumberOfTokensForWinningOption","nodeType":"MemberAccess","referencedDeclaration":3222,"src":"16019:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":2001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16019:58:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15969:108:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2003,"nodeType":"ExpressionStatement","src":"15969:108:2"},{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2006,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16142:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2004,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"16126:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":2005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isPassed","nodeType":"MemberAccess","referencedDeclaration":3194,"src":"16126:15:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":2007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16126:28:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2061,"nodeType":"Block","src":"16548:319:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2034,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"16575:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2033,"name":"resetListing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2141,"src":"16562:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16562:26:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2036,"nodeType":"ExpressionStatement","src":"16562:26:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2040,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"16678:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":2042,"indexExpression":{"argumentTypes":null,"id":2041,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16689:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16678:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":2043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":1165,"src":"16678:34:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2044,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1982,"src":"16714:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2038,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"16663:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"16663:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16663:58:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2037,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"16655:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16655:67:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2047,"nodeType":"ExpressionStatement","src":"16655:67:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2049,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"16757:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":2050,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16771:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2051,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"16784:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":2053,"indexExpression":{"argumentTypes":null,"id":2052,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16795:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16784:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":2054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":1163,"src":"16784:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2055,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"16820:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":2057,"indexExpression":{"argumentTypes":null,"id":2056,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16831:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16820:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":2058,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"totalTokens","nodeType":"MemberAccess","referencedDeclaration":1171,"src":"16820:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2048,"name":"_ChallengeSucceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1139,"src":"16737:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256)"}},"id":2059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16737:119:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2060,"nodeType":"ExpressionStatement","src":"16737:119:2"}]},"id":2062,"nodeType":"IfStatement","src":"16122:745:2","trueBody":{"id":2032,"nodeType":"Block","src":"16156:325:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2009,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"16191:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2008,"name":"whitelistApplication","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2088,"src":"16170:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16170:34:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2011,"nodeType":"ExpressionStatement","src":"16170:34:2"},{"expression":{"argumentTypes":null,"id":2017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2012,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"16291:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":2014,"indexExpression":{"argumentTypes":null,"id":2013,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"16300:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16291:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":2015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"16291:38:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":2016,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1982,"src":"16333:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16291:48:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2018,"nodeType":"ExpressionStatement","src":"16291:48:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2020,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"16371:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":2021,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16385:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2022,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"16398:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":2024,"indexExpression":{"argumentTypes":null,"id":2023,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16409:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16398:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":2025,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":1163,"src":"16398:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2026,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"16434:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":2028,"indexExpression":{"argumentTypes":null,"id":2027,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16445:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16434:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":2029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"totalTokens","nodeType":"MemberAccess","referencedDeclaration":1171,"src":"16434:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2019,"name":"_ChallengeFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1129,"src":"16354:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256)"}},"id":2030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16354:116:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2031,"nodeType":"ExpressionStatement","src":"16354:116:2"}]}}]},"documentation":"@dev Determines the winner in a challenge. Rewards the winner tokens and\neither whitelists or de-whitelists the listingHash.\n@param _listingHash A listingHash with a challenge that is to be resolved","id":2064,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"resolveChallenge","nodeType":"FunctionDefinition","parameters":{"id":1972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1971,"name":"_listingHash","nodeType":"VariableDeclaration","scope":2064,"src":"15499:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15499:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"15498:22:2"},"payable":false,"returnParameters":{"id":1973,"nodeType":"ParameterList","parameters":[],"src":"15529:0:2"},"scope":2142,"src":"15473:1400:2","stateMutability":"nonpayable","superFunction":null,"visibility":"private"},{"body":{"id":2087,"nodeType":"Block","src":"17281:150:2","statements":[{"condition":{"argumentTypes":null,"id":2073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17295:35:2","subExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2069,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"17296:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":2071,"indexExpression":{"argumentTypes":null,"id":2070,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2066,"src":"17305:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17296:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":2072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"whitelisted","nodeType":"MemberAccess","referencedDeclaration":1154,"src":"17296:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":2079,"nodeType":"IfStatement","src":"17291:83:2","trueBody":{"id":2078,"nodeType":"Block","src":"17332:42:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2075,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2066,"src":"17358:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2074,"name":"_ApplicationWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1103,"src":"17334:23:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17334:37:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2077,"nodeType":"ExpressionStatement","src":"17334:37:2"}]}},{"expression":{"argumentTypes":null,"id":2085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2080,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"17383:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":2082,"indexExpression":{"argumentTypes":null,"id":2081,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2066,"src":"17392:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17383:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":2083,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"whitelisted","nodeType":"MemberAccess","referencedDeclaration":1154,"src":"17383:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":2084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17420:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"17383:41:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2086,"nodeType":"ExpressionStatement","src":"17383:41:2"}]},"documentation":"@dev Called by updateStatus() if the applicationExpiry date passed without a\nchallenge being made. Called by resolveChallenge() if an\napplication/listing beat a challenge.\n@param _listingHash The listingHash of an application/listingHash to be whitelisted","id":2088,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"whitelistApplication","nodeType":"FunctionDefinition","parameters":{"id":2067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2066,"name":"_listingHash","nodeType":"VariableDeclaration","scope":2088,"src":"17251:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17251:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"17250:22:2"},"payable":false,"returnParameters":{"id":2068,"nodeType":"ParameterList","parameters":[],"src":"17281:0:2"},"scope":2142,"src":"17221:210:2","stateMutability":"nonpayable","superFunction":null,"visibility":"private"},{"body":{"id":2140,"nodeType":"Block","src":"17655:654:2","statements":[{"assignments":[2094],"declarations":[{"constant":false,"id":2094,"name":"listing","nodeType":"VariableDeclaration","scope":2141,"src":"17665:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":2093,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"17665:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":2098,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2095,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"17691:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":2097,"indexExpression":{"argumentTypes":null,"id":2096,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"17700:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17691:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"17665:48:2"},{"condition":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2099,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"17807:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":2100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"whitelisted","nodeType":"MemberAccess","referencedDeclaration":1154,"src":"17807:19:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2110,"nodeType":"Block","src":"17888:58:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2107,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"17922:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2106,"name":"_ApplicationRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1107,"src":"17902:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17902:33:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2109,"nodeType":"ExpressionStatement","src":"17902:33:2"}]},"id":2111,"nodeType":"IfStatement","src":"17803:143:2","trueBody":{"id":2105,"nodeType":"Block","src":"17828:54:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2102,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"17858:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2101,"name":"_ListingRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1111,"src":"17842:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17842:29:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2104,"nodeType":"ExpressionStatement","src":"17842:29:2"}]}},{"assignments":[2113],"declarations":[{"constant":false,"id":2113,"name":"owner","nodeType":"VariableDeclaration","scope":2141,"src":"18003:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2112,"name":"address","nodeType":"ElementaryTypeName","src":"18003:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"id":2116,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2114,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"18019:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":2115,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"18019:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18003:29:2"},{"assignments":[2118],"declarations":[{"constant":false,"id":2118,"name":"unstakedDeposit","nodeType":"VariableDeclaration","scope":2141,"src":"18042:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2117,"name":"uint","nodeType":"ElementaryTypeName","src":"18042:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2121,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2119,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"18065:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":2120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"18065:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18042:46:2"},{"expression":{"argumentTypes":null,"id":2125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"18098:29:2","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2122,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"18105:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":2124,"indexExpression":{"argumentTypes":null,"id":2123,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"18114:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18105:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2126,"nodeType":"ExpressionStatement","src":"18098:29:2"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2127,"name":"unstakedDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"18211:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":2128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18229:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18211:19:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":2139,"nodeType":"IfStatement","src":"18207:96:2","trueBody":{"id":2138,"nodeType":"Block","src":"18231:72:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2133,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2113,"src":"18268:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2134,"name":"unstakedDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"18275:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2131,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"18253:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"18253:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18253:38:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2130,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"18245:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18245:47:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2137,"nodeType":"ExpressionStatement","src":"18245:47:2"}]}}]},"documentation":"@dev Deletes a listingHash from the whitelist and transfers tokens back to owner\n@param _listingHash The listing hash to delete","id":2141,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"resetListing","nodeType":"FunctionDefinition","parameters":{"id":2091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2090,"name":"_listingHash","nodeType":"VariableDeclaration","scope":2141,"src":"17625:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17625:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"17624:22:2"},"payable":false,"returnParameters":{"id":2092,"nodeType":"ParameterList","parameters":[],"src":"17655:0:2"},"scope":2142,"src":"17603:706:2","stateMutability":"nonpayable","superFunction":null,"visibility":"private"}],"scope":2143,"src":"172:18139:2"}],"src":"0:18312:2"},"legacyAST":{"absolutePath":"/media/op/w3/tcr/contracts/Registry.sol","exportedSymbols":{"Registry":[2142]},"id":2143,"nodeType":"SourceUnit","nodes":[{"id":1049,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:24:2"},{"absolutePath":"tokens/eip20/EIP20Interface.sol","file":"tokens/eip20/EIP20Interface.sol","id":1050,"nodeType":"ImportDirective","scope":2143,"sourceUnit":3819,"src":"26:41:2","symbolAliases":[],"unitAlias":""},{"absolutePath":"/media/op/w3/tcr/contracts/Parameterizer.sol","file":"./Parameterizer.sol","id":1051,"nodeType":"ImportDirective","scope":2143,"sourceUnit":1048,"src":"68:29:2","symbolAliases":[],"unitAlias":""},{"absolutePath":"plcrvoting/PLCRVoting.sol","file":"plcrvoting/PLCRVoting.sol","id":1052,"nodeType":"ImportDirective","scope":2143,"sourceUnit":3525,"src":"98:35:2","symbolAliases":[],"unitAlias":""},{"absolutePath":"zeppelin/math/SafeMath.sol","file":"zeppelin/math/SafeMath.sol","id":1053,"nodeType":"ImportDirective","scope":2143,"sourceUnit":3914,"src":"134:36:2","symbolAliases":[],"unitAlias":""},{"baseContracts":[],"contractDependencies":[],"contractKind":"contract","documentation":null,"fullyImplemented":true,"id":2142,"linearizedBaseContracts":[2142],"name":"Registry","nodeType":"ContractDefinition","nodes":[{"anonymous":false,"documentation":null,"id":1065,"name":"_Application","nodeType":"EventDefinition","parameters":{"id":1064,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1055,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1065,"src":"259:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"259:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1057,"indexed":false,"name":"deposit","nodeType":"VariableDeclaration","scope":1065,"src":"288:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1056,"name":"uint","nodeType":"ElementaryTypeName","src":"288:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1059,"indexed":false,"name":"appEndDate","nodeType":"VariableDeclaration","scope":1065,"src":"302:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1058,"name":"uint","nodeType":"ElementaryTypeName","src":"302:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1061,"indexed":false,"name":"data","nodeType":"VariableDeclaration","scope":1065,"src":"319:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":1060,"name":"string","nodeType":"ElementaryTypeName","src":"319:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":1063,"indexed":true,"name":"applicant","nodeType":"VariableDeclaration","scope":1065,"src":"332:25:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1062,"name":"address","nodeType":"ElementaryTypeName","src":"332:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"258:100:2"},"src":"240:119:2"},{"anonymous":false,"documentation":null,"id":1079,"name":"_Challenge","nodeType":"EventDefinition","parameters":{"id":1078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1067,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1079,"src":"381:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1066,"name":"bytes32","nodeType":"ElementaryTypeName","src":"381:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1069,"indexed":false,"name":"challengeID","nodeType":"VariableDeclaration","scope":1079,"src":"410:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1068,"name":"uint","nodeType":"ElementaryTypeName","src":"410:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1071,"indexed":false,"name":"data","nodeType":"VariableDeclaration","scope":1079,"src":"428:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":1070,"name":"string","nodeType":"ElementaryTypeName","src":"428:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"},{"constant":false,"id":1073,"indexed":false,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":1079,"src":"441:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1072,"name":"uint","nodeType":"ElementaryTypeName","src":"441:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1075,"indexed":false,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":1079,"src":"461:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1074,"name":"uint","nodeType":"ElementaryTypeName","src":"461:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1077,"indexed":true,"name":"challenger","nodeType":"VariableDeclaration","scope":1079,"src":"481:26:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1076,"name":"address","nodeType":"ElementaryTypeName","src":"481:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"380:128:2"},"src":"364:145:2"},{"anonymous":false,"documentation":null,"id":1089,"name":"_Deposit","nodeType":"EventDefinition","parameters":{"id":1088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1081,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1089,"src":"529:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1080,"name":"bytes32","nodeType":"ElementaryTypeName","src":"529:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1083,"indexed":false,"name":"added","nodeType":"VariableDeclaration","scope":1089,"src":"558:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1082,"name":"uint","nodeType":"ElementaryTypeName","src":"558:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1085,"indexed":false,"name":"newTotal","nodeType":"VariableDeclaration","scope":1089,"src":"570:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1084,"name":"uint","nodeType":"ElementaryTypeName","src":"570:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1087,"indexed":true,"name":"owner","nodeType":"VariableDeclaration","scope":1089,"src":"585:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1086,"name":"address","nodeType":"ElementaryTypeName","src":"585:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"528:79:2"},"src":"514:94:2"},{"anonymous":false,"documentation":null,"id":1099,"name":"_Withdrawal","nodeType":"EventDefinition","parameters":{"id":1098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1091,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1099,"src":"631:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"631:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1093,"indexed":false,"name":"withdrew","nodeType":"VariableDeclaration","scope":1099,"src":"660:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1092,"name":"uint","nodeType":"ElementaryTypeName","src":"660:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1095,"indexed":false,"name":"newTotal","nodeType":"VariableDeclaration","scope":1099,"src":"675:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1094,"name":"uint","nodeType":"ElementaryTypeName","src":"675:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1097,"indexed":true,"name":"owner","nodeType":"VariableDeclaration","scope":1099,"src":"690:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1096,"name":"address","nodeType":"ElementaryTypeName","src":"690:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"630:82:2"},"src":"613:100:2"},{"anonymous":false,"documentation":null,"id":1103,"name":"_ApplicationWhitelisted","nodeType":"EventDefinition","parameters":{"id":1102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1101,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1103,"src":"748:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"748:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"747:29:2"},"src":"718:59:2"},{"anonymous":false,"documentation":null,"id":1107,"name":"_ApplicationRemoved","nodeType":"EventDefinition","parameters":{"id":1106,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1105,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1107,"src":"808:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1104,"name":"bytes32","nodeType":"ElementaryTypeName","src":"808:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"807:29:2"},"src":"782:55:2"},{"anonymous":false,"documentation":null,"id":1111,"name":"_ListingRemoved","nodeType":"EventDefinition","parameters":{"id":1110,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1109,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1111,"src":"864:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"864:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"863:29:2"},"src":"842:51:2"},{"anonymous":false,"documentation":null,"id":1115,"name":"_ListingWithdrawn","nodeType":"EventDefinition","parameters":{"id":1114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1113,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1115,"src":"922:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1112,"name":"bytes32","nodeType":"ElementaryTypeName","src":"922:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"921:29:2"},"src":"898:53:2"},{"anonymous":false,"documentation":null,"id":1119,"name":"_TouchAndRemoved","nodeType":"EventDefinition","parameters":{"id":1118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1117,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1119,"src":"979:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"979:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"978:29:2"},"src":"956:52:2"},{"anonymous":false,"documentation":null,"id":1129,"name":"_ChallengeFailed","nodeType":"EventDefinition","parameters":{"id":1128,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1121,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1129,"src":"1036:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1036:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1123,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":1129,"src":"1065:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1122,"name":"uint","nodeType":"ElementaryTypeName","src":"1065:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1125,"indexed":false,"name":"rewardPool","nodeType":"VariableDeclaration","scope":1129,"src":"1091:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1124,"name":"uint","nodeType":"ElementaryTypeName","src":"1091:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1127,"indexed":false,"name":"totalTokens","nodeType":"VariableDeclaration","scope":1129,"src":"1108:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1126,"name":"uint","nodeType":"ElementaryTypeName","src":"1108:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1035:90:2"},"src":"1013:113:2"},{"anonymous":false,"documentation":null,"id":1139,"name":"_ChallengeSucceeded","nodeType":"EventDefinition","parameters":{"id":1138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1131,"indexed":true,"name":"listingHash","nodeType":"VariableDeclaration","scope":1139,"src":"1157:27:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1130,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1157:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1133,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":1139,"src":"1186:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1132,"name":"uint","nodeType":"ElementaryTypeName","src":"1186:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1135,"indexed":false,"name":"rewardPool","nodeType":"VariableDeclaration","scope":1139,"src":"1212:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1134,"name":"uint","nodeType":"ElementaryTypeName","src":"1212:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1137,"indexed":false,"name":"totalTokens","nodeType":"VariableDeclaration","scope":1139,"src":"1229:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1136,"name":"uint","nodeType":"ElementaryTypeName","src":"1229:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"1156:90:2"},"src":"1131:116:2"},{"anonymous":false,"documentation":null,"id":1147,"name":"_RewardClaimed","nodeType":"EventDefinition","parameters":{"id":1146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1141,"indexed":true,"name":"challengeID","nodeType":"VariableDeclaration","scope":1147,"src":"1273:24:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1140,"name":"uint","nodeType":"ElementaryTypeName","src":"1273:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1143,"indexed":false,"name":"reward","nodeType":"VariableDeclaration","scope":1147,"src":"1299:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1142,"name":"uint","nodeType":"ElementaryTypeName","src":"1299:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1145,"indexed":true,"name":"voter","nodeType":"VariableDeclaration","scope":1147,"src":"1312:21:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1144,"name":"address","nodeType":"ElementaryTypeName","src":"1312:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"1272:62:2"},"src":"1252:83:2"},{"id":1150,"libraryName":{"contractScope":null,"id":1148,"name":"SafeMath","nodeType":"UserDefinedTypeName","referencedDeclaration":3913,"src":"1347:8:2","typeDescriptions":{"typeIdentifier":"t_contract$_SafeMath_$3913","typeString":"library SafeMath"}},"nodeType":"UsingForDirective","src":"1341:24:2","typeName":{"id":1149,"name":"uint","nodeType":"ElementaryTypeName","src":"1360:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}},{"canonicalName":"Registry.Listing","id":1161,"members":[{"constant":false,"id":1152,"name":"applicationExpiry","nodeType":"VariableDeclaration","scope":1161,"src":"1396:22:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1151,"name":"uint","nodeType":"ElementaryTypeName","src":"1396:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1154,"name":"whitelisted","nodeType":"VariableDeclaration","scope":1161,"src":"1462:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1153,"name":"bool","nodeType":"ElementaryTypeName","src":"1462:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":1156,"name":"owner","nodeType":"VariableDeclaration","scope":1161,"src":"1523:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1155,"name":"address","nodeType":"ElementaryTypeName","src":"1523:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1158,"name":"unstakedDeposit","nodeType":"VariableDeclaration","scope":1161,"src":"1575:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1157,"name":"uint","nodeType":"ElementaryTypeName","src":"1575:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1160,"name":"challengeID","nodeType":"VariableDeclaration","scope":1161,"src":"1668:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1159,"name":"uint","nodeType":"ElementaryTypeName","src":"1668:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"name":"Listing","nodeType":"StructDefinition","scope":2142,"src":"1371:367:2","visibility":"public"},{"canonicalName":"Registry.Challenge","id":1176,"members":[{"constant":false,"id":1163,"name":"rewardPool","nodeType":"VariableDeclaration","scope":1176,"src":"1771:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1162,"name":"uint","nodeType":"ElementaryTypeName","src":"1771:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1165,"name":"challenger","nodeType":"VariableDeclaration","scope":1176,"src":"1869:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1164,"name":"address","nodeType":"ElementaryTypeName","src":"1869:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1167,"name":"resolved","nodeType":"VariableDeclaration","scope":1176,"src":"1923:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1166,"name":"bool","nodeType":"ElementaryTypeName","src":"1923:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"},{"constant":false,"id":1169,"name":"stake","nodeType":"VariableDeclaration","scope":1176,"src":"1997:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1168,"name":"uint","nodeType":"ElementaryTypeName","src":"1997:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1171,"name":"totalTokens","nodeType":"VariableDeclaration","scope":1176,"src":"2092:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1170,"name":"uint","nodeType":"ElementaryTypeName","src":"2092:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1175,"name":"tokenClaims","nodeType":"VariableDeclaration","scope":1176,"src":"2191:36:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"typeName":{"id":1174,"keyType":{"id":1172,"name":"address","nodeType":"ElementaryTypeName","src":"2199:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Mapping","src":"2191:24:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"},"valueType":{"id":1173,"name":"bool","nodeType":"ElementaryTypeName","src":"2210:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}},"value":null,"visibility":"internal"}],"name":"Challenge","nodeType":"StructDefinition","scope":2142,"src":"1744:544:2","visibility":"public"},{"constant":false,"id":1180,"name":"challenges","nodeType":"VariableDeclaration","scope":2142,"src":"2348:44:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"},"typeName":{"id":1179,"keyType":{"id":1177,"name":"uint","nodeType":"ElementaryTypeName","src":"2356:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Mapping","src":"2348:26:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"},"valueType":{"contractScope":null,"id":1178,"name":"Challenge","nodeType":"UserDefinedTypeName","referencedDeclaration":1176,"src":"2364:9:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage_ptr","typeString":"struct Registry.Challenge storage pointer"}}},"value":null,"visibility":"public"},{"constant":false,"id":1184,"name":"listings","nodeType":"VariableDeclaration","scope":2142,"src":"2456:43:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"},"typeName":{"id":1183,"keyType":{"id":1181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2464:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Mapping","src":"2456:27:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"},"valueType":{"contractScope":null,"id":1182,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"2475:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}}},"value":null,"visibility":"public"},{"constant":false,"id":1186,"name":"token","nodeType":"VariableDeclaration","scope":2142,"src":"2530:27:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"},"typeName":{"contractScope":null,"id":1185,"name":"EIP20Interface","nodeType":"UserDefinedTypeName","referencedDeclaration":3818,"src":"2530:14:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"value":null,"visibility":"public"},{"constant":false,"id":1188,"name":"voting","nodeType":"VariableDeclaration","scope":2142,"src":"2563:24:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"},"typeName":{"contractScope":null,"id":1187,"name":"PLCRVoting","nodeType":"UserDefinedTypeName","referencedDeclaration":3524,"src":"2563:10:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"value":null,"visibility":"public"},{"constant":false,"id":1190,"name":"parameterizer","nodeType":"VariableDeclaration","scope":2142,"src":"2593:34:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"},"typeName":{"contractScope":null,"id":1189,"name":"Parameterizer","nodeType":"UserDefinedTypeName","referencedDeclaration":1047,"src":"2593:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"value":null,"visibility":"public"},{"constant":false,"id":1192,"name":"name","nodeType":"VariableDeclaration","scope":2142,"src":"2633:18:2","stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"},"typeName":{"id":1191,"name":"string","nodeType":"ElementaryTypeName","src":"2633:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"public"},{"body":{"id":1225,"nodeType":"Block","src":"3176:165:2","statements":[{"expression":{"argumentTypes":null,"id":1207,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1203,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"3186:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1205,"name":"_tokenAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1194,"src":"3209:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1204,"name":"EIP20Interface","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3818,"src":"3194:14:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_EIP20Interface_$3818_$","typeString":"type(contract EIP20Interface)"}},"id":1206,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3194:26:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"src":"3186:34:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1208,"nodeType":"ExpressionStatement","src":"3186:34:2"},{"expression":{"argumentTypes":null,"id":1213,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1209,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"3230:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1211,"name":"_plcrAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1196,"src":"3250:9:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1210,"name":"PLCRVoting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3524,"src":"3239:10:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_PLCRVoting_$3524_$","typeString":"type(contract PLCRVoting)"}},"id":1212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3239:21:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"src":"3230:30:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1214,"nodeType":"ExpressionStatement","src":"3230:30:2"},{"expression":{"argumentTypes":null,"id":1219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1215,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"3270:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1217,"name":"_paramsAddr","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1198,"src":"3300:11:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"}],"id":1216,"name":"Parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1047,"src":"3286:13:2","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Parameterizer_$1047_$","typeString":"type(contract Parameterizer)"}},"id":1218,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3286:26:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"src":"3270:42:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1220,"nodeType":"ExpressionStatement","src":"3270:42:2"},{"expression":{"argumentTypes":null,"id":1223,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"id":1221,"name":"name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1192,"src":"3322:4:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1222,"name":"_name","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1200,"src":"3329:5:2","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"}},"src":"3322:12:2","typeDescriptions":{"typeIdentifier":"t_string_storage","typeString":"string storage ref"}},"id":1224,"nodeType":"ExpressionStatement","src":"3322:12:2"}]},"documentation":"@dev Contructor Sets the addresses for token, voting, and parameterizer\n@param _tokenAddr Address of the TCR's intrinsic ERC20 token\n@param _plcrAddr Address of a PLCR voting contract for the provided token\n@param _paramsAddr Address of a Parameterizer contract ","id":1226,"implemented":true,"isConstructor":true,"isDeclaredConst":false,"modifiers":[],"name":"Registry","nodeType":"FunctionDefinition","parameters":{"id":1201,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1194,"name":"_tokenAddr","nodeType":"VariableDeclaration","scope":1226,"src":"3066:18:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1193,"name":"address","nodeType":"ElementaryTypeName","src":"3066:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1196,"name":"_plcrAddr","nodeType":"VariableDeclaration","scope":1226,"src":"3094:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1195,"name":"address","nodeType":"ElementaryTypeName","src":"3094:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1198,"name":"_paramsAddr","nodeType":"VariableDeclaration","scope":1226,"src":"3121:19:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1197,"name":"address","nodeType":"ElementaryTypeName","src":"3121:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1200,"name":"_name","nodeType":"VariableDeclaration","scope":1226,"src":"3150:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string memory"},"typeName":{"id":1199,"name":"string","nodeType":"ElementaryTypeName","src":"3150:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"3056:112:2"},"payable":false,"returnParameters":{"id":1202,"nodeType":"ParameterList","parameters":[],"src":"3176:0:2"},"scope":2142,"src":"3039:302:2","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":1310,"nodeType":"Block","src":"3933:669:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1239,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3951:28:2","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1237,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"3966:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1236,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1833,"src":"3952:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1238,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3952:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1235,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3943:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1240,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3943:37:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1241,"nodeType":"ExpressionStatement","src":"3943:37:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1246,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"3998:25:2","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1244,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"4010:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1243,"name":"appWasMade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"3999:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1245,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3999:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1242,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"3990:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1247,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"3990:34:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1248,"nodeType":"ExpressionStatement","src":"3990:34:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1255,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1250,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"4042:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6d696e4465706f736974","id":1253,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4071:12:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""},"value":"minDeposit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""}],"expression":{"argumentTypes":null,"id":1251,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"4053:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1252,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"4053:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4053:31:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4042:42:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1249,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4034:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1256,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4034:51:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1257,"nodeType":"ExpressionStatement","src":"4034:51:2"},{"assignments":[1259],"declarations":[{"constant":false,"id":1259,"name":"listing","nodeType":"VariableDeclaration","scope":1311,"src":"4118:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":1258,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"4118:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":1263,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1260,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"4144:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1262,"indexExpression":{"argumentTypes":null,"id":1261,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"4153:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4144:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4118:48:2"},{"expression":{"argumentTypes":null,"id":1269,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1264,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4176:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1266,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"4176:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1267,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4192:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4192:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"4176:26:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":1270,"nodeType":"ExpressionStatement","src":"4176:26:2"},{"expression":{"argumentTypes":null,"id":1282,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1271,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4250:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1273,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"applicationExpiry","nodeType":"MemberAccess","referencedDeclaration":1152,"src":"4250:25:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6170706c7953746167654c656e","id":1279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4316:15:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da","typeString":"literal_string \"applyStageLen\""},"value":"applyStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8c03b11eba3b2d069479ae0d3837927171e72e193c0acb726bbd53bdd5902da","typeString":"literal_string \"applyStageLen\""}],"expression":{"argumentTypes":null,"id":1277,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"4298:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1278,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"4298:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4298:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1274,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3917,"src":"4278:5:2","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":1275,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"timestamp","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4278:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"add","nodeType":"MemberAccess","referencedDeclaration":3912,"src":"4278:19:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$_t_uint256_$returns$_t_uint256_$bound_to$_t_uint256_$","typeString":"function (uint256,uint256) view returns (uint256)"}},"id":1281,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4278:55:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4250:83:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1283,"nodeType":"ExpressionStatement","src":"4250:83:2"},{"expression":{"argumentTypes":null,"id":1288,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1284,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4343:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1286,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"4343:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1287,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"4369:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"4343:33:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1289,"nodeType":"ExpressionStatement","src":"4343:33:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1293,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4473:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1294,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"4473:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1295,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"4488:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"}},{"argumentTypes":null,"id":1296,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"4494:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1291,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"4454:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"4454:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":1297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4454:48:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1290,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"4446:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1298,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4446:57:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1299,"nodeType":"ExpressionStatement","src":"4446:57:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1301,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1228,"src":"4527:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1302,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1230,"src":"4541:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1303,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1259,"src":"4550:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1304,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"applicationExpiry","nodeType":"MemberAccess","referencedDeclaration":1152,"src":"4550:25:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1305,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1232,"src":"4577:5:2","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1306,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"4584:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1307,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"4584:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1300,"name":"_Application","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1065,"src":"4514:12:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,uint256,string memory,address)"}},"id":1308,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"4514:81:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1309,"nodeType":"ExpressionStatement","src":"4514:81:2"}]},"documentation":"@dev Allows a user to start an application. Takes tokens from user and sets\napply stage end time.\n@param _listingHash The hash of a potential listing a user is applying to add to the registry\n@param _amount The number of ERC20 tokens a user is willing to potentially stake\n@param _data Extra data relevant to the application. Think IPFS hashes.","id":1311,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"apply","nodeType":"FunctionDefinition","parameters":{"id":1233,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1228,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1311,"src":"3874:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3874:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1230,"name":"_amount","nodeType":"VariableDeclaration","scope":1311,"src":"3896:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1229,"name":"uint","nodeType":"ElementaryTypeName","src":"3896:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1232,"name":"_data","nodeType":"VariableDeclaration","scope":1311,"src":"3910:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},"typeName":{"id":1231,"name":"string","nodeType":"ElementaryTypeName","src":"3910:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"3873:50:2"},"payable":false,"returnParameters":{"id":1234,"nodeType":"ParameterList","parameters":[],"src":"3933:0:2"},"scope":2142,"src":"3859:743:2","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":1357,"nodeType":"Block","src":"4933:300:2","statements":[{"assignments":[1319],"declarations":[{"constant":false,"id":1319,"name":"listing","nodeType":"VariableDeclaration","scope":1358,"src":"4943:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":1318,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"4943:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":1323,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1320,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"4969:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1322,"indexExpression":{"argumentTypes":null,"id":1321,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1313,"src":"4978:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"4969:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"4943:48:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1329,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1325,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1319,"src":"5010:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1326,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"5010:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1327,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5027:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1328,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5027:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5010:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1324,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5002:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1330,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5002:36:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1331,"nodeType":"ExpressionStatement","src":"5002:36:2"},{"expression":{"argumentTypes":null,"id":1336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1332,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1319,"src":"5049:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1334,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5049:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":1335,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1315,"src":"5076:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5049:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1337,"nodeType":"ExpressionStatement","src":"5049:34:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1341,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5120:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1342,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5120:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1343,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"5132:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"}},{"argumentTypes":null,"id":1344,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1315,"src":"5138:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1339,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"5101:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"5101:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":1345,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5101:45:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1338,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5093:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1346,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5093:54:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1347,"nodeType":"ExpressionStatement","src":"5093:54:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1349,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1313,"src":"5167:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1350,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1315,"src":"5181:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1351,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1319,"src":"5190:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1352,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5190:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1353,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5215:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1354,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5215:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1348,"name":"_Deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1089,"src":"5158:8:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,uint256,address)"}},"id":1355,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5158:68:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1356,"nodeType":"ExpressionStatement","src":"5158:68:2"}]},"documentation":"@dev Allows the owner of a listingHash to increase their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of\n@param _amount The number of ERC20 tokens to increase a user's unstaked deposit","id":1358,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"deposit","nodeType":"FunctionDefinition","parameters":{"id":1316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1313,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1358,"src":"4888:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1312,"name":"bytes32","nodeType":"ElementaryTypeName","src":"4888:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1315,"name":"_amount","nodeType":"VariableDeclaration","scope":1358,"src":"4910:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1314,"name":"uint","nodeType":"ElementaryTypeName","src":"4910:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"4887:36:2"},"payable":false,"returnParameters":{"id":1317,"nodeType":"ParameterList","parameters":[],"src":"4933:0:2"},"scope":2142,"src":"4871:362:2","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":1422,"nodeType":"Block","src":"5567:433:2","statements":[{"assignments":[1366],"declarations":[{"constant":false,"id":1366,"name":"listing","nodeType":"VariableDeclaration","scope":1423,"src":"5577:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":1365,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"5577:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":1370,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1367,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"5603:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1369,"indexExpression":{"argumentTypes":null,"id":1368,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1360,"src":"5612:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"5603:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"5577:48:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1376,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1372,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1366,"src":"5644:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1373,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"5644:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1374,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5661:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1375,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5661:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"5644:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1371,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5636:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1377,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5636:36:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1378,"nodeType":"ExpressionStatement","src":"5636:36:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1383,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1380,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"5690:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1381,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1366,"src":"5701:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1382,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5701:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5690:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1379,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5682:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1384,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5682:43:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1385,"nodeType":"ExpressionStatement","src":"5682:43:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1387,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1366,"src":"5743:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1388,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5743:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"id":1389,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"5769:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5743:33:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6d696e4465706f736974","id":1393,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5798:12:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""},"value":"minDeposit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""}],"expression":{"argumentTypes":null,"id":1391,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"5780:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1392,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"5780:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1394,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5780:31:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5743:68:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1386,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5735:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1396,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5735:77:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1397,"nodeType":"ExpressionStatement","src":"5735:77:2"},{"expression":{"argumentTypes":null,"id":1402,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1398,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1366,"src":"5823:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1400,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5823:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":1401,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"5850:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"5823:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1403,"nodeType":"ExpressionStatement","src":"5823:34:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1407,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5890:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1408,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5890:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1409,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"5902:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1405,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"5875:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1406,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"5875:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":1410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5875:35:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1404,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"5867:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1411,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5867:44:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1412,"nodeType":"ExpressionStatement","src":"5867:44:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1414,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1360,"src":"5934:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1415,"name":"_amount","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1362,"src":"5948:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1416,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1366,"src":"5957:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1417,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"5957:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1418,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"5982:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1419,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"5982:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1413,"name":"_Withdrawal","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1099,"src":"5922:11:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,uint256,address)"}},"id":1420,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"5922:71:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1421,"nodeType":"ExpressionStatement","src":"5922:71:2"}]},"documentation":"@dev Allows the owner of a listingHash to decrease their unstaked deposit.\n@param _listingHash A listingHash msg.sender is the owner of.\n@param _amount The number of ERC20 tokens to withdraw from the unstaked deposit.","id":1423,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"withdraw","nodeType":"FunctionDefinition","parameters":{"id":1363,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1360,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1423,"src":"5522:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1359,"name":"bytes32","nodeType":"ElementaryTypeName","src":"5522:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1362,"name":"_amount","nodeType":"VariableDeclaration","scope":1423,"src":"5544:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1361,"name":"uint","nodeType":"ElementaryTypeName","src":"5544:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"5521:36:2"},"payable":false,"returnParameters":{"id":1364,"nodeType":"ParameterList","parameters":[],"src":"5567:0:2"},"scope":2142,"src":"5504:496:2","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":1469,"nodeType":"Block","src":"6310:418:2","statements":[{"assignments":[1429],"declarations":[{"constant":false,"id":1429,"name":"listing","nodeType":"VariableDeclaration","scope":1470,"src":"6320:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":1428,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"6320:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":1433,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1430,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"6346:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1432,"indexExpression":{"argumentTypes":null,"id":1431,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1425,"src":"6355:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6346:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"6320:48:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_address","typeString":"address"},"id":1439,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1435,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"6387:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"6387:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1437,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1429,"src":"6401:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1438,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"6401:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"src":"6387:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1434,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"6379:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1440,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6379:36:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1441,"nodeType":"ExpressionStatement","src":"6379:36:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1444,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1425,"src":"6447:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1443,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1833,"src":"6433:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1445,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6433:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1442,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"6425:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1446,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6425:36:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1447,"nodeType":"ExpressionStatement","src":"6425:36:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1458,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1449,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1429,"src":"6528:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1450,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"6528:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6551:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"6528:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1453,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"6556:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1456,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1454,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1429,"src":"6567:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1455,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"6567:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"6556:31:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1457,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"6556:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"6528:68:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1448,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"6520:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1459,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6520:77:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1460,"nodeType":"ExpressionStatement","src":"6520:77:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1462,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1425,"src":"6667:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1461,"name":"resetListing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2141,"src":"6654:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1463,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6654:26:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1464,"nodeType":"ExpressionStatement","src":"6654:26:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1466,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1425,"src":"6708:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1465,"name":"_ListingWithdrawn","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1115,"src":"6690:17:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1467,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"6690:31:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1468,"nodeType":"ExpressionStatement","src":"6690:31:2"}]},"documentation":"@dev Allows the owner of a listingHash to remove the listingHash from the whitelist\nReturns all tokens to the owner of the listingHash\n@param _listingHash A listingHash msg.sender is the owner of.","id":1470,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"exit","nodeType":"FunctionDefinition","parameters":{"id":1426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1425,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1470,"src":"6279:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1424,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6279:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"6278:22:2"},"payable":false,"returnParameters":{"id":1427,"nodeType":"ParameterList","parameters":[],"src":"6310:0:2"},"scope":2142,"src":"6265:463:2","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":1613,"nodeType":"Block","src":"7352:1583:2","statements":[{"assignments":[1480],"declarations":[{"constant":false,"id":1480,"name":"listing","nodeType":"VariableDeclaration","scope":1614,"src":"7362:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":1479,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"7362:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":1484,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1481,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"7388:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1483,"indexExpression":{"argumentTypes":null,"id":1482,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1472,"src":"7397:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7388:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"7362:48:2"},{"assignments":[1486],"declarations":[{"constant":false,"id":1486,"name":"deposit","nodeType":"VariableDeclaration","scope":1614,"src":"7420:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1485,"name":"uint","nodeType":"ElementaryTypeName","src":"7420:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1491,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"6d696e4465706f736974","id":1489,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7453:12:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""},"value":"minDeposit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1562a3cff09047061ba41141a6bb560ed15f1ca2968c821562d091212629199d","typeString":"literal_string \"minDeposit\""}],"expression":{"argumentTypes":null,"id":1487,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"7435:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1488,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"7435:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1490,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7435:31:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7420:46:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1498,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1494,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1472,"src":"7566:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1493,"name":"appWasMade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"7555:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1495,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7555:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1496,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"7583:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1497,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"whitelisted","nodeType":"MemberAccess","referencedDeclaration":1154,"src":"7583:19:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7555:47:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1492,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7547:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1499,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7547:56:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1500,"nodeType":"ExpressionStatement","src":"7547:56:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1511,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1505,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1502,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"7660:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1503,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"7660:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1504,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7683:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"7660:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1506,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"7688:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1509,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1507,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"7699:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1508,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"7699:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"7688:31:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1510,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"7688:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"7660:68:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1501,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"7652:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1512,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7652:77:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1513,"nodeType":"ExpressionStatement","src":"7652:77:2"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1517,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1514,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"7744:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1515,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"7744:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"argumentTypes":null,"id":1516,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"7770:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7744:33:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":1529,"nodeType":"IfStatement","src":"7740:216:2","trueBody":{"id":1528,"nodeType":"Block","src":"7779:177:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1519,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1472,"src":"7866:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1518,"name":"resetListing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2141,"src":"7853:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7853:26:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1521,"nodeType":"ExpressionStatement","src":"7853:26:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1523,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1472,"src":"7910:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1522,"name":"_TouchAndRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1119,"src":"7893:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1524,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"7893:30:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1525,"nodeType":"ExpressionStatement","src":"7893:30:2"},{"expression":{"argumentTypes":null,"hexValue":"30","id":1526,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7944:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"functionReturnParameters":1478,"id":1527,"nodeType":"Return","src":"7937:8:2"}]}},{"assignments":[1531],"declarations":[{"constant":false,"id":1531,"name":"pollID","nodeType":"VariableDeclaration","scope":1614,"src":"7989:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1530,"name":"uint","nodeType":"ElementaryTypeName","src":"7989:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1547,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"766f746551756f72756d","id":1536,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8051:12:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878","typeString":"literal_string \"voteQuorum\""},"value":"voteQuorum"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9b01c2212638b995654bf3d584befbb3576184e03cd1a9ae5693a18a1f559878","typeString":"literal_string \"voteQuorum\""}],"expression":{"argumentTypes":null,"id":1534,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"8033:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1535,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"8033:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8033:31:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"636f6d6d697453746167654c656e","id":1540,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8096:16:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d","typeString":"literal_string \"commitStageLen\""},"value":"commitStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_22aa10f6207ed6245b2e23bddfcdfa1a542b375f7cf45082a1a75b9304a6150d","typeString":"literal_string \"commitStageLen\""}],"expression":{"argumentTypes":null,"id":1538,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"8078:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1539,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"8078:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1541,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8078:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"72657665616c53746167654c656e","id":1544,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8145:16:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1","typeString":"literal_string \"revealStageLen\""},"value":"revealStageLen"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_e8858300ed02b4242350c6412c69b3951ae8f1d10eb49beafb9ecebaba7a0af1","typeString":"literal_string \"revealStageLen\""}],"expression":{"argumentTypes":null,"id":1542,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"8127:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1543,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"8127:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1545,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8127:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1532,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"8003:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1533,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"startPoll","nodeType":"MemberAccess","referencedDeclaration":3157,"src":"8003:16:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256,uint256,uint256) external returns (uint256)"}},"id":1546,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8003:169:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"7989:183:2"},{"expression":{"argumentTypes":null,"id":1570,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1548,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"8183:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1550,"indexExpression":{"argumentTypes":null,"id":1549,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8194:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"8183:18:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1552,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8240:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1553,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8240:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1565,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1559,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"313030","id":1554,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8278:3:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"hexValue":"64697370656e736174696f6e506374","id":1557,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"8302:17:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""},"value":"dispensationPct"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_a44475ce52a893bc7cadba79a6351960ca7e12219e3b7f3a04da4d29c39864e4","typeString":"literal_string \"dispensationPct\""}],"expression":{"argumentTypes":null,"id":1555,"name":"parameterizer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1190,"src":"8284:13:2","typeDescriptions":{"typeIdentifier":"t_contract$_Parameterizer_$1047","typeString":"contract Parameterizer"}},"id":1556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"get","nodeType":"MemberAccess","referencedDeclaration":909,"src":"8284:17:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_string_memory_ptr_$returns$_t_uint256_$","typeString":"function (string memory) view external returns (uint256)"}},"id":1558,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8284:36:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8278:42:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1560,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8277:44:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":1561,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"8324:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8277:54:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1563,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"8276:56:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"hexValue":"313030","id":1564,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8335:3:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"8276:62:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1566,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"8359:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"hexValue":"66616c7365","id":1567,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8390:5:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"argumentTypes":null,"hexValue":"30","id":1568,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8422:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":null,"id":1551,"name":"Challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1176,"src":"8204:9:2","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_Challenge_$1176_storage_ptr_$","typeString":"type(struct Registry.Challenge storage pointer)"}},"id":1569,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"names":["challenger","rewardPool","stake","resolved","totalTokens"],"nodeType":"FunctionCall","src":"8204:230:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_memory","typeString":"struct Registry.Challenge memory"}},"src":"8183:251:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1571,"nodeType":"ExpressionStatement","src":"8183:251:2"},{"expression":{"argumentTypes":null,"id":1576,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1572,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"8507:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1574,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"8507:19:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"id":1575,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8529:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8507:28:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1577,"nodeType":"ExpressionStatement","src":"8507:28:2"},{"expression":{"argumentTypes":null,"id":1582,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1578,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1480,"src":"8603:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":1580,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"8603:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":1581,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"8630:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"8603:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1583,"nodeType":"ExpressionStatement","src":"8603:34:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1587,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8715:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1588,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8715:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1589,"name":"this","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3953,"src":"8727:4:2","typeDescriptions":{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"}},{"argumentTypes":null,"id":1590,"name":"deposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1486,"src":"8733:7:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_contract$_Registry_$2142","typeString":"contract Registry"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1585,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"8696:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1586,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transferFrom","nodeType":"MemberAccess","referencedDeclaration":3783,"src":"8696:18:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,address,uint256) external returns (bool)"}},"id":1591,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8696:45:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1584,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"8688:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1592,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8688:54:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1593,"nodeType":"ExpressionStatement","src":"8688:54:2"},{"assignments":[1594,1595,null,null,null],"declarations":[{"constant":false,"id":1594,"name":"commitEndDate","nodeType":"VariableDeclaration","scope":1614,"src":"8758:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":null,"value":null,"visibility":"internal"},{"constant":false,"id":1595,"name":"revealEndDate","nodeType":"VariableDeclaration","scope":1614,"src":"8773:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":null,"value":null,"visibility":"internal"},null],"id":1600,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1598,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8806:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1596,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"8791:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1597,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pollMap","nodeType":"MemberAccess","referencedDeclaration":2597,"src":"8791:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"function (uint256) view external returns (uint256,uint256,uint256,uint256,uint256)"}},"id":1599,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8791:22:2","typeDescriptions":{"typeIdentifier":"t_tuple$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$_t_uint256_$","typeString":"tuple(uint256,uint256,uint256,uint256,uint256)"}},"nodeType":"VariableDeclarationStatement","src":"8753:60:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1602,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1472,"src":"8835:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":1603,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8849:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1604,"name":"_data","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1474,"src":"8857:5:2","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"}},{"argumentTypes":null,"id":1605,"name":"commitEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1594,"src":"8864:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1606,"name":"revealEndDate","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1595,"src":"8879:13:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1607,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"8894:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1608,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"8894:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1601,"name":"_Challenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1079,"src":"8824:10:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_string_memory_ptr_$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (bytes32,uint256,string memory,uint256,uint256,address)"}},"id":1609,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"8824:81:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1610,"nodeType":"ExpressionStatement","src":"8824:81:2"},{"expression":{"argumentTypes":null,"id":1611,"name":"pollID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1531,"src":"8922:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1478,"id":1612,"nodeType":"Return","src":"8915:13:2"}]},"documentation":"@dev Starts a poll for a listingHash which is either in the apply stage or\nalready in the whitelist. Tokens are taken from the challenger and the\napplicant's deposits are locked.\n@param _listingHash The listingHash being challenged, whether listed or in application\n@param _data Extra data relevant to the challenge. Think IPFS hashes.","id":1614,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"challenge","nodeType":"FunctionDefinition","parameters":{"id":1475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1472,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1614,"src":"7280:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1471,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7280:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"},{"constant":false,"id":1474,"name":"_data","nodeType":"VariableDeclaration","scope":1614,"src":"7302:12:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string calldata"},"typeName":{"id":1473,"name":"string","nodeType":"ElementaryTypeName","src":"7302:6:2","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string storage pointer"}},"value":null,"visibility":"internal"}],"src":"7279:36:2"},"payable":false,"returnParameters":{"id":1478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1477,"name":"challengeID","nodeType":"VariableDeclaration","scope":1614,"src":"7334:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1476,"name":"uint","nodeType":"ElementaryTypeName","src":"7334:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"7333:18:2"},"scope":2142,"src":"7261:1674:2","stateMutability":"nonpayable","superFunction":null,"visibility":"external"},{"body":{"id":1641,"nodeType":"Block","src":"9227:247:2","statements":[{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1620,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1616,"src":"9258:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1619,"name":"canBeWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1820,"src":"9241:16:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9241:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1628,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1616,"src":"9363:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1627,"name":"challengeCanBeResolved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1903,"src":"9340:22:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9340:36:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":1638,"nodeType":"Block","src":"9437:31:2","statements":[{"expression":{"argumentTypes":null,"arguments":[],"expression":{"argumentTypes":[],"id":1635,"name":"revert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3930,"src":"9449:6:2","typeDescriptions":{"typeIdentifier":"t_function_revert_pure$__$returns$__$","typeString":"function () pure"}},"id":1636,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9449:8:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1637,"nodeType":"ExpressionStatement","src":"9449:8:2"}]},"id":1639,"nodeType":"IfStatement","src":"9336:132:2","trueBody":{"id":1634,"nodeType":"Block","src":"9378:53:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1631,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1616,"src":"9407:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1630,"name":"resolveChallenge","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2064,"src":"9390:16:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1632,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9390:30:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1633,"nodeType":"ExpressionStatement","src":"9390:30:2"}]}},"id":1640,"nodeType":"IfStatement","src":"9237:231:2","trueBody":{"id":1626,"nodeType":"Block","src":"9273:57:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1623,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1616,"src":"9306:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1622,"name":"whitelistApplication","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2088,"src":"9285:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":1624,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"9285:34:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1625,"nodeType":"ExpressionStatement","src":"9285:34:2"}]}}]},"documentation":"@dev Updates a listingHash's status from 'application' to 'listing' or resolves\na challenge if one exists.\n@param _listingHash The listingHash whose status is being updated","id":1642,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"updateStatus","nodeType":"FunctionDefinition","parameters":{"id":1617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1616,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1642,"src":"9198:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9198:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"9197:22:2"},"payable":false,"returnParameters":{"id":1618,"nodeType":"ParameterList","parameters":[],"src":"9227:0:2"},"scope":2142,"src":"9176:298:2","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":1729,"nodeType":"Block","src":"9963:902:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1650,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"10083:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1652,"indexExpression":{"argumentTypes":null,"id":1651,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10094:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10083:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1653,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":1175,"src":"10083:36:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1656,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1654,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10120:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1655,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10120:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10083:48:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"66616c7365","id":1657,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10135:5:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"src":"10083:57:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1649,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"10075:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10075:66:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1660,"nodeType":"ExpressionStatement","src":"10075:66:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1667,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1662,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"10159:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1664,"indexExpression":{"argumentTypes":null,"id":1663,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10170:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10159:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1665,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"10159:33:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"74727565","id":1666,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10196:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"10159:41:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1661,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"10151:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1668,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10151:50:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1669,"nodeType":"ExpressionStatement","src":"10151:50:2"},{"assignments":[1671],"declarations":[{"constant":false,"id":1671,"name":"voterTokens","nodeType":"VariableDeclaration","scope":1730,"src":"10212:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1670,"name":"uint","nodeType":"ElementaryTypeName","src":"10212:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1679,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1674,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10258:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1675,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10258:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1676,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10270:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1677,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1646,"src":"10284:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1672,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"10231:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1673,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getNumPassingTokens","nodeType":"MemberAccess","referencedDeclaration":3101,"src":"10231:26:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view external returns (uint256)"}},"id":1678,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10231:59:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10212:78:2"},{"assignments":[1681],"declarations":[{"constant":false,"id":1681,"name":"reward","nodeType":"VariableDeclaration","scope":1730,"src":"10300:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1680,"name":"uint","nodeType":"ElementaryTypeName","src":"10300:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1688,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1683,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10326:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1684,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10326:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1685,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10338:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1686,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1646,"src":"10352:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1682,"name":"voterReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1772,"src":"10314:11:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view returns (uint256)"}},"id":1687,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10314:44:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"10300:58:2"},{"expression":{"argumentTypes":null,"id":1694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1689,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"10520:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1691,"indexExpression":{"argumentTypes":null,"id":1690,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10531:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10520:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1692,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"totalTokens","nodeType":"MemberAccess","referencedDeclaration":1171,"src":"10520:36:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":1693,"name":"voterTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1671,"src":"10560:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10520:51:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1695,"nodeType":"ExpressionStatement","src":"10520:51:2"},{"expression":{"argumentTypes":null,"id":1701,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1696,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"10581:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1698,"indexExpression":{"argumentTypes":null,"id":1697,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10592:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10581:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1699,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":1163,"src":"10581:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"-=","rightHandSide":{"argumentTypes":null,"id":1700,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"10620:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"10581:45:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":1702,"nodeType":"ExpressionStatement","src":"10581:45:2"},{"expression":{"argumentTypes":null,"id":1711,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1703,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"10690:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1705,"indexExpression":{"argumentTypes":null,"id":1704,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10701:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"10690:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1706,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":1175,"src":"10690:36:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1709,"indexExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1707,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10727:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1708,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10727:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"10690:48:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":1710,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"10741:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"10690:55:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1712,"nodeType":"ExpressionStatement","src":"10690:55:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1716,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10779:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10779:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1718,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"10791:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1714,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"10764:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":1715,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"10764:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":1719,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10764:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1713,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"10756:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1720,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10756:43:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1721,"nodeType":"ExpressionStatement","src":"10756:43:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1723,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1644,"src":"10825:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1724,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1681,"src":"10839:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"id":1725,"name":"msg","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3926,"src":"10847:3:2","typeDescriptions":{"typeIdentifier":"t_magic_message","typeString":"msg"}},"id":1726,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"sender","nodeType":"MemberAccess","referencedDeclaration":null,"src":"10847:10:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_address","typeString":"address"}],"id":1722,"name":"_RewardClaimed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1147,"src":"10810:14:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_uint256_$_t_uint256_$_t_address_$returns$__$","typeString":"function (uint256,uint256,address)"}},"id":1727,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"10810:48:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1728,"nodeType":"ExpressionStatement","src":"10810:48:2"}]},"documentation":"@dev Called by a voter to claim their reward for each completed vote. Someone\nmust call updateStatus() before this can be called.\n@param _challengeID The PLCR pollID of the challenge a reward is being claimed for\n@param _salt The salt of a voter's commit hash in the given poll","id":1730,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"claimReward","nodeType":"FunctionDefinition","parameters":{"id":1647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1644,"name":"_challengeID","nodeType":"VariableDeclaration","scope":1730,"src":"9925:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1643,"name":"uint","nodeType":"ElementaryTypeName","src":"9925:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1646,"name":"_salt","nodeType":"VariableDeclaration","scope":1730,"src":"9944:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1645,"name":"uint","nodeType":"ElementaryTypeName","src":"9944:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"9924:31:2"},"payable":false,"returnParameters":{"id":1648,"nodeType":"ParameterList","parameters":[],"src":"9963:0:2"},"scope":2142,"src":"9904:961:2","stateMutability":"nonpayable","superFunction":null,"visibility":"public"},{"body":{"id":1771,"nodeType":"Block","src":"11442:276:2","statements":[{"assignments":[1742],"declarations":[{"constant":false,"id":1742,"name":"totalTokens","nodeType":"VariableDeclaration","scope":1772,"src":"11452:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1741,"name":"uint","nodeType":"ElementaryTypeName","src":"11452:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1747,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1743,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"11471:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1745,"indexExpression":{"argumentTypes":null,"id":1744,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1734,"src":"11482:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11471:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1746,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"totalTokens","nodeType":"MemberAccess","referencedDeclaration":1171,"src":"11471:36:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11452:55:2"},{"assignments":[1749],"declarations":[{"constant":false,"id":1749,"name":"rewardPool","nodeType":"VariableDeclaration","scope":1772,"src":"11517:15:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1748,"name":"uint","nodeType":"ElementaryTypeName","src":"11517:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1754,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1750,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"11535:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1752,"indexExpression":{"argumentTypes":null,"id":1751,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1734,"src":"11546:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11535:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1753,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":1163,"src":"11535:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11517:53:2"},{"assignments":[1756],"declarations":[{"constant":false,"id":1756,"name":"voterTokens","nodeType":"VariableDeclaration","scope":1772,"src":"11580:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1755,"name":"uint","nodeType":"ElementaryTypeName","src":"11580:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1763,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1759,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1732,"src":"11626:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":1760,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1734,"src":"11634:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"id":1761,"name":"_salt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1736,"src":"11648:5:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1757,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"11599:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1758,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getNumPassingTokens","nodeType":"MemberAccess","referencedDeclaration":3101,"src":"11599:26:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_address_$_t_uint256_$_t_uint256_$returns$_t_uint256_$","typeString":"function (address,uint256,uint256) view external returns (uint256)"}},"id":1762,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"11599:55:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11580:74:2"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1769,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1766,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1764,"name":"voterTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1756,"src":"11672:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":1765,"name":"rewardPool","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1749,"src":"11686:10:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11672:24:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1767,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"11671:26:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"id":1768,"name":"totalTokens","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1742,"src":"11700:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"11671:40:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1740,"id":1770,"nodeType":"Return","src":"11664:47:2"}]},"documentation":"@dev Calculates the provided voter's token reward for the given poll.\n@param _voter The address of the voter whose reward balance is to be returned\n@param _challengeID The pollID of the challenge a reward balance is being queried for\n@param _salt The salt of the voter's commit hash in the given poll\n@return The uint indicating the voter's reward","id":1772,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"voterReward","nodeType":"FunctionDefinition","parameters":{"id":1737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1732,"name":"_voter","nodeType":"VariableDeclaration","scope":1772,"src":"11364:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1731,"name":"address","nodeType":"ElementaryTypeName","src":"11364:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"},{"constant":false,"id":1734,"name":"_challengeID","nodeType":"VariableDeclaration","scope":1772,"src":"11380:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1733,"name":"uint","nodeType":"ElementaryTypeName","src":"11380:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1736,"name":"_salt","nodeType":"VariableDeclaration","scope":1772,"src":"11399:10:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1735,"name":"uint","nodeType":"ElementaryTypeName","src":"11399:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11363:47:2"},"payable":false,"returnParameters":{"id":1740,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1739,"name":"","nodeType":"VariableDeclaration","scope":1772,"src":"11436:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1738,"name":"uint","nodeType":"ElementaryTypeName","src":"11436:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"11435:6:2"},"scope":2142,"src":"11343:375:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1819,"nodeType":"Block","src":"11966:578:2","statements":[{"assignments":[1780],"declarations":[{"constant":false,"id":1780,"name":"challengeID","nodeType":"VariableDeclaration","scope":1820,"src":"11976:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1779,"name":"uint","nodeType":"ElementaryTypeName","src":"11976:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1785,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1781,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"11995:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1783,"indexExpression":{"argumentTypes":null,"id":1782,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1774,"src":"12004:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"11995:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1784,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"11995:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"11976:53:2"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1812,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1800,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1795,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1787,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1774,"src":"12291:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1786,"name":"appWasMade","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1848,"src":"12280:10:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12280:24:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1794,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1789,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"12320:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1791,"indexExpression":{"argumentTypes":null,"id":1790,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1774,"src":"12329:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12320:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1792,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"applicationExpiry","nodeType":"MemberAccess","referencedDeclaration":1152,"src":"12320:40:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<","rightExpression":{"argumentTypes":null,"id":1793,"name":"now","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3928,"src":"12363:3:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"12320:46:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12280:86:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"id":1799,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"12382:28:2","subExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1797,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1774,"src":"12397:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1796,"name":"isWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1833,"src":"12383:13:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1798,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"12383:27:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12280:130:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1803,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1801,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1780,"src":"12427:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1802,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"12442:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"12427:16:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1809,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1804,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"12447:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1806,"indexExpression":{"argumentTypes":null,"id":1805,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1780,"src":"12458:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12447:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1807,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"12447:32:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"74727565","id":1808,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12483:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"12447:40:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12427:60:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":1811,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"12426:62:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"12280:208:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":1816,"nodeType":"IfStatement","src":"12263:252:2","trueBody":{"id":1815,"nodeType":"Block","src":"12499:16:2","statements":[{"expression":{"argumentTypes":null,"hexValue":"74727565","id":1813,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12508:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"functionReturnParameters":1778,"id":1814,"nodeType":"Return","src":"12501:11:2"}]}},{"expression":{"argumentTypes":null,"hexValue":"66616c7365","id":1817,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"12532:5:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},"functionReturnParameters":1778,"id":1818,"nodeType":"Return","src":"12525:12:2"}]},"documentation":"@dev Determines whether the given listingHash be whitelisted.\n@param _listingHash The listingHash whose status is to be examined","id":1820,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"canBeWhitelisted","nodeType":"FunctionDefinition","parameters":{"id":1775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1774,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1820,"src":"11917:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1773,"name":"bytes32","nodeType":"ElementaryTypeName","src":"11917:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"11916:22:2"},"payable":false,"returnParameters":{"id":1778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1777,"name":"","nodeType":"VariableDeclaration","scope":1820,"src":"11960:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1776,"name":"bool","nodeType":"ElementaryTypeName","src":"11960:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"11959:6:2"},"scope":2142,"src":"11891:653:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1832,"nodeType":"Block","src":"12800:58:2","statements":[{"expression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1827,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"12817:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1829,"indexExpression":{"argumentTypes":null,"id":1828,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1822,"src":"12826:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"12817:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1830,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"whitelisted","nodeType":"MemberAccess","referencedDeclaration":1154,"src":"12817:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1826,"id":1831,"nodeType":"Return","src":"12810:41:2"}]},"documentation":"@dev Returns true if the provided listingHash is whitelisted\n@param _listingHash The listingHash whose status is to be examined","id":1833,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"isWhitelisted","nodeType":"FunctionDefinition","parameters":{"id":1823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1822,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1833,"src":"12739:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1821,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12739:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"12738:22:2"},"payable":false,"returnParameters":{"id":1826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1825,"name":"whitelisted","nodeType":"VariableDeclaration","scope":1833,"src":"12782:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1824,"name":"bool","nodeType":"ElementaryTypeName","src":"12782:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"12781:18:2"},"scope":2142,"src":"12716:142:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1847,"nodeType":"Block","src":"13104:68:2","statements":[{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1840,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"13121:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1842,"indexExpression":{"argumentTypes":null,"id":1841,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1835,"src":"13130:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13121:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1843,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"applicationExpiry","nodeType":"MemberAccess","referencedDeclaration":1152,"src":"13121:40:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1844,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13164:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13121:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1839,"id":1846,"nodeType":"Return","src":"13114:51:2"}]},"documentation":"@dev Returns true if apply was called for this listingHash\n@param _listingHash The listingHash whose status is to be examined","id":1848,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"appWasMade","nodeType":"FunctionDefinition","parameters":{"id":1836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1835,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1848,"src":"13048:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1834,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13048:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"13047:22:2"},"payable":false,"returnParameters":{"id":1839,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1838,"name":"exists","nodeType":"VariableDeclaration","scope":1848,"src":"13091:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1837,"name":"bool","nodeType":"ElementaryTypeName","src":"13091:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"13090:13:2"},"scope":2142,"src":"13028:144:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1876,"nodeType":"Block","src":"13434:165:2","statements":[{"assignments":[1856],"declarations":[{"constant":false,"id":1856,"name":"challengeID","nodeType":"VariableDeclaration","scope":1877,"src":"13444:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1855,"name":"uint","nodeType":"ElementaryTypeName","src":"13444:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1861,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1857,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"13463:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1859,"indexExpression":{"argumentTypes":null,"id":1858,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13472:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13463:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1860,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"13463:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13444:53:2"},{"expression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1862,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"13516:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1864,"indexExpression":{"argumentTypes":null,"id":1863,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1850,"src":"13525:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13516:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1865,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"13516:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1866,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"13553:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"13516:38:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"id":1872,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"13558:33:2","subExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1868,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"13559:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1870,"indexExpression":{"argumentTypes":null,"id":1869,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1856,"src":"13570:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13559:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1871,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"13559:32:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"13516:75:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"id":1874,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"13515:77:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1854,"id":1875,"nodeType":"Return","src":"13508:84:2"}]},"documentation":"@dev Returns true if the application/listingHash has an unresolved challenge\n@param _listingHash The listingHash whose status is to be examined","id":1877,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"challengeExists","nodeType":"FunctionDefinition","parameters":{"id":1851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1850,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1877,"src":"13385:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1849,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13385:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"13384:22:2"},"payable":false,"returnParameters":{"id":1854,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1853,"name":"","nodeType":"VariableDeclaration","scope":1877,"src":"13428:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1852,"name":"bool","nodeType":"ElementaryTypeName","src":"13428:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"13427:6:2"},"scope":2142,"src":"13360:239:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1902,"nodeType":"Block","src":"13927:166:2","statements":[{"assignments":[1885],"declarations":[{"constant":false,"id":1885,"name":"challengeID","nodeType":"VariableDeclaration","scope":1903,"src":"13937:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1884,"name":"uint","nodeType":"ElementaryTypeName","src":"13937:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1890,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1886,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"13956:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1888,"indexExpression":{"argumentTypes":null,"id":1887,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1879,"src":"13965:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"13956:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1889,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"13956:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"13937:53:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1893,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1879,"src":"14025:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":1892,"name":"challengeExists","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1877,"src":"14009:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_bool_$","typeString":"function (bytes32) view returns (bool)"}},"id":1894,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14009:29:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1891,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"14001:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1895,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14001:38:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1896,"nodeType":"ExpressionStatement","src":"14001:38:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1899,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1885,"src":"14074:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1897,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"14057:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1898,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pollEnded","nodeType":"MemberAccess","referencedDeclaration":3243,"src":"14057:16:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":1900,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14057:29:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1883,"id":1901,"nodeType":"Return","src":"14050:36:2"}]},"documentation":"@dev Determines whether voting has concluded in a challenge for a given\nlistingHash. Throws if no challenge exists.\n@param _listingHash A listingHash with an unresolved challenge","id":1903,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"challengeCanBeResolved","nodeType":"FunctionDefinition","parameters":{"id":1880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1879,"name":"_listingHash","nodeType":"VariableDeclaration","scope":1903,"src":"13878:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1878,"name":"bytes32","nodeType":"ElementaryTypeName","src":"13878:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"13877:22:2"},"payable":false,"returnParameters":{"id":1883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1882,"name":"","nodeType":"VariableDeclaration","scope":1903,"src":"13921:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1881,"name":"bool","nodeType":"ElementaryTypeName","src":"13921:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"13920:6:2"},"scope":2142,"src":"13846:247:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1951,"nodeType":"Block","src":"14352:403:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":1920,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":1915,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"14370:34:2","subExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1911,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"14371:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1913,"indexExpression":{"argumentTypes":null,"id":1912,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14382:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14371:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1914,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"14371:33:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"&&","rightExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1918,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14425:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1916,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"14408:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"pollEnded","nodeType":"MemberAccess","referencedDeclaration":3243,"src":"14408:16:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":1919,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14408:30:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"14370:68:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":1910,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"14362:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":1921,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14362:77:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":1922,"nodeType":"ExpressionStatement","src":"14362:77:2"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1928,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1925,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14571:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1923,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"14525:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getTotalNumberOfTokensForWinningOption","nodeType":"MemberAccess","referencedDeclaration":3222,"src":"14525:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":1926,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"14525:59:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":1927,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14588:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"14525:64:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":1937,"nodeType":"IfStatement","src":"14521:136:2","trueBody":{"id":1936,"nodeType":"Block","src":"14591:66:2","statements":[{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1934,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"32","id":1929,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14612:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1930,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"14616:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1932,"indexExpression":{"argumentTypes":null,"id":1931,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14627:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14616:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1933,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stake","nodeType":"MemberAccess","referencedDeclaration":1169,"src":"14616:30:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14612:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1909,"id":1935,"nodeType":"Return","src":"14605:41:2"}]}},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1949,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"components":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":1943,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"hexValue":"32","id":1938,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"14675:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1939,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"14679:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1941,"indexExpression":{"argumentTypes":null,"id":1940,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14690:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14679:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1942,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"stake","nodeType":"MemberAccess","referencedDeclaration":1169,"src":"14679:30:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14675:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"id":1944,"isConstant":false,"isInlineArray":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"TupleExpression","src":"14674:36:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1945,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"14713:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1947,"indexExpression":{"argumentTypes":null,"id":1946,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1905,"src":"14724:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"14713:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1948,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":1163,"src":"14713:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"14674:74:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":1909,"id":1950,"nodeType":"Return","src":"14667:81:2"}]},"documentation":"@dev Determines the number of tokens awarded to the winning party in a challenge.\n@param _challengeID The challengeID to determine a reward for","id":1952,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"determineReward","nodeType":"FunctionDefinition","parameters":{"id":1906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1905,"name":"_challengeID","nodeType":"VariableDeclaration","scope":1952,"src":"14306:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1904,"name":"uint","nodeType":"ElementaryTypeName","src":"14306:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14305:19:2"},"payable":false,"returnParameters":{"id":1909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1908,"name":"","nodeType":"VariableDeclaration","scope":1952,"src":"14346:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1907,"name":"uint","nodeType":"ElementaryTypeName","src":"14346:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"14345:6:2"},"scope":2142,"src":"14281:474:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":1968,"nodeType":"Block","src":"15065:66:2","statements":[{"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1961,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"15080:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1963,"indexExpression":{"argumentTypes":null,"id":1962,"name":"_challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1954,"src":"15091:12:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15080:24:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1964,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"tokenClaims","nodeType":"MemberAccess","referencedDeclaration":1175,"src":"15080:36:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_address_$_t_bool_$","typeString":"mapping(address => bool)"}},"id":1966,"indexExpression":{"argumentTypes":null,"id":1965,"name":"_voter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1956,"src":"15117:6:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15080:44:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"functionReturnParameters":1960,"id":1967,"nodeType":"Return","src":"15073:51:2"}]},"documentation":"@dev Getter for Challenge tokenClaims mappings\n@param _challengeID The challengeID to query\n@param _voter The voter whose claim status to query for the provided challengeID","id":1969,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"tokenClaims","nodeType":"FunctionDefinition","parameters":{"id":1957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1954,"name":"_challengeID","nodeType":"VariableDeclaration","scope":1969,"src":"15003:17:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1953,"name":"uint","nodeType":"ElementaryTypeName","src":"15003:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":1956,"name":"_voter","nodeType":"VariableDeclaration","scope":1969,"src":"15022:14:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":1955,"name":"address","nodeType":"ElementaryTypeName","src":"15022:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"src":"15002:35:2"},"payable":false,"returnParameters":{"id":1960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1959,"name":"","nodeType":"VariableDeclaration","scope":1969,"src":"15059:4:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":1958,"name":"bool","nodeType":"ElementaryTypeName","src":"15059:4:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"value":null,"visibility":"internal"}],"src":"15058:6:2"},"scope":2142,"src":"14982:149:2","stateMutability":"view","superFunction":null,"visibility":"public"},{"body":{"id":2063,"nodeType":"Block","src":"15529:1344:2","statements":[{"assignments":[1975],"declarations":[{"constant":false,"id":1975,"name":"challengeID","nodeType":"VariableDeclaration","scope":2064,"src":"15539:16:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1974,"name":"uint","nodeType":"ElementaryTypeName","src":"15539:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1980,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1976,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"15558:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":1978,"indexExpression":{"argumentTypes":null,"id":1977,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"15567:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15558:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":1979,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challengeID","nodeType":"MemberAccess","referencedDeclaration":1160,"src":"15558:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15539:53:2"},{"assignments":[1982],"declarations":[{"constant":false,"id":1982,"name":"reward","nodeType":"VariableDeclaration","scope":2064,"src":"15725:11:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":1981,"name":"uint","nodeType":"ElementaryTypeName","src":"15725:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":1986,"initialValue":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":1984,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"15755:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":1983,"name":"determineReward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1952,"src":"15739:15:2","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view returns (uint256)"}},"id":1985,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"15739:28:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"15725:42:2"},{"expression":{"argumentTypes":null,"id":1992,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1987,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"15828:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1989,"indexExpression":{"argumentTypes":null,"id":1988,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"15839:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15828:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1990,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"resolved","nodeType":"MemberAccess","referencedDeclaration":1167,"src":"15828:32:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":1991,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"15863:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"15828:39:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":1993,"nodeType":"ExpressionStatement","src":"15828:39:2"},{"expression":{"argumentTypes":null,"id":2002,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":1994,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"15969:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":1996,"indexExpression":{"argumentTypes":null,"id":1995,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"15980:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"15969:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":1997,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"totalTokens","nodeType":"MemberAccess","referencedDeclaration":1171,"src":"15969:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2000,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16065:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":1998,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"16019:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":1999,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"getTotalNumberOfTokensForWinningOption","nodeType":"MemberAccess","referencedDeclaration":3222,"src":"16019:45:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_uint256_$","typeString":"function (uint256) view external returns (uint256)"}},"id":2001,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16019:58:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"15969:108:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2003,"nodeType":"ExpressionStatement","src":"15969:108:2"},{"condition":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2006,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16142:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2004,"name":"voting","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1188,"src":"16126:6:2","typeDescriptions":{"typeIdentifier":"t_contract$_PLCRVoting_$3524","typeString":"contract PLCRVoting"}},"id":2005,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"isPassed","nodeType":"MemberAccess","referencedDeclaration":3194,"src":"16126:15:2","typeDescriptions":{"typeIdentifier":"t_function_external_view$_t_uint256_$returns$_t_bool_$","typeString":"function (uint256) view external returns (bool)"}},"id":2007,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16126:28:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2061,"nodeType":"Block","src":"16548:319:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2034,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"16575:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2033,"name":"resetListing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2141,"src":"16562:12:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2035,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16562:26:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2036,"nodeType":"ExpressionStatement","src":"16562:26:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2040,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"16678:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":2042,"indexExpression":{"argumentTypes":null,"id":2041,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16689:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16678:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":2043,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"challenger","nodeType":"MemberAccess","referencedDeclaration":1165,"src":"16678:34:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2044,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1982,"src":"16714:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2038,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"16663:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2039,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"16663:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":2045,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16663:58:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2037,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"16655:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16655:67:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2047,"nodeType":"ExpressionStatement","src":"16655:67:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2049,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"16757:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":2050,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16771:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2051,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"16784:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":2053,"indexExpression":{"argumentTypes":null,"id":2052,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16795:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16784:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":2054,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":1163,"src":"16784:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2055,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"16820:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":2057,"indexExpression":{"argumentTypes":null,"id":2056,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16831:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16820:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":2058,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"totalTokens","nodeType":"MemberAccess","referencedDeclaration":1171,"src":"16820:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2048,"name":"_ChallengeSucceeded","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1139,"src":"16737:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256)"}},"id":2059,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16737:119:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2060,"nodeType":"ExpressionStatement","src":"16737:119:2"}]},"id":2062,"nodeType":"IfStatement","src":"16122:745:2","trueBody":{"id":2032,"nodeType":"Block","src":"16156:325:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2009,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"16191:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2008,"name":"whitelistApplication","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2088,"src":"16170:20:2","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16170:34:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2011,"nodeType":"ExpressionStatement","src":"16170:34:2"},{"expression":{"argumentTypes":null,"id":2017,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2012,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"16291:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":2014,"indexExpression":{"argumentTypes":null,"id":2013,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"16300:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16291:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":2015,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"16291:38:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"Assignment","operator":"+=","rightHandSide":{"argumentTypes":null,"id":2016,"name":"reward","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1982,"src":"16333:6:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"16291:48:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":2018,"nodeType":"ExpressionStatement","src":"16291:48:2"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2020,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1971,"src":"16371:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"argumentTypes":null,"id":2021,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16385:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2022,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"16398:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":2024,"indexExpression":{"argumentTypes":null,"id":2023,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16409:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16398:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":2025,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"rewardPool","nodeType":"MemberAccess","referencedDeclaration":1163,"src":"16398:34:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2026,"name":"challenges","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1180,"src":"16434:10:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_uint256_$_t_struct$_Challenge_$1176_storage_$","typeString":"mapping(uint256 => struct Registry.Challenge storage ref)"}},"id":2028,"indexExpression":{"argumentTypes":null,"id":2027,"name":"challengeID","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1975,"src":"16445:11:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"16434:23:2","typeDescriptions":{"typeIdentifier":"t_struct$_Challenge_$1176_storage","typeString":"struct Registry.Challenge storage ref"}},"id":2029,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"totalTokens","nodeType":"MemberAccess","referencedDeclaration":1171,"src":"16434:35:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"id":2019,"name":"_ChallengeFailed","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1129,"src":"16354:16:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$_t_uint256_$_t_uint256_$_t_uint256_$returns$__$","typeString":"function (bytes32,uint256,uint256,uint256)"}},"id":2030,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"16354:116:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2031,"nodeType":"ExpressionStatement","src":"16354:116:2"}]}}]},"documentation":"@dev Determines the winner in a challenge. Rewards the winner tokens and\neither whitelists or de-whitelists the listingHash.\n@param _listingHash A listingHash with a challenge that is to be resolved","id":2064,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"resolveChallenge","nodeType":"FunctionDefinition","parameters":{"id":1972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":1971,"name":"_listingHash","nodeType":"VariableDeclaration","scope":2064,"src":"15499:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":1970,"name":"bytes32","nodeType":"ElementaryTypeName","src":"15499:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"15498:22:2"},"payable":false,"returnParameters":{"id":1973,"nodeType":"ParameterList","parameters":[],"src":"15529:0:2"},"scope":2142,"src":"15473:1400:2","stateMutability":"nonpayable","superFunction":null,"visibility":"private"},{"body":{"id":2087,"nodeType":"Block","src":"17281:150:2","statements":[{"condition":{"argumentTypes":null,"id":2073,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"!","prefix":true,"src":"17295:35:2","subExpression":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2069,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"17296:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":2071,"indexExpression":{"argumentTypes":null,"id":2070,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2066,"src":"17305:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17296:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":2072,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"whitelisted","nodeType":"MemberAccess","referencedDeclaration":1154,"src":"17296:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":2079,"nodeType":"IfStatement","src":"17291:83:2","trueBody":{"id":2078,"nodeType":"Block","src":"17332:42:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2075,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2066,"src":"17358:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2074,"name":"_ApplicationWhitelisted","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1103,"src":"17334:23:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2076,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17334:37:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2077,"nodeType":"ExpressionStatement","src":"17334:37:2"}]}},{"expression":{"argumentTypes":null,"id":2085,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"argumentTypes":null,"expression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2080,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"17383:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":2082,"indexExpression":{"argumentTypes":null,"id":2081,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2066,"src":"17392:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17383:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"id":2083,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"memberName":"whitelisted","nodeType":"MemberAccess","referencedDeclaration":1154,"src":"17383:34:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"argumentTypes":null,"hexValue":"74727565","id":2084,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"17420:4:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"},"src":"17383:41:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":2086,"nodeType":"ExpressionStatement","src":"17383:41:2"}]},"documentation":"@dev Called by updateStatus() if the applicationExpiry date passed without a\nchallenge being made. Called by resolveChallenge() if an\napplication/listing beat a challenge.\n@param _listingHash The listingHash of an application/listingHash to be whitelisted","id":2088,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"whitelistApplication","nodeType":"FunctionDefinition","parameters":{"id":2067,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2066,"name":"_listingHash","nodeType":"VariableDeclaration","scope":2088,"src":"17251:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2065,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17251:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"17250:22:2"},"payable":false,"returnParameters":{"id":2068,"nodeType":"ParameterList","parameters":[],"src":"17281:0:2"},"scope":2142,"src":"17221:210:2","stateMutability":"nonpayable","superFunction":null,"visibility":"private"},{"body":{"id":2140,"nodeType":"Block","src":"17655:654:2","statements":[{"assignments":[2094],"declarations":[{"constant":false,"id":2094,"name":"listing","nodeType":"VariableDeclaration","scope":2141,"src":"17665:23:2","stateVariable":false,"storageLocation":"storage","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"},"typeName":{"contractScope":null,"id":2093,"name":"Listing","nodeType":"UserDefinedTypeName","referencedDeclaration":1161,"src":"17665:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"value":null,"visibility":"internal"}],"id":2098,"initialValue":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2095,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"17691:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":2097,"indexExpression":{"argumentTypes":null,"id":2096,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"17700:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"nodeType":"IndexAccess","src":"17691:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"nodeType":"VariableDeclarationStatement","src":"17665:48:2"},{"condition":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2099,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"17807:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":2100,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"whitelisted","nodeType":"MemberAccess","referencedDeclaration":1154,"src":"17807:19:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":{"id":2110,"nodeType":"Block","src":"17888:58:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2107,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"17922:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2106,"name":"_ApplicationRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1107,"src":"17902:19:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2108,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17902:33:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2109,"nodeType":"ExpressionStatement","src":"17902:33:2"}]},"id":2111,"nodeType":"IfStatement","src":"17803:143:2","trueBody":{"id":2105,"nodeType":"Block","src":"17828:54:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2102,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"17858:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"id":2101,"name":"_ListingRemoved","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1111,"src":"17842:15:2","typeDescriptions":{"typeIdentifier":"t_function_event_nonpayable$_t_bytes32_$returns$__$","typeString":"function (bytes32)"}},"id":2103,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"17842:29:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2104,"nodeType":"ExpressionStatement","src":"17842:29:2"}]}},{"assignments":[2113],"declarations":[{"constant":false,"id":2113,"name":"owner","nodeType":"VariableDeclaration","scope":2141,"src":"18003:13:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":2112,"name":"address","nodeType":"ElementaryTypeName","src":"18003:7:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"value":null,"visibility":"internal"}],"id":2116,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2114,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"18019:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":2115,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"owner","nodeType":"MemberAccess","referencedDeclaration":1156,"src":"18019:13:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"nodeType":"VariableDeclarationStatement","src":"18003:29:2"},{"assignments":[2118],"declarations":[{"constant":false,"id":2118,"name":"unstakedDeposit","nodeType":"VariableDeclaration","scope":2141,"src":"18042:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":2117,"name":"uint","nodeType":"ElementaryTypeName","src":"18042:4:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":2121,"initialValue":{"argumentTypes":null,"expression":{"argumentTypes":null,"id":2119,"name":"listing","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2094,"src":"18065:7:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage_ptr","typeString":"struct Registry.Listing storage pointer"}},"id":2120,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberName":"unstakedDeposit","nodeType":"MemberAccess","referencedDeclaration":1158,"src":"18065:23:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"18042:46:2"},{"expression":{"argumentTypes":null,"id":2125,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"delete","prefix":true,"src":"18098:29:2","subExpression":{"argumentTypes":null,"baseExpression":{"argumentTypes":null,"id":2122,"name":"listings","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1184,"src":"18105:8:2","typeDescriptions":{"typeIdentifier":"t_mapping$_t_bytes32_$_t_struct$_Listing_$1161_storage_$","typeString":"mapping(bytes32 => struct Registry.Listing storage ref)"}},"id":2124,"indexExpression":{"argumentTypes":null,"id":2123,"name":"_listingHash","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2090,"src":"18114:12:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":true,"nodeType":"IndexAccess","src":"18105:22:2","typeDescriptions":{"typeIdentifier":"t_struct$_Listing_$1161_storage","typeString":"struct Registry.Listing storage ref"}},"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2126,"nodeType":"ExpressionStatement","src":"18098:29:2"},{"condition":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":2129,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":2127,"name":"unstakedDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"18211:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"argumentTypes":null,"hexValue":"30","id":2128,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"18229:1:2","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"18211:19:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"falseBody":null,"id":2139,"nodeType":"IfStatement","src":"18207:96:2","trueBody":{"id":2138,"nodeType":"Block","src":"18231:72:2","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"arguments":[{"argumentTypes":null,"id":2133,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2113,"src":"18268:5:2","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},{"argumentTypes":null,"id":2134,"name":"unstakedDeposit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":2118,"src":"18275:15:2","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address","typeString":"address"},{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"argumentTypes":null,"id":2131,"name":"token","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":1186,"src":"18253:5:2","typeDescriptions":{"typeIdentifier":"t_contract$_EIP20Interface_$3818","typeString":"contract EIP20Interface"}},"id":2132,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberName":"transfer","nodeType":"MemberAccess","referencedDeclaration":3772,"src":"18253:14:2","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$_t_uint256_$returns$_t_bool_$","typeString":"function (address,uint256) external returns (bool)"}},"id":2135,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18253:38:2","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":2130,"name":"require","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3929,"src":"18245:7:2","typeDescriptions":{"typeIdentifier":"t_function_require_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":2136,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"18245:47:2","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":2137,"nodeType":"ExpressionStatement","src":"18245:47:2"}]}}]},"documentation":"@dev Deletes a listingHash from the whitelist and transfers tokens back to owner\n@param _listingHash The listing hash to delete","id":2141,"implemented":true,"isConstructor":false,"isDeclaredConst":false,"modifiers":[],"name":"resetListing","nodeType":"FunctionDefinition","parameters":{"id":2091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":2090,"name":"_listingHash","nodeType":"VariableDeclaration","scope":2141,"src":"17625:20:2","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":2089,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17625:7:2","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"value":null,"visibility":"internal"}],"src":"17624:22:2"},"payable":false,"returnParameters":{"id":2092,"nodeType":"ParameterList","parameters":[],"src":"17655:0:2"},"scope":2142,"src":"17603:706:2","stateMutability":"nonpayable","superFunction":null,"visibility":"private"}],"scope":2143,"src":"172:18139:2"}],"src":"0:18312:2"},"compiler":{"name":"solc","version":"0.4.21+commit.dfe3193c.Emscripten.clang"},"networks":{},"schemaVersion":"2.0.0","updatedAt":"2018-04-16T22:09:02.609Z"} /***/ }), /* 855 */ /***/ (function(module, exports) { -module.exports = {"contractName":"SafeMath","abi":[],"bytecode":"0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a72305820c2f132be95f5ee7b8e63b199064486d3800b42c0b6b3b6ae6e41a4e09c6a0a480029","deployedBytecode":"0x73000000000000000000000000000000000000000030146060604052600080fd00a165627a7a72305820c2f132be95f5ee7b8e63b199064486d3800b42c0b6b3b6ae6e41a4e09c6a0a480029"} +module.exports = {"contractName":"SafeMath","abi":[],"bytecode":"0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a72305820c2f132be95f5ee7b8e63b199064486d3800b42c0b6b3b6ae6e41a4e09c6a0a480029","deployedBytecode":"0x73000000000000000000000000000000000000000030146060604052600080fd00a165627a7a72305820c2f132be95f5ee7b8e63b199064486d3800b42c0b6b3b6ae6e41a4e09c6a0a480029","sourceMap":"117:698:8:-;;132:2:-1;166:7;155:9;146:7;137:37;252:7;246:14;243:1;238:23;232:4;229:33;270:1;265:20;;;;222:63;;265:20;274:9;222:63;;298:9;295:1;288:20;328:4;319:7;311:22;352:7;343;336:24","deployedSourceMap":"117:698:8:-;;;;;;;;","source":"pragma solidity ^0.4.11;\n\n\n/**\n * @title SafeMath\n * @dev Math operations with safety checks that throw on error\n */\nlibrary SafeMath {\n function mul(uint256 a, uint256 b) internal constant returns (uint256) {\n uint256 c = a * b;\n assert(a == 0 || c / a == b);\n return c;\n }\n\n function div(uint256 a, uint256 b) internal constant returns (uint256) {\n // assert(b > 0); // Solidity automatically throws when dividing by 0\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n return c;\n }\n\n function sub(uint256 a, uint256 b) internal constant returns (uint256) {\n assert(b <= a);\n return a - b;\n }\n\n function add(uint256 a, uint256 b) internal constant returns (uint256) {\n uint256 c = a + b;\n assert(c >= a);\n return c;\n }\n}\n","sourcePath":"zeppelin/math/SafeMath.sol","ast":{"absolutePath":"zeppelin/math/SafeMath.sol","exportedSymbols":{"SafeMath":[3913]},"id":3914,"nodeType":"SourceUnit","nodes":[{"id":3820,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:24:8"},{"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":"@title SafeMath\n@dev Math operations with safety checks that throw on error","fullyImplemented":true,"id":3913,"linearizedBaseContracts":[3913],"name":"SafeMath","nodeType":"ContractDefinition","nodes":[{"body":{"id":3849,"nodeType":"Block","src":"209:76:8","statements":[{"assignments":[3830],"declarations":[{"constant":false,"id":3830,"name":"c","nodeType":"VariableDeclaration","scope":3850,"src":"215:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3829,"name":"uint256","nodeType":"ElementaryTypeName","src":"215:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3834,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3831,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3822,"src":"227:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":3832,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3824,"src":"231:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"227:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"215:17:8"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3836,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3822,"src":"245:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":3837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"250:1:8","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"245:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3839,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3830,"src":"255:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"id":3840,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3822,"src":"259:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"255:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":3842,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3824,"src":"264:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"255:10:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"245:20:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3835,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"238:6:8","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"238:28:8","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3846,"nodeType":"ExpressionStatement","src":"238:28:8"},{"expression":{"argumentTypes":null,"id":3847,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3830,"src":"279:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3828,"id":3848,"nodeType":"Return","src":"272:8:8"}]},"documentation":null,"id":3850,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"mul","nodeType":"FunctionDefinition","parameters":{"id":3825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3822,"name":"a","nodeType":"VariableDeclaration","scope":3850,"src":"151:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3821,"name":"uint256","nodeType":"ElementaryTypeName","src":"151:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3824,"name":"b","nodeType":"VariableDeclaration","scope":3850,"src":"162:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3823,"name":"uint256","nodeType":"ElementaryTypeName","src":"162:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"150:22:8"},"payable":false,"returnParameters":{"id":3828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3827,"name":"","nodeType":"VariableDeclaration","scope":3850,"src":"200:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3826,"name":"uint256","nodeType":"ElementaryTypeName","src":"200:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"199:9:8"},"scope":3913,"src":"138:147:8","stateMutability":"view","superFunction":null,"visibility":"internal"},{"body":{"id":3867,"nodeType":"Block","src":"360:198:8","statements":[{"assignments":[3860],"declarations":[{"constant":false,"id":3860,"name":"c","nodeType":"VariableDeclaration","scope":3868,"src":"440:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3859,"name":"uint256","nodeType":"ElementaryTypeName","src":"440:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3864,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3861,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3852,"src":"452:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"id":3862,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3854,"src":"456:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"452:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"440:17:8"},{"expression":{"argumentTypes":null,"id":3865,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3860,"src":"552:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3858,"id":3866,"nodeType":"Return","src":"545:8:8"}]},"documentation":null,"id":3868,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"div","nodeType":"FunctionDefinition","parameters":{"id":3855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3852,"name":"a","nodeType":"VariableDeclaration","scope":3868,"src":"302:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3851,"name":"uint256","nodeType":"ElementaryTypeName","src":"302:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3854,"name":"b","nodeType":"VariableDeclaration","scope":3868,"src":"313:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3853,"name":"uint256","nodeType":"ElementaryTypeName","src":"313:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"301:22:8"},"payable":false,"returnParameters":{"id":3858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3857,"name":"","nodeType":"VariableDeclaration","scope":3868,"src":"351:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3856,"name":"uint256","nodeType":"ElementaryTypeName","src":"351:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"350:9:8"},"scope":3913,"src":"289:269:8","stateMutability":"view","superFunction":null,"visibility":"internal"},{"body":{"id":3887,"nodeType":"Block","src":"633:43:8","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3878,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3872,"src":"646:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"id":3879,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3870,"src":"651:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"646:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3877,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"639:6:8","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"639:14:8","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3882,"nodeType":"ExpressionStatement","src":"639:14:8"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3883,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3870,"src":"666:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"id":3884,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3872,"src":"670:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"666:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3876,"id":3886,"nodeType":"Return","src":"659:12:8"}]},"documentation":null,"id":3888,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"sub","nodeType":"FunctionDefinition","parameters":{"id":3873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3870,"name":"a","nodeType":"VariableDeclaration","scope":3888,"src":"575:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3869,"name":"uint256","nodeType":"ElementaryTypeName","src":"575:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3872,"name":"b","nodeType":"VariableDeclaration","scope":3888,"src":"586:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3871,"name":"uint256","nodeType":"ElementaryTypeName","src":"586:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"574:22:8"},"payable":false,"returnParameters":{"id":3876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3875,"name":"","nodeType":"VariableDeclaration","scope":3888,"src":"624:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3874,"name":"uint256","nodeType":"ElementaryTypeName","src":"624:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"623:9:8"},"scope":3913,"src":"562:114:8","stateMutability":"view","superFunction":null,"visibility":"internal"},{"body":{"id":3911,"nodeType":"Block","src":"751:62:8","statements":[{"assignments":[3898],"declarations":[{"constant":false,"id":3898,"name":"c","nodeType":"VariableDeclaration","scope":3912,"src":"757:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3897,"name":"uint256","nodeType":"ElementaryTypeName","src":"757:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3902,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3899,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3890,"src":"769:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"id":3900,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3892,"src":"773:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"769:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"757:17:8"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3904,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3898,"src":"787:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":3905,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3890,"src":"792:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"787:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3903,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"780:6:8","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"780:14:8","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3908,"nodeType":"ExpressionStatement","src":"780:14:8"},{"expression":{"argumentTypes":null,"id":3909,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3898,"src":"807:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3896,"id":3910,"nodeType":"Return","src":"800:8:8"}]},"documentation":null,"id":3912,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"add","nodeType":"FunctionDefinition","parameters":{"id":3893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3890,"name":"a","nodeType":"VariableDeclaration","scope":3912,"src":"693:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3889,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3892,"name":"b","nodeType":"VariableDeclaration","scope":3912,"src":"704:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3891,"name":"uint256","nodeType":"ElementaryTypeName","src":"704:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"692:22:8"},"payable":false,"returnParameters":{"id":3896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3895,"name":"","nodeType":"VariableDeclaration","scope":3912,"src":"742:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3894,"name":"uint256","nodeType":"ElementaryTypeName","src":"742:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"741:9:8"},"scope":3913,"src":"680:133:8","stateMutability":"view","superFunction":null,"visibility":"internal"}],"scope":3914,"src":"117:698:8"}],"src":"0:816:8"},"legacyAST":{"absolutePath":"zeppelin/math/SafeMath.sol","exportedSymbols":{"SafeMath":[3913]},"id":3914,"nodeType":"SourceUnit","nodes":[{"id":3820,"literals":["solidity","^","0.4",".11"],"nodeType":"PragmaDirective","src":"0:24:8"},{"baseContracts":[],"contractDependencies":[],"contractKind":"library","documentation":"@title SafeMath\n@dev Math operations with safety checks that throw on error","fullyImplemented":true,"id":3913,"linearizedBaseContracts":[3913],"name":"SafeMath","nodeType":"ContractDefinition","nodes":[{"body":{"id":3849,"nodeType":"Block","src":"209:76:8","statements":[{"assignments":[3830],"declarations":[{"constant":false,"id":3830,"name":"c","nodeType":"VariableDeclaration","scope":3850,"src":"215:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3829,"name":"uint256","nodeType":"ElementaryTypeName","src":"215:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3834,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3833,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3831,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3822,"src":"227:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"argumentTypes":null,"id":3832,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3824,"src":"231:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"227:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"215:17:8"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_bool","typeString":"bool"},"id":3844,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3838,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3836,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3822,"src":"245:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"hexValue":"30","id":3837,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"250:1:8","subdenomination":null,"typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},"src":"245:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"nodeType":"BinaryOperation","operator":"||","rightExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3843,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3841,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3839,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3830,"src":"255:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"id":3840,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3822,"src":"259:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"255:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"==","rightExpression":{"argumentTypes":null,"id":3842,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3824,"src":"264:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"255:10:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"src":"245:20:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3835,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"238:6:8","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3845,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"238:28:8","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3846,"nodeType":"ExpressionStatement","src":"238:28:8"},{"expression":{"argumentTypes":null,"id":3847,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3830,"src":"279:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3828,"id":3848,"nodeType":"Return","src":"272:8:8"}]},"documentation":null,"id":3850,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"mul","nodeType":"FunctionDefinition","parameters":{"id":3825,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3822,"name":"a","nodeType":"VariableDeclaration","scope":3850,"src":"151:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3821,"name":"uint256","nodeType":"ElementaryTypeName","src":"151:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3824,"name":"b","nodeType":"VariableDeclaration","scope":3850,"src":"162:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3823,"name":"uint256","nodeType":"ElementaryTypeName","src":"162:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"150:22:8"},"payable":false,"returnParameters":{"id":3828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3827,"name":"","nodeType":"VariableDeclaration","scope":3850,"src":"200:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3826,"name":"uint256","nodeType":"ElementaryTypeName","src":"200:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"199:9:8"},"scope":3913,"src":"138:147:8","stateMutability":"view","superFunction":null,"visibility":"internal"},{"body":{"id":3867,"nodeType":"Block","src":"360:198:8","statements":[{"assignments":[3860],"declarations":[{"constant":false,"id":3860,"name":"c","nodeType":"VariableDeclaration","scope":3868,"src":"440:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3859,"name":"uint256","nodeType":"ElementaryTypeName","src":"440:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3864,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3863,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3861,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3852,"src":"452:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"/","rightExpression":{"argumentTypes":null,"id":3862,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3854,"src":"456:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"452:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"440:17:8"},{"expression":{"argumentTypes":null,"id":3865,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3860,"src":"552:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3858,"id":3866,"nodeType":"Return","src":"545:8:8"}]},"documentation":null,"id":3868,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"div","nodeType":"FunctionDefinition","parameters":{"id":3855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3852,"name":"a","nodeType":"VariableDeclaration","scope":3868,"src":"302:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3851,"name":"uint256","nodeType":"ElementaryTypeName","src":"302:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3854,"name":"b","nodeType":"VariableDeclaration","scope":3868,"src":"313:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3853,"name":"uint256","nodeType":"ElementaryTypeName","src":"313:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"301:22:8"},"payable":false,"returnParameters":{"id":3858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3857,"name":"","nodeType":"VariableDeclaration","scope":3868,"src":"351:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3856,"name":"uint256","nodeType":"ElementaryTypeName","src":"351:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"350:9:8"},"scope":3913,"src":"289:269:8","stateMutability":"view","superFunction":null,"visibility":"internal"},{"body":{"id":3887,"nodeType":"Block","src":"633:43:8","statements":[{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3880,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3878,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3872,"src":"646:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"<=","rightExpression":{"argumentTypes":null,"id":3879,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3870,"src":"651:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"646:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3877,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"639:6:8","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3881,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"639:14:8","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3882,"nodeType":"ExpressionStatement","src":"639:14:8"},{"expression":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3885,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3883,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3870,"src":"666:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"argumentTypes":null,"id":3884,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3872,"src":"670:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"666:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3876,"id":3886,"nodeType":"Return","src":"659:12:8"}]},"documentation":null,"id":3888,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"sub","nodeType":"FunctionDefinition","parameters":{"id":3873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3870,"name":"a","nodeType":"VariableDeclaration","scope":3888,"src":"575:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3869,"name":"uint256","nodeType":"ElementaryTypeName","src":"575:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3872,"name":"b","nodeType":"VariableDeclaration","scope":3888,"src":"586:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3871,"name":"uint256","nodeType":"ElementaryTypeName","src":"586:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"574:22:8"},"payable":false,"returnParameters":{"id":3876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3875,"name":"","nodeType":"VariableDeclaration","scope":3888,"src":"624:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3874,"name":"uint256","nodeType":"ElementaryTypeName","src":"624:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"623:9:8"},"scope":3913,"src":"562:114:8","stateMutability":"view","superFunction":null,"visibility":"internal"},{"body":{"id":3911,"nodeType":"Block","src":"751:62:8","statements":[{"assignments":[3898],"declarations":[{"constant":false,"id":3898,"name":"c","nodeType":"VariableDeclaration","scope":3912,"src":"757:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3897,"name":"uint256","nodeType":"ElementaryTypeName","src":"757:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"id":3902,"initialValue":{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3899,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3890,"src":"769:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"argumentTypes":null,"id":3900,"name":"b","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3892,"src":"773:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"769:5:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"VariableDeclarationStatement","src":"757:17:8"},{"expression":{"argumentTypes":null,"arguments":[{"argumentTypes":null,"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":3906,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"argumentTypes":null,"id":3904,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3898,"src":"787:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":">=","rightExpression":{"argumentTypes":null,"id":3905,"name":"a","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3890,"src":"792:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"787:6:8","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"id":3903,"name":"assert","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3916,"src":"780:6:8","typeDescriptions":{"typeIdentifier":"t_function_assert_pure$_t_bool_$returns$__$","typeString":"function (bool) pure"}},"id":3907,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"names":[],"nodeType":"FunctionCall","src":"780:14:8","typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":3908,"nodeType":"ExpressionStatement","src":"780:14:8"},{"expression":{"argumentTypes":null,"id":3909,"name":"c","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":3898,"src":"807:1:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"functionReturnParameters":3896,"id":3910,"nodeType":"Return","src":"800:8:8"}]},"documentation":null,"id":3912,"implemented":true,"isConstructor":false,"isDeclaredConst":true,"modifiers":[],"name":"add","nodeType":"FunctionDefinition","parameters":{"id":3893,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3890,"name":"a","nodeType":"VariableDeclaration","scope":3912,"src":"693:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3889,"name":"uint256","nodeType":"ElementaryTypeName","src":"693:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"},{"constant":false,"id":3892,"name":"b","nodeType":"VariableDeclaration","scope":3912,"src":"704:9:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3891,"name":"uint256","nodeType":"ElementaryTypeName","src":"704:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"692:22:8"},"payable":false,"returnParameters":{"id":3896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":3895,"name":"","nodeType":"VariableDeclaration","scope":3912,"src":"742:7:8","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":3894,"name":"uint256","nodeType":"ElementaryTypeName","src":"742:7:8","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"value":null,"visibility":"internal"}],"src":"741:9:8"},"scope":3913,"src":"680:133:8","stateMutability":"view","superFunction":null,"visibility":"internal"}],"scope":3914,"src":"117:698:8"}],"src":"0:816:8"},"compiler":{"name":"solc","version":"0.4.21+commit.dfe3193c.Emscripten.clang"},"networks":{},"schemaVersion":"2.0.0","updatedAt":"2018-04-16T22:09:02.623Z"} /***/ }), /* 856 */ @@ -196016,127 +196053,127 @@ webpackContext.id = 856; /* 857 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Avatar","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"whitelist","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeFromWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOnWhiteList","outputs":[{"name":"","type":"bool"}],"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"}],"bytecode":"0x6060604052341561000f57600080fd5b604051602080610c6583398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610b69806100fc6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b872dd146100935780637b1039991461010c5780637ebd1b30146101615780638ab1d681146101c45780638da5cb5b146101fd578063e43252d714610252578063ecb223ab1461028b578063f2fde38b146102dc575b600080fd5b341561009e57600080fd5b6100f2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610315565b604051808215151515815260200191505060405180910390f35b341561011757600080fd5b61011f6104fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016c57600080fd5b6101826004808035906020019091905050610523565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101cf57600080fd5b6101fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610562565b005b341561020857600080fd5b61021061068e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025d57600080fd5b610289600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106b3565b005b341561029657600080fd5b6102c2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108f3565b604051808215151515815260200191505060405180910390f35b34156102e757600080fd5b610313600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610997565b005b600080610321336108f3565b151561032c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156103ed57600080fd5b5af115156103fa57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156104dc57600080fd5b5af115156104e957600080fd5b505050604051805190509150509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028181548110151561053257fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105bf57600080fd5b600090505b60028054905081101561068a578173ffffffffffffffffffffffffffffffffffffffff166002828154811015156105f757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561067d5760028181548110151561064e57fe5b906000526020600020900160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b80806001019150506105c4565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561071157600080fd5b6002805490509150600090505b60028054905081101561081e578273ffffffffffffffffffffffffffffffffffffffff1660028281548110151561075157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561079e576108ee565b600073ffffffffffffffffffffffffffffffffffffffff166002828154811015156107c557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610811578091505b808060010191505061071e565b600280549050821415610893576002805480600101828161083f9190610aec565b9160005260206000209001600085909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506108ed565b826002838154811015156108a357fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b505050565b600080600090505b60028054905081101561098c578273ffffffffffffffffffffffffffffffffffffffff1660028281548110151561092e57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561097f5760019150610991565b80806001019150506108fb565b600091505b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a2e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b815481835581811511610b1357818360005260206000209182019101610b129190610b18565b5b505050565b610b3a91905b80821115610b36576000816000905550600101610b1e565b5090565b905600a165627a7a72305820b46894e8d7afd650ea682f30a1bf3a659d6f4efe457b87f8f2cd703a6b039b1e0029","deployedBytecode":"0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b872dd146100935780637b1039991461010c5780637ebd1b30146101615780638ab1d681146101c45780638da5cb5b146101fd578063e43252d714610252578063ecb223ab1461028b578063f2fde38b146102dc575b600080fd5b341561009e57600080fd5b6100f2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610315565b604051808215151515815260200191505060405180910390f35b341561011757600080fd5b61011f6104fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016c57600080fd5b6101826004808035906020019091905050610523565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101cf57600080fd5b6101fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610562565b005b341561020857600080fd5b61021061068e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025d57600080fd5b610289600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106b3565b005b341561029657600080fd5b6102c2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108f3565b604051808215151515815260200191505060405180910390f35b34156102e757600080fd5b610313600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610997565b005b600080610321336108f3565b151561032c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156103ed57600080fd5b5af115156103fa57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156104dc57600080fd5b5af115156104e957600080fd5b505050604051805190509150509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028181548110151561053257fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105bf57600080fd5b600090505b60028054905081101561068a578173ffffffffffffffffffffffffffffffffffffffff166002828154811015156105f757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561067d5760028181548110151561064e57fe5b906000526020600020900160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b80806001019150506105c4565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561071157600080fd5b6002805490509150600090505b60028054905081101561081e578273ffffffffffffffffffffffffffffffffffffffff1660028281548110151561075157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561079e576108ee565b600073ffffffffffffffffffffffffffffffffffffffff166002828154811015156107c557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610811578091505b808060010191505061071e565b600280549050821415610893576002805480600101828161083f9190610aec565b9160005260206000209001600085909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506108ed565b826002838154811015156108a357fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b505050565b600080600090505b60028054905081101561098c578273ffffffffffffffffffffffffffffffffffffffff1660028281548110151561092e57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561097f5760019150610991565b80806001019150506108fb565b600091505b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a2e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b815481835581811511610b1357818360005260206000209182019101610b129190610b18565b5b505050565b610b3a91905b80821115610b36576000816000905550600101610b1e565b5090565b905600a165627a7a72305820b46894e8d7afd650ea682f30a1bf3a659d6f4efe457b87f8f2cd703a6b039b1e0029"} +module.exports = {"contractName":"Avatar","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"whitelist","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"addToWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"removeFromWhitelist","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"isOnWhiteList","outputs":[{"name":"","type":"bool"}],"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"}],"bytecode":"0x6060604052341561000f57600080fd5b604051602080610c6583398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610b69806100fc6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806323b872dd146100935780637b1039991461010c5780637ebd1b30146101615780638ab1d681146101c45780638da5cb5b146101fd578063e43252d714610252578063ecb223ab1461028b578063f2fde38b146102dc575b600080fd5b341561009e57600080fd5b6100f2600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610315565b604051808215151515815260200191505060405180910390f35b341561011757600080fd5b61011f6104fd565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016c57600080fd5b6101826004808035906020019091905050610523565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101cf57600080fd5b6101fb600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610562565b005b341561020857600080fd5b61021061068e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561025d57600080fd5b610289600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106b3565b005b341561029657600080fd5b6102c2600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506108f3565b604051808215151515815260200191505060405180910390f35b34156102e757600080fd5b610313600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610997565b005b600080610321336108f3565b151561032c57600080fd5b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b15156103ed57600080fd5b5af115156103fa57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff166323b872dd8686866040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b15156104dc57600080fd5b5af115156104e957600080fd5b505050604051805190509150509392505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60028181548110151561053257fe5b90600052602060002090016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105bf57600080fd5b600090505b60028054905081101561068a578173ffffffffffffffffffffffffffffffffffffffff166002828154811015156105f757fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561067d5760028181548110151561064e57fe5b906000526020600020900160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b80806001019150506105c4565b5050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561071157600080fd5b6002805490509150600090505b60028054905081101561081e578273ffffffffffffffffffffffffffffffffffffffff1660028281548110151561075157fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561079e576108ee565b600073ffffffffffffffffffffffffffffffffffffffff166002828154811015156107c557fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415610811578091505b808060010191505061071e565b600280549050821415610893576002805480600101828161083f9190610aec565b9160005260206000209001600085909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506108ed565b826002838154811015156108a357fe5b906000526020600020900160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b505050565b600080600090505b60028054905081101561098c578273ffffffffffffffffffffffffffffffffffffffff1660028281548110151561092e57fe5b906000526020600020900160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561097f5760019150610991565b80806001019150506108fb565b600091505b50919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610a2e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b815481835581811511610b1357818360005260206000209182019101610b129190610b18565b5b505050565b610b3a91905b80821115610b36576000816000905550600101610b1e565b5090565b905600a165627a7a72305820b46894e8d7afd650ea682f30a1bf3a659d6f4efe457b87f8f2cd703a6b039b1e0029"} /***/ }), /* 858 */ /***/ (function(module, exports) { -module.exports = {"contractName":"BasicToken","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6103b48061001e6000396000f300606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b61020a82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461035190919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061029f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036a90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561035f57fe5b818303905092915050565b600080828401905083811015151561037e57fe5b80915050929150505600a165627a7a72305820503884cd538869f708318ad1360d9d7802d72faea158a6a8ca9d84316256b2600029","deployedBytecode":"0x606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b61020a82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461035190919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061029f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036a90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561035f57fe5b818303905092915050565b600080828401905083811015151561037e57fe5b80915050929150505600a165627a7a72305820503884cd538869f708318ad1360d9d7802d72faea158a6a8ca9d84316256b2600029"} +module.exports = {"contractName":"BasicToken","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6103b48061001e6000396000f300606060405260043610610057576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806318160ddd1461005c57806370a0823114610085578063a9059cbb146100d2575b600080fd5b341561006757600080fd5b61006f61012c565b6040518082815260200191505060405180910390f35b341561009057600080fd5b6100bc600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610132565b6040518082815260200191505060405180910390f35b34156100dd57600080fd5b610112600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061017b565b604051808215151515815260200191505060405180910390f35b60005481565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141515156101b857600080fd5b61020a82600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461035190919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061029f82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461036a90919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b600082821115151561035f57fe5b818303905092915050565b600080828401905083811015151561037e57fe5b80915050929150505600a165627a7a72305820503884cd538869f708318ad1360d9d7802d72faea158a6a8ca9d84316256b2600029"} /***/ }), /* 859 */ /***/ (function(module, exports) { -module.exports = {"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":"0x60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a723058200e921971805e66deac6348c8e3a75decb0312b430842305c124027ed13eb82570029","deployedBytecode":"0x6060604052600080fd00a165627a7a723058200e921971805e66deac6348c8e3a75decb0312b430842305c124027ed13eb82570029"} +module.exports = {"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":"0x60606040523415600e57600080fd5b603580601b6000396000f3006060604052600080fd00a165627a7a723058200e921971805e66deac6348c8e3a75decb0312b430842305c124027ed13eb82570029"} /***/ }), /* 860 */ /***/ (function(module, exports) { -module.exports = {"contractName":"ERC20","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x","deployedBytecode":"0x"} +module.exports = {"contractName":"ERC20","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x"} /***/ }), /* 861 */ /***/ (function(module, exports) { -module.exports = {"contractName":"ERC20Basic","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x","deployedBytecode":"0x"} +module.exports = {"contractName":"ERC20Basic","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x"} /***/ }), /* 862 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Likes","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":[{"name":"_paratiiRegistry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_liked","type":"bool"}],"name":"LogLikeVideo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"},{"name":"_liked","type":"bool"}],"name":"likeVideo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"userLikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"userDislikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"vidLikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"vidDislikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"},{"name":"_videoId","type":"string"}],"name":"userLikesVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"},{"name":"_videoId","type":"string"}],"name":"userDislikesVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6040516020806110f783398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610ffb806100fc6000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063075ca0d31461009e57806335068bef146101065780637b0aadea1461019a5780638da5cb5b1461020b5780638f886d9414610260578063a822f11f146102f4578063d834913314610341578063e8d5b22d146103b2578063f2fde38b146103ff575b600080fd5b34156100a957600080fd5b610104600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080351515906020019091905050610438565b005b341561011157600080fd5b610180600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b11565b604051808215151515815260200191505060405180910390f35b34156101a557600080fd5b6101f5600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610be3565b6040518082815260200191505060405180910390f35b341561021657600080fd5b61021e610c6a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561026b57600080fd5b6102da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c8f565b604051808215151515815260200191505060405180910390f35b34156102ff57600080fd5b61032b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d61565b6040518082815260200191505060405180910390f35b341561034c57600080fd5b61039c600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610daa565b6040518082815260200191505060405180910390f35b34156103bd57600080fd5b6103e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e31565b6040518082815260200191505060405180910390f35b341561040a57600080fd5b610436600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e7a565b005b600080600080339350856040518082805190602001908083835b6020831015156104775780518252602082019150602081019050602083039250610452565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506104b08487610b11565b91506104bc8487610c8f565b90508480156104c85750815b156104d257610b09565b841580156104dd5750805b156104e757610b09565b84156107a3576001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060016006600085600019166000191681526020019081526020016000206000828254019250508190555080156106c6576000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600760008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561076657808201518184015260208101905061074b565b50505050905090810190601f1680156107935780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b841515610b08576001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001600760008560001916600019168152602001908152602001600020600082825401925050819055508115610983576000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600660008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610a23578082015181840152602081019050610a08565b50505050905090810190601f168015610a505780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a17fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d30548486604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825260108152602001807f7468697320706173736564206865726500000000000000000000000000000000815250602001935050505060405180910390a15b5b505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610b8a5780518252602082019150602081019050602083039250610b65565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b600060076000836040518082805190602001908083835b602083101515610c1f5780518252602082019150602081019050602083039250610bfa565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610d085780518252602082019150602081019050602083039250610ce3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060066000836040518082805190602001908083835b602083101515610de65780518252602082019150602081019050602083039250610dc1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f1157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058205a8c176b8e71801a9eb056043d41921d8cd6d44bccfdd6060186f74de3f428b90029","deployedBytecode":"0x606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063075ca0d31461009e57806335068bef146101065780637b0aadea1461019a5780638da5cb5b1461020b5780638f886d9414610260578063a822f11f146102f4578063d834913314610341578063e8d5b22d146103b2578063f2fde38b146103ff575b600080fd5b34156100a957600080fd5b610104600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080351515906020019091905050610438565b005b341561011157600080fd5b610180600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b11565b604051808215151515815260200191505060405180910390f35b34156101a557600080fd5b6101f5600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610be3565b6040518082815260200191505060405180910390f35b341561021657600080fd5b61021e610c6a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561026b57600080fd5b6102da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c8f565b604051808215151515815260200191505060405180910390f35b34156102ff57600080fd5b61032b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d61565b6040518082815260200191505060405180910390f35b341561034c57600080fd5b61039c600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610daa565b6040518082815260200191505060405180910390f35b34156103bd57600080fd5b6103e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e31565b6040518082815260200191505060405180910390f35b341561040a57600080fd5b610436600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e7a565b005b600080600080339350856040518082805190602001908083835b6020831015156104775780518252602082019150602081019050602083039250610452565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506104b08487610b11565b91506104bc8487610c8f565b90508480156104c85750815b156104d257610b09565b841580156104dd5750805b156104e757610b09565b84156107a3576001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060016006600085600019166000191681526020019081526020016000206000828254019250508190555080156106c6576000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600760008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561076657808201518184015260208101905061074b565b50505050905090810190601f1680156107935780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b841515610b08576001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001600760008560001916600019168152602001908152602001600020600082825401925050819055508115610983576000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600660008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610a23578082015181840152602081019050610a08565b50505050905090810190601f168015610a505780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a17fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d30548486604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825260108152602001807f7468697320706173736564206865726500000000000000000000000000000000815250602001935050505060405180910390a15b5b505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610b8a5780518252602082019150602081019050602083039250610b65565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b600060076000836040518082805190602001908083835b602083101515610c1f5780518252602082019150602081019050602083039250610bfa565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610d085780518252602082019150602081019050602083039250610ce3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060066000836040518082805190602001908083835b602083101515610de65780518252602082019150602081019050602083039250610dc1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f1157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058205a8c176b8e71801a9eb056043d41921d8cd6d44bccfdd6060186f74de3f428b90029"} +module.exports = {"contractName":"Likes","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":[{"name":"_paratiiRegistry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_liked","type":"bool"}],"name":"LogLikeVideo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"},{"name":"_liked","type":"bool"}],"name":"likeVideo","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"userLikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"userDislikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"vidLikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"vidDislikes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"},{"name":"_videoId","type":"string"}],"name":"userLikesVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"},{"name":"_videoId","type":"string"}],"name":"userDislikesVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6040516020806110f783398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610ffb806100fc6000396000f300606060405260043610610099576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063075ca0d31461009e57806335068bef146101065780637b0aadea1461019a5780638da5cb5b1461020b5780638f886d9414610260578063a822f11f146102f4578063d834913314610341578063e8d5b22d146103b2578063f2fde38b146103ff575b600080fd5b34156100a957600080fd5b610104600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080351515906020019091905050610438565b005b341561011157600080fd5b610180600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b11565b604051808215151515815260200191505060405180910390f35b34156101a557600080fd5b6101f5600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610be3565b6040518082815260200191505060405180910390f35b341561021657600080fd5b61021e610c6a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561026b57600080fd5b6102da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c8f565b604051808215151515815260200191505060405180910390f35b34156102ff57600080fd5b61032b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610d61565b6040518082815260200191505060405180910390f35b341561034c57600080fd5b61039c600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610daa565b6040518082815260200191505060405180910390f35b34156103bd57600080fd5b6103e9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e31565b6040518082815260200191505060405180910390f35b341561040a57600080fd5b610436600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e7a565b005b600080600080339350856040518082805190602001908083835b6020831015156104775780518252602082019150602081019050602083039250610452565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902092506104b08487610b11565b91506104bc8487610c8f565b90508480156104c85750815b156104d257610b09565b841580156104dd5750805b156104e757610b09565b84156107a3576001600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254019250508190555060016006600085600019166000191681526020019081526020016000206000828254019250508190555080156106c6576000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600760008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b8381101561076657808201518184015260208101905061074b565b50505050905090810190601f1680156107935780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15b841515610b08576001600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506001600760008560001916600019168152602001908152602001600020600082825401925050819055508115610983576000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856000191660001916815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600660008560001916600019168152602001908152602001600020600082825403925050819055505b7fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d3054848787604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825284818151815260200191508051906020019080838360005b83811015610a23578082015181840152602081019050610a08565b50505050905090810190601f168015610a505780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a17fa7f48f489e5528c34ca196632deb780c27875fcc3040ed926a744d67aa2d30548486604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200183151515158152602001828103825260108152602001807f7468697320706173736564206865726500000000000000000000000000000000815250602001935050505060405180910390a15b5b505050505050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610b8a5780518252602082019150602081019050602083039250610b65565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b600060076000836040518082805190602001908083835b602083101515610c1f5780518252602082019150602081019050602083039250610bfa565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610d085780518252602082019150602081019050602083039250610ce3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600060066000836040518082805190602001908083835b602083101515610de65780518252602082019150602081019050602083039250610dc1565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ed557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f1157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058205a8c176b8e71801a9eb056043d41921d8cd6d44bccfdd6060186f74de3f428b90029"} /***/ }), /* 863 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Migrations","abi":[{"constant":true,"inputs":[],"name":"last_completed_migration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"name":"completed","type":"uint256"}],"name":"setCompleted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"new_address","type":"address"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102d78061005e6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610220565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc610226565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024b565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561021c578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b5af1151561021857600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102a857806001819055505b505600a165627a7a7230582096c4c193a1f1c7b80fad9b9e72a06261b909eff43519724091e71c164155e2760029","deployedBytecode":"0x606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610220565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc610226565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024b565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561021c578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b5af1151561021857600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102a857806001819055505b505600a165627a7a7230582096c4c193a1f1c7b80fad9b9e72a06261b909eff43519724091e71c164155e2760029"} +module.exports = {"contractName":"Migrations","abi":[{"constant":true,"inputs":[],"name":"last_completed_migration","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"name":"completed","type":"uint256"}],"name":"setCompleted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"new_address","type":"address"}],"name":"upgrade","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102d78061005e6000396000f300606060405260043610610062576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630900f01014610067578063445df0ac146100a05780638da5cb5b146100c9578063fdacd5761461011e575b600080fd5b341561007257600080fd5b61009e600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610141565b005b34156100ab57600080fd5b6100b3610220565b6040518082815260200191505060405180910390f35b34156100d457600080fd5b6100dc610226565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561012957600080fd5b61013f600480803590602001909190505061024b565b005b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141561021c578190508073ffffffffffffffffffffffffffffffffffffffff1663fdacd5766001546040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561020b57600080fd5b5af1151561021857600080fd5b5050505b5050565b60015481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614156102a857806001819055505b505600a165627a7a7230582096c4c193a1f1c7b80fad9b9e72a06261b909eff43519724091e71c164155e2760029"} /***/ }), /* 864 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Ownable","abi":[{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102858061005e6000396000f30060606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208e4a4262acbb5f85363ab4d6387132f266dbe2c0c1ae349d86160276265c6e1e0029","deployedBytecode":"0x60606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208e4a4262acbb5f85363ab4d6387132f266dbe2c0c1ae349d86160276265c6e1e0029"} +module.exports = {"contractName":"Ownable","abi":[{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506102858061005e6000396000f30060606040526004361061004c576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680638da5cb5b14610051578063f2fde38b146100a6575b600080fd5b341561005c57600080fd5b6100646100df565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100b157600080fd5b6100dd600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610104565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561015f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561019b57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058208e4a4262acbb5f85363ab4d6387132f266dbe2c0c1ae349d86160276265c6e1e0029"} /***/ }), /* 865 */ /***/ (function(module, exports) { -module.exports = {"contractName":"PTIDistributor","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"isUsed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_toAddress","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_reason","type":"string"}],"name":"LogDistribute","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_toAddress","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_reason","type":"string"}],"name":"LogDistributeTransferable","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashing","type":"bytes32"}],"name":"LogDebug","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_owner","type":"address"}],"name":"LogDebugOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_salt","type":"bytes32"},{"name":"_reason","type":"string"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_salt","type":"bytes32"},{"name":"_reason","type":"string"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"checkOwnerPacked","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_hash","type":"bytes32"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"checkOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_salt","type":"bytes32"},{"name":"_reason","type":"string"}],"name":"checkHashing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061111f83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611023806100fc6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637b103999146100935780638da5cb5b146100e8578063a88a8e321461013d578063a9eb363c146101f5578063b46246db14610287578063d88204431461033f578063f2fde38b146103cc578063fe255a1814610405575b600080fd5b341561009e57600080fd5b6100a6610444565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100f357600080fd5b6100fb61046a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561014857600080fd5b6101f3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff16906020019091908035600019169060200190919080356000191690602001909190505061048f565b005b341561020057600080fd5b610285600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506109c6565b005b341561029257600080fd5b61033d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610ace565b005b341561034a57600080fd5b61038a60048080356000191690602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610d2f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103d757600080fd5b610403600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e6e565b005b341561041057600080fd5b61042a600480803560001916906020019091905050610fc3565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610499610fe3565b6000808a8a8a8a604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b60208310151561052a5780518252602082019150602081019050602083039250610505565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902093506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250925082846040518083805190602001908083835b6020831015156105cb57805182526020820191506020810190506020830392506105a6565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209150600260008a6000191660001916815260200190815260200160002060009054906101000a900460ff1615801561070457506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600183898989604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115156106e357600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff16145b151561070f57600080fd5b6001600260008b6000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561080457600080fd5b5af1151561081157600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c8c6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156108bf57600080fd5b5af115156108cc57600080fd5b5050506040518051905015156108e157600080fd5b7f47c36377eacf5c9bf0b0bffe0f11388976bba76b10c4a87c59a7d6847497205b8b8b8a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561097d578082015181840152602081019050610962565b50505050905090810190601f1680156109aa5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050505050505050505050565b600084848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610a565780518252602082019150602081019050602083039250610a31565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902090507f05e46912c9be87d8a6830598db8544b61884d9d22f3921597a9a6e8a340914b38160405180826000191660001916815260200191505060405180910390a15050505050565b6000610ad8610fe3565b600089898989604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610b685780518252602082019150602081019050602083039250610b43565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902092506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081836040518083805190602001908083835b602083101515610c095780518252602082019150602081019050602083039250610be4565b6001836020036101000a038019825116818451168082178552505050505050905001826000191660001916815260200192505050604051809103902090507ff9af0632ddaf7a690a6486635894cfe799c6b72244b459660893f9f7b95771e8600182888888604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11515610cd957600080fd5b505060206040510351604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050505050505050565b6000610d39610fe3565b60006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b602083101515610daa5780518252602082019150602081019050602083039250610d85565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600181878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11515610e5957600080fd5b50506020604051035192505050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ec957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f0557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528060005260406000206000915054906101000a900460ff1681565b6020604051908101604052806000815250905600a165627a7a72305820f5ece6ff2a79fffdd51d43ed6140b1ce4ddec29de39ec268fb2b66918f48fe930029","deployedBytecode":"0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637b103999146100935780638da5cb5b146100e8578063a88a8e321461013d578063a9eb363c146101f5578063b46246db14610287578063d88204431461033f578063f2fde38b146103cc578063fe255a1814610405575b600080fd5b341561009e57600080fd5b6100a6610444565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100f357600080fd5b6100fb61046a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561014857600080fd5b6101f3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff16906020019091908035600019169060200190919080356000191690602001909190505061048f565b005b341561020057600080fd5b610285600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506109c6565b005b341561029257600080fd5b61033d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610ace565b005b341561034a57600080fd5b61038a60048080356000191690602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610d2f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103d757600080fd5b610403600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e6e565b005b341561041057600080fd5b61042a600480803560001916906020019091905050610fc3565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610499610fe3565b6000808a8a8a8a604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b60208310151561052a5780518252602082019150602081019050602083039250610505565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902093506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250925082846040518083805190602001908083835b6020831015156105cb57805182526020820191506020810190506020830392506105a6565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209150600260008a6000191660001916815260200190815260200160002060009054906101000a900460ff1615801561070457506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600183898989604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115156106e357600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff16145b151561070f57600080fd5b6001600260008b6000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561080457600080fd5b5af1151561081157600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c8c6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156108bf57600080fd5b5af115156108cc57600080fd5b5050506040518051905015156108e157600080fd5b7f47c36377eacf5c9bf0b0bffe0f11388976bba76b10c4a87c59a7d6847497205b8b8b8a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561097d578082015181840152602081019050610962565b50505050905090810190601f1680156109aa5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050505050505050505050565b600084848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610a565780518252602082019150602081019050602083039250610a31565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902090507f05e46912c9be87d8a6830598db8544b61884d9d22f3921597a9a6e8a340914b38160405180826000191660001916815260200191505060405180910390a15050505050565b6000610ad8610fe3565b600089898989604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610b685780518252602082019150602081019050602083039250610b43565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902092506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081836040518083805190602001908083835b602083101515610c095780518252602082019150602081019050602083039250610be4565b6001836020036101000a038019825116818451168082178552505050505050905001826000191660001916815260200192505050604051809103902090507ff9af0632ddaf7a690a6486635894cfe799c6b72244b459660893f9f7b95771e8600182888888604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11515610cd957600080fd5b505060206040510351604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050505050505050565b6000610d39610fe3565b60006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b602083101515610daa5780518252602082019150602081019050602083039250610d85565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600181878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11515610e5957600080fd5b50506020604051035192505050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ec957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f0557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528060005260406000206000915054906101000a900460ff1681565b6020604051908101604052806000815250905600a165627a7a72305820f5ece6ff2a79fffdd51d43ed6140b1ce4ddec29de39ec268fb2b66918f48fe930029"} +module.exports = {"contractName":"PTIDistributor","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"isUsed","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_toAddress","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_reason","type":"string"}],"name":"LogDistribute","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_toAddress","type":"address"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_reason","type":"string"}],"name":"LogDistributeTransferable","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashing","type":"bytes32"}],"name":"LogDebug","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_owner","type":"address"}],"name":"LogDebugOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_salt","type":"bytes32"},{"name":"_reason","type":"string"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_salt","type":"bytes32"},{"name":"_reason","type":"string"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"checkOwnerPacked","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_hash","type":"bytes32"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"name":"checkOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_salt","type":"bytes32"},{"name":"_reason","type":"string"}],"name":"checkHashing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061111f83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611023806100fc6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680637b103999146100935780638da5cb5b146100e8578063a88a8e321461013d578063a9eb363c146101f5578063b46246db14610287578063d88204431461033f578063f2fde38b146103cc578063fe255a1814610405575b600080fd5b341561009e57600080fd5b6100a6610444565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156100f357600080fd5b6100fb61046a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561014857600080fd5b6101f3600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff16906020019091908035600019169060200190919080356000191690602001909190505061048f565b005b341561020057600080fd5b610285600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506109c6565b005b341561029257600080fd5b61033d600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919080356000191690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610ace565b005b341561034a57600080fd5b61038a60048080356000191690602001909190803560ff169060200190919080356000191690602001909190803560001916906020019091905050610d2f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103d757600080fd5b610403600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e6e565b005b341561041057600080fd5b61042a600480803560001916906020019091905050610fc3565b604051808215151515815260200191505060405180910390f35b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610499610fe3565b6000808a8a8a8a604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b60208310151561052a5780518252602082019150602081019050602083039250610505565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902093506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250925082846040518083805190602001908083835b6020831015156105cb57805182526020820191506020810190506020830392506105a6565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209150600260008a6000191660001916815260200190815260200160002060009054906101000a900460ff1615801561070457506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600183898989604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af115156106e357600080fd5b50506020604051035173ffffffffffffffffffffffffffffffffffffffff16145b151561070f57600080fd5b6001600260008b6000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561080457600080fd5b5af1151561081157600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8c8c6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156108bf57600080fd5b5af115156108cc57600080fd5b5050506040518051905015156108e157600080fd5b7f47c36377eacf5c9bf0b0bffe0f11388976bba76b10c4a87c59a7d6847497205b8b8b8a604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561097d578082015181840152602081019050610962565b50505050905090810190601f1680156109aa5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050505050505050505050565b600084848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610a565780518252602082019150602081019050602083039250610a31565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902090507f05e46912c9be87d8a6830598db8544b61884d9d22f3921597a9a6e8a340914b38160405180826000191660001916815260200191505060405180910390a15050505050565b6000610ad8610fe3565b600089898989604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401848152602001836000191660001916815260200182805190602001908083835b602083101515610b685780518252602082019150602081019050602083039250610b43565b6001836020036101000a038019825116818451168082178552505050505050905001945050505050604051809103902092506040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081836040518083805190602001908083835b602083101515610c095780518252602082019150602081019050602083039250610be4565b6001836020036101000a038019825116818451168082178552505050505050905001826000191660001916815260200192505050604051809103902090507ff9af0632ddaf7a690a6486635894cfe799c6b72244b459660893f9f7b95771e8600182888888604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11515610cd957600080fd5b505060206040510351604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150505050505050505050565b6000610d39610fe3565b60006040805190810160405280601c81526020017f19457468657265756d205369676e6564204d6573736167653a0a333200000000815250915081876040518083805190602001908083835b602083101515610daa5780518252602082019150602081019050602083039250610d85565b6001836020036101000a03801982511681845116808217855250505050505090500182600019166000191681526020019250505060405180910390209050600181878787604051600081526020016040526040518085600019166000191681526020018460ff1660ff1681526020018360001916600019168152602001826000191660001916815260200194505050505060206040516020810390808403906000865af11515610e5957600080fd5b50506020604051035192505050949350505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610ec957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610f0557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60026020528060005260406000206000915054906101000a900460ff1681565b6020604051908101604052806000815250905600a165627a7a72305820f5ece6ff2a79fffdd51d43ed6140b1ce4ddec29de39ec268fb2b66918f48fe930029"} /***/ }), /* 866 */ /***/ (function(module, exports) { -module.exports = {"contractName":"ParatiiToken","abi":[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}],"bytecode":"0x60606040526040805190810160405280600781526020017f5061726174696900000000000000000000000000000000000000000000000000815250600390805190602001906200005192919062000115565b506040805190810160405280600381526020017f5054490000000000000000000000000000000000000000000000000000000000815250600490805190602001906200009f92919062000115565b506012600555600554600a0a6301406f40026006553415620000c057600080fd5b600654600081905550600654600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001c4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200015857805160ff191683800117855562000189565b8280016001018555821562000189579182015b82811115620001885782518255916020019190600101906200016b565b5b5090506200019891906200019c565b5090565b620001c191905b80821115620001bd576000816000905550600101620001a3565b5090565b90565b6111b280620001d46000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014d57806318160ddd146101a757806323b872dd146101d05780632ff2e9dc14610249578063313ce56714610272578063661884631461029b57806370a08231146102f557806395d89b4114610342578063a9059cbb146103d0578063d73dd6231461042a578063dd62ed3e14610484575b600080fd5b34156100ca57600080fd5b6100d26104f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101125780820151818401526020810190506100f7565b50505050905090810190601f16801561013f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015857600080fd5b61018d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058e565b604051808215151515815260200191505060405180910390f35b34156101b257600080fd5b6101ba610680565b6040518082815260200191505060405180910390f35b34156101db57600080fd5b61022f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610686565b604051808215151515815260200191505060405180910390f35b341561025457600080fd5b61025c610972565b6040518082815260200191505060405180910390f35b341561027d57600080fd5b610285610978565b6040518082815260200191505060405180910390f35b34156102a657600080fd5b6102db600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061097e565b604051808215151515815260200191505060405180910390f35b341561030057600080fd5b61032c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c0f565b6040518082815260200191505060405180910390f35b341561034d57600080fd5b610355610c58565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039557808201518184015260208101905061037a565b50505050905090810190601f1680156103c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cf6565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b61046a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ecc565b604051808215151515815260200191505060405180910390f35b341561048f57600080fd5b6104da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c8565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105865780601f1061055b57610100808354040283529160200191610586565b820191906000526020600020905b81548152906001019060200180831161056957829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156106c557600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061079683600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114f90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061082b83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610881838261114f90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60065481565b60055481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a8f576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b23565b610aa2838261114f90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d3357600080fd5b610d8582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e1a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610f5d82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561115d57fe5b818303905092915050565b600080828401905083811015151561117c57fe5b80915050929150505600a165627a7a72305820c052a62b1c38ad43b3011c36a7e3ffcbf6a4a5dc700fc3f00d860ddd98ca9cd10029","deployedBytecode":"0x6060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014d57806318160ddd146101a757806323b872dd146101d05780632ff2e9dc14610249578063313ce56714610272578063661884631461029b57806370a08231146102f557806395d89b4114610342578063a9059cbb146103d0578063d73dd6231461042a578063dd62ed3e14610484575b600080fd5b34156100ca57600080fd5b6100d26104f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101125780820151818401526020810190506100f7565b50505050905090810190601f16801561013f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015857600080fd5b61018d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058e565b604051808215151515815260200191505060405180910390f35b34156101b257600080fd5b6101ba610680565b6040518082815260200191505060405180910390f35b34156101db57600080fd5b61022f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610686565b604051808215151515815260200191505060405180910390f35b341561025457600080fd5b61025c610972565b6040518082815260200191505060405180910390f35b341561027d57600080fd5b610285610978565b6040518082815260200191505060405180910390f35b34156102a657600080fd5b6102db600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061097e565b604051808215151515815260200191505060405180910390f35b341561030057600080fd5b61032c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c0f565b6040518082815260200191505060405180910390f35b341561034d57600080fd5b610355610c58565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039557808201518184015260208101905061037a565b50505050905090810190601f1680156103c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cf6565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b61046a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ecc565b604051808215151515815260200191505060405180910390f35b341561048f57600080fd5b6104da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c8565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105865780601f1061055b57610100808354040283529160200191610586565b820191906000526020600020905b81548152906001019060200180831161056957829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156106c557600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061079683600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114f90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061082b83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610881838261114f90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60065481565b60055481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a8f576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b23565b610aa2838261114f90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d3357600080fd5b610d8582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e1a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610f5d82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561115d57fe5b818303905092915050565b600080828401905083811015151561117c57fe5b80915050929150505600a165627a7a72305820c052a62b1c38ad43b3011c36a7e3ffcbf6a4a5dc700fc3f00d860ddd98ca9cd10029"} +module.exports = {"contractName":"ParatiiToken","abi":[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"INITIAL_SUPPLY","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":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":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"}],"bytecode":"0x60606040526040805190810160405280600781526020017f5061726174696900000000000000000000000000000000000000000000000000815250600390805190602001906200005192919062000115565b506040805190810160405280600381526020017f5054490000000000000000000000000000000000000000000000000000000000815250600490805190602001906200009f92919062000115565b506012600555600554600a0a6301406f40026006553415620000c057600080fd5b600654600081905550600654600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620001c4565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200015857805160ff191683800117855562000189565b8280016001018555821562000189579182015b82811115620001885782518255916020019190600101906200016b565b5b5090506200019891906200019c565b5090565b620001c191905b80821115620001bd576000816000905550600101620001a3565b5090565b90565b6111b280620001d46000396000f3006060604052600436106100ba576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306fdde03146100bf578063095ea7b31461014d57806318160ddd146101a757806323b872dd146101d05780632ff2e9dc14610249578063313ce56714610272578063661884631461029b57806370a08231146102f557806395d89b4114610342578063a9059cbb146103d0578063d73dd6231461042a578063dd62ed3e14610484575b600080fd5b34156100ca57600080fd5b6100d26104f0565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101125780820151818401526020810190506100f7565b50505050905090810190601f16801561013f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561015857600080fd5b61018d600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061058e565b604051808215151515815260200191505060405180910390f35b34156101b257600080fd5b6101ba610680565b6040518082815260200191505060405180910390f35b34156101db57600080fd5b61022f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610686565b604051808215151515815260200191505060405180910390f35b341561025457600080fd5b61025c610972565b6040518082815260200191505060405180910390f35b341561027d57600080fd5b610285610978565b6040518082815260200191505060405180910390f35b34156102a657600080fd5b6102db600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061097e565b604051808215151515815260200191505060405180910390f35b341561030057600080fd5b61032c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c0f565b6040518082815260200191505060405180910390f35b341561034d57600080fd5b610355610c58565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561039557808201518184015260208101905061037a565b50505050905090810190601f1680156103c25780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103db57600080fd5b610410600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610cf6565b604051808215151515815260200191505060405180910390f35b341561043557600080fd5b61046a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610ecc565b604051808215151515815260200191505060405180910390f35b341561048f57600080fd5b6104da600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506110c8565b6040518082815260200191505060405180910390f35b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156105865780601f1061055b57610100808354040283529160200191610586565b820191906000526020600020905b81548152906001019060200180831161056957829003601f168201915b505050505081565b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16141515156106c557600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061079683600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114f90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061082b83600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610881838261114f90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b60065481565b60055481565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905080831115610a8f576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b23565b610aa2838261114f90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60048054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610cee5780601f10610cc357610100808354040283529160200191610cee565b820191906000526020600020905b815481529060010190602001808311610cd157829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610d3357600080fd5b610d8582600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461114f90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610e1a82600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610f5d82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461116890919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600082821115151561115d57fe5b818303905092915050565b600080828401905083811015151561117c57fe5b80915050929150505600a165627a7a72305820c052a62b1c38ad43b3011c36a7e3ffcbf6a4a5dc700fc3f00d860ddd98ca9cd10029"} /***/ }), /* 867 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Registry","abi":[{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"strings","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"numbers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"contracts","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":false,"name":"_name","type":"string"},{"indexed":false,"name":"_address","type":"address"}],"name":"LogRegisterAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"}],"name":"LogUnregisterAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"},{"indexed":false,"name":"_number","type":"uint256"}],"name":"LogRegisterUint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"}],"name":"LogUnregisterUint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"},{"indexed":false,"name":"_string","type":"string"}],"name":"LogRegisterString","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"}],"name":"LogUnregisterString","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_address","type":"address"}],"name":"registerAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"unregisterAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"getContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_number","type":"uint256"}],"name":"registerUint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"unregisterUint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"getUint","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_string","type":"string"}],"name":"registerString","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"unregisterString","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"getString","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117198061009e6000396000f3006060604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806326404c37146100d557806335817773146101325780633708a96b146101cf578063498bff001461022c5780636059936e1461029d57806375b453511461033d5780638da5cb5b146103a357806397d7e807146103f85780639c981fcb14610455578063b13f5f191461052b578063bd935287146105a7578063c724982b14610647578063ec56a37314610682578063f2fde38b146106e9575b600080fd5b34156100e057600080fd5b610130600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610722565b005b341561013d57600080fd5b61018d600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506108bc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101da57600080fd5b61022a600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610963565b005b341561023757600080fd5b610287600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610ade565b6040518082815260200191505060405180910390f35b34156102a857600080fd5b6102c2600480803560001916906020019091905050610b65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103025780820151818401526020810190506102e7565b50505050905090810190601f16801561032f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561034857600080fd5b6103a1600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610c15565b005b34156103ae57600080fd5b6103b6610d9a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040357600080fd5b610453600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dbf565b005b341561046057600080fd5b6104b0600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610f42565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f05780820151818401526020810190506104d5565b50505050905090810190601f16801561051d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053657600080fd5b6105a5600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611067565b005b34156105b257600080fd5b610645600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611252565b005b341561065257600080fd5b61066c60048080356000191690602001909190505061144c565b6040518082815260200191505060405180910390f35b341561068d57600080fd5b6106a7600480803560001916906020019091905050611464565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106f457600080fd5b610720600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611497565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561077d57600080fd5b60016000826040518082805190602001908083835b6020831015156107b75780518252602082019150602081019050602083039250610792565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fa76e7b6e2c26769c731f99243d786a5fa6f8d70201a88db135d7c0bb21d1afc3816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087f578082015181840152602081019050610864565b50505050905090810190601f1680156108ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060016000836040518082805190602001908083835b6020831015156108f857805182526020820191506020810190506020830392506108d3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109be57600080fd5b60026000826040518082805190602001908083835b6020831015156109f857805182526020820191506020810190506020830392506109d3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600090557fa4de87e6562b1cde60454f2969e0775b4f27f1db0047f106f63c00f4e19a596a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aa1578082015181840152602081019050610a86565b50505050905090810190601f168015610ace5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060026000836040518082805190602001908083835b602083101515610b1a5780518252602082019150602081019050602083039250610af5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b60036020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7057600080fd5b8060026000846040518082805190602001908083835b602083101515610cab5780518252602082019150602081019050602083039250610c86565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055507f8c8f8f23d981717abe1d63307dea4737664c320ea49169cf2357c32d3eb0459882826040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610d5b578082015181840152602081019050610d40565b50505050905090810190601f168015610d885780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1a57600080fd5b60036000826040518082805190602001908083835b602083101515610e545780518252602082019150602081019050602083039250610e2f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000206000610ea391906115ec565b7fe6e691835b821c75b07b5cb7ae7d383e85d0041e89871368ed5f41a67134482a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f05578082015181840152602081019050610eea565b50505050905090810190601f168015610f325780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b610f4a611634565b60036000836040518082805190602001908083835b602083101515610f845780518252602082019150602081019050602083039250610f5f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561105b5780601f106110305761010080835404028352916020019161105b565b820191906000526020600020905b81548152906001019060200180831161103e57829003601f168201915b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110c257600080fd5b8060016000846040518082805190602001908083835b6020831015156110fd57805182526020820191506020810190506020830392506110d8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2a1a55d7966a6bb6e4f08dcd6fd098b939891c9f7528df549e9770667a8a02ba828260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156112135780820151818401526020810190506111f8565b50505050905090810190601f1680156112405780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ad57600080fd5b8060036000846040518082805190602001908083835b6020831015156112e857805182526020820191506020810190506020830392506112c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020908051906020019061133e929190611648565b507f410eddefb807d899bc8882a95951655391fe0a4d0c444cb6545a5761f3b4aaab8282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156113a657808201518184015260208101905061138b565b50505050905090810190601f1680156113d35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561140c5780820151818401526020810190506113f1565b50505050905090810190601f1680156114395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60026020528060005260406000206000915090505481565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114f257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f106116125750611631565b601f01602090049060005260206000209081019061163091906116c8565b5b50565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061168957805160ff19168380011785556116b7565b828001600101855582156116b7579182015b828111156116b657825182559160200191906001019061169b565b5b5090506116c491906116c8565b5090565b6116ea91905b808211156116e65760008160009055506001016116ce565b5090565b905600a165627a7a72305820c8e44a60c00659e0dfbd29bdc2df9e268611fba8003f1e797f36fbe2329c4c060029","deployedBytecode":"0x6060604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806326404c37146100d557806335817773146101325780633708a96b146101cf578063498bff001461022c5780636059936e1461029d57806375b453511461033d5780638da5cb5b146103a357806397d7e807146103f85780639c981fcb14610455578063b13f5f191461052b578063bd935287146105a7578063c724982b14610647578063ec56a37314610682578063f2fde38b146106e9575b600080fd5b34156100e057600080fd5b610130600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610722565b005b341561013d57600080fd5b61018d600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506108bc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101da57600080fd5b61022a600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610963565b005b341561023757600080fd5b610287600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610ade565b6040518082815260200191505060405180910390f35b34156102a857600080fd5b6102c2600480803560001916906020019091905050610b65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103025780820151818401526020810190506102e7565b50505050905090810190601f16801561032f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561034857600080fd5b6103a1600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610c15565b005b34156103ae57600080fd5b6103b6610d9a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040357600080fd5b610453600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dbf565b005b341561046057600080fd5b6104b0600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610f42565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f05780820151818401526020810190506104d5565b50505050905090810190601f16801561051d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053657600080fd5b6105a5600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611067565b005b34156105b257600080fd5b610645600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611252565b005b341561065257600080fd5b61066c60048080356000191690602001909190505061144c565b6040518082815260200191505060405180910390f35b341561068d57600080fd5b6106a7600480803560001916906020019091905050611464565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106f457600080fd5b610720600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611497565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561077d57600080fd5b60016000826040518082805190602001908083835b6020831015156107b75780518252602082019150602081019050602083039250610792565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fa76e7b6e2c26769c731f99243d786a5fa6f8d70201a88db135d7c0bb21d1afc3816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087f578082015181840152602081019050610864565b50505050905090810190601f1680156108ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060016000836040518082805190602001908083835b6020831015156108f857805182526020820191506020810190506020830392506108d3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109be57600080fd5b60026000826040518082805190602001908083835b6020831015156109f857805182526020820191506020810190506020830392506109d3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600090557fa4de87e6562b1cde60454f2969e0775b4f27f1db0047f106f63c00f4e19a596a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aa1578082015181840152602081019050610a86565b50505050905090810190601f168015610ace5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060026000836040518082805190602001908083835b602083101515610b1a5780518252602082019150602081019050602083039250610af5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b60036020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7057600080fd5b8060026000846040518082805190602001908083835b602083101515610cab5780518252602082019150602081019050602083039250610c86565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055507f8c8f8f23d981717abe1d63307dea4737664c320ea49169cf2357c32d3eb0459882826040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610d5b578082015181840152602081019050610d40565b50505050905090810190601f168015610d885780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1a57600080fd5b60036000826040518082805190602001908083835b602083101515610e545780518252602082019150602081019050602083039250610e2f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000206000610ea391906115ec565b7fe6e691835b821c75b07b5cb7ae7d383e85d0041e89871368ed5f41a67134482a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f05578082015181840152602081019050610eea565b50505050905090810190601f168015610f325780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b610f4a611634565b60036000836040518082805190602001908083835b602083101515610f845780518252602082019150602081019050602083039250610f5f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561105b5780601f106110305761010080835404028352916020019161105b565b820191906000526020600020905b81548152906001019060200180831161103e57829003601f168201915b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110c257600080fd5b8060016000846040518082805190602001908083835b6020831015156110fd57805182526020820191506020810190506020830392506110d8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2a1a55d7966a6bb6e4f08dcd6fd098b939891c9f7528df549e9770667a8a02ba828260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156112135780820151818401526020810190506111f8565b50505050905090810190601f1680156112405780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ad57600080fd5b8060036000846040518082805190602001908083835b6020831015156112e857805182526020820191506020810190506020830392506112c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020908051906020019061133e929190611648565b507f410eddefb807d899bc8882a95951655391fe0a4d0c444cb6545a5761f3b4aaab8282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156113a657808201518184015260208101905061138b565b50505050905090810190601f1680156113d35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561140c5780820151818401526020810190506113f1565b50505050905090810190601f1680156114395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60026020528060005260406000206000915090505481565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114f257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f106116125750611631565b601f01602090049060005260206000209081019061163091906116c8565b5b50565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061168957805160ff19168380011785556116b7565b828001600101855582156116b7579182015b828111156116b657825182559160200191906001019061169b565b5b5090506116c491906116c8565b5090565b6116ea91905b808211156116e65760008160009055506001016116ce565b5090565b905600a165627a7a72305820c8e44a60c00659e0dfbd29bdc2df9e268611fba8003f1e797f36fbe2329c4c060029"} +module.exports = {"contractName":"Registry","abi":[{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"strings","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"numbers","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"contracts","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":false,"name":"_name","type":"string"},{"indexed":false,"name":"_address","type":"address"}],"name":"LogRegisterAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"}],"name":"LogUnregisterAddress","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"},{"indexed":false,"name":"_number","type":"uint256"}],"name":"LogRegisterUint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"}],"name":"LogUnregisterUint","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"},{"indexed":false,"name":"_string","type":"string"}],"name":"LogRegisterString","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_name","type":"string"}],"name":"LogUnregisterString","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_address","type":"address"}],"name":"registerAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"unregisterAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"getContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_number","type":"uint256"}],"name":"registerUint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"unregisterUint","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"getUint","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_string","type":"string"}],"name":"registerString","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"unregisterString","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_name","type":"string"}],"name":"getString","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506117198061009e6000396000f3006060604052600436106100d0576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806326404c37146100d557806335817773146101325780633708a96b146101cf578063498bff001461022c5780636059936e1461029d57806375b453511461033d5780638da5cb5b146103a357806397d7e807146103f85780639c981fcb14610455578063b13f5f191461052b578063bd935287146105a7578063c724982b14610647578063ec56a37314610682578063f2fde38b146106e9575b600080fd5b34156100e057600080fd5b610130600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610722565b005b341561013d57600080fd5b61018d600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506108bc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101da57600080fd5b61022a600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610963565b005b341561023757600080fd5b610287600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610ade565b6040518082815260200191505060405180910390f35b34156102a857600080fd5b6102c2600480803560001916906020019091905050610b65565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156103025780820151818401526020810190506102e7565b50505050905090810190601f16801561032f5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561034857600080fd5b6103a1600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610c15565b005b34156103ae57600080fd5b6103b6610d9a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561040357600080fd5b610453600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dbf565b005b341561046057600080fd5b6104b0600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610f42565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156104f05780820151818401526020810190506104d5565b50505050905090810190601f16801561051d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561053657600080fd5b6105a5600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611067565b005b34156105b257600080fd5b610645600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611252565b005b341561065257600080fd5b61066c60048080356000191690602001909190505061144c565b6040518082815260200191505060405180910390f35b341561068d57600080fd5b6106a7600480803560001916906020019091905050611464565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156106f457600080fd5b610720600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611497565b005b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561077d57600080fd5b60016000826040518082805190602001908083835b6020831015156107b75780518252602082019150602081019050602083039250610792565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fa76e7b6e2c26769c731f99243d786a5fa6f8d70201a88db135d7c0bb21d1afc3816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561087f578082015181840152602081019050610864565b50505050905090810190601f1680156108ac5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060016000836040518082805190602001908083835b6020831015156108f857805182526020820191506020810190506020830392506108d3565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109be57600080fd5b60026000826040518082805190602001908083835b6020831015156109f857805182526020820191506020810190506020830392506109d3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600090557fa4de87e6562b1cde60454f2969e0775b4f27f1db0047f106f63c00f4e19a596a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610aa1578082015181840152602081019050610a86565b50505050905090810190601f168015610ace5780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b600060026000836040518082805190602001908083835b602083101515610b1a5780518252602082019150602081019050602083039250610af5565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020549050919050565b60036020528060005260406000206000915090508054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b505050505081565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c7057600080fd5b8060026000846040518082805190602001908083835b602083101515610cab5780518252602082019150602081019050602083039250610c86565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020819055507f8c8f8f23d981717abe1d63307dea4737664c320ea49169cf2357c32d3eb0459882826040518080602001838152602001828103825284818151815260200191508051906020019080838360005b83811015610d5b578082015181840152602081019050610d40565b50505050905090810190601f168015610d885780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e1a57600080fd5b60036000826040518082805190602001908083835b602083101515610e545780518252602082019150602081019050602083039250610e2f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000206000610ea391906115ec565b7fe6e691835b821c75b07b5cb7ae7d383e85d0041e89871368ed5f41a67134482a816040518080602001828103825283818151815260200191508051906020019080838360005b83811015610f05578082015181840152602081019050610eea565b50505050905090810190601f168015610f325780820380516001836020036101000a031916815260200191505b509250505060405180910390a150565b610f4a611634565b60036000836040518082805190602001908083835b602083101515610f845780518252602082019150602081019050602083039250610f5f565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000208054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561105b5780601f106110305761010080835404028352916020019161105b565b820191906000526020600020905b81548152906001019060200180831161103e57829003601f168201915b50505050509050919050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110c257600080fd5b8060016000846040518082805190602001908083835b6020831015156110fd57805182526020820191506020810190506020830392506110d8565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f2a1a55d7966a6bb6e4f08dcd6fd098b939891c9f7528df549e9770667a8a02ba828260405180806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b838110156112135780820151818401526020810190506111f8565b50505050905090810190601f1680156112405780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156112ad57600080fd5b8060036000846040518082805190602001908083835b6020831015156112e857805182526020820191506020810190506020830392506112c3565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020908051906020019061133e929190611648565b507f410eddefb807d899bc8882a95951655391fe0a4d0c444cb6545a5761f3b4aaab8282604051808060200180602001838103835285818151815260200191508051906020019080838360005b838110156113a657808201518184015260208101905061138b565b50505050905090810190601f1680156113d35780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561140c5780820151818401526020810190506113f1565b50505050905090810190601f1680156114395780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a15050565b60026020528060005260406000206000915090505481565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156114f257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561152e57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f106116125750611631565b601f01602090049060005260206000209081019061163091906116c8565b5b50565b602060405190810160405280600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061168957805160ff19168380011785556116b7565b828001600101855582156116b7579182015b828111156116b657825182559160200191906001019061169b565b5b5090506116c491906116c8565b5090565b6116ea91905b808211156116e65760008160009055506001016116ce565b5090565b905600a165627a7a72305820c8e44a60c00659e0dfbd29bdc2df9e268611fba8003f1e797f36fbe2329c4c060029"} /***/ }), /* 868 */ /***/ (function(module, exports) { -module.exports = {"contractName":"SafeMath","abi":[],"bytecode":"0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058204aa38678c03d3a9ff16f508dc8c6a0fa256149029be366997c0e388cc419ec3d0029","deployedBytecode":"0x73000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058204aa38678c03d3a9ff16f508dc8c6a0fa256149029be366997c0e388cc419ec3d0029"} +module.exports = {"contractName":"SafeMath","abi":[],"bytecode":"0x604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146060604052600080fd00a165627a7a723058204aa38678c03d3a9ff16f508dc8c6a0fa256149029be366997c0e388cc419ec3d0029"} /***/ }), /* 869 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Sales","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_price","type":"uint256"},{"indexed":false,"name":"_ipfsData","type":"string"}],"name":"LogCreateSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_videoId","type":"string"}],"name":"LogRemoveSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"},{"name":"_price","type":"uint256"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"}],"name":"get","outputs":[{"name":"","type":"uint256"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"}],"name":"userBoughtVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061115183398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611055806100fc6000396000f300606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc8146100885780637b103999146101045780638da5cb5b14610159578063abebf126146101ae578063e8e459e014610242578063f2fde38b1461030a578063fc2525ab14610343575b600080fd5b341561009357600080fd5b610102600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061043f565b005b341561010f57600080fd5b610117610764565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016457600080fd5b61016c61078a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b957600080fd5b610228600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506107af565b604051808215151515815260200191505060405180910390f35b341561024d57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610884565b005b341561031557600080fd5b610341600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c5a565b005b341561034e57600080fd5b6103bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610daf565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156104035780820151818401526020810190506103e8565b50505050905090810190601f1680156104305780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061059c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055657600080fd5b5af1151561056357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105a757600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b60208310151561061e57805182526020820191506020810190506020830392506105f9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff0219169055600182016000905560028201600061068e9190610f28565b50507f83652eb81b824d0e5d35726dc1adb19408af592acb527de2994fa5a4d2d4f8808282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561072557808201518184015260208101905061070a565b50505050905090810190601f1680156107525780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b6020831015156108285780518252602082019150602081019050602083039250610803565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109e15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561099b57600080fd5b5af115156109a857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156109ec57600080fd5b60606040519081016040528060011515815260200183815260200182815250600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610a825780518252602082019150602081019050602083039250610a5d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002019080519060200190610b0b929190610f70565b509050507f038378601c4d12a51dc5d62e0763a5950eae787276525db73d68924a3bd6f8aa84848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610bb0578082015181840152602081019050610b95565b50505050905090810190601f168015610bdd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610c16578082015181840152602081019050610bfb565b50505050905090810190601f168015610c435780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cf157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610db9610ff0565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610e325780518252602082019150602081019050602083039250610e0d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000209050806001015481600201808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f155780601f10610eea57610100808354040283529160200191610f15565b820191906000526020600020905b815481529060010190602001808311610ef857829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f10610f4e5750610f6d565b601f016020900490600052602060002090810190610f6c9190611004565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fb157805160ff1916838001178555610fdf565b82800160010185558215610fdf579182015b82811115610fde578251825591602001919060010190610fc3565b5b509050610fec9190611004565b5090565b602060405190810160405280600081525090565b61102691905b8082111561102257600081600090555060010161100a565b5090565b905600a165627a7a72305820fad38f8cac717a95e650266b695f79845889aab5c3de56d8e90bfa02ac1929180029","deployedBytecode":"0x606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc8146100885780637b103999146101045780638da5cb5b14610159578063abebf126146101ae578063e8e459e014610242578063f2fde38b1461030a578063fc2525ab14610343575b600080fd5b341561009357600080fd5b610102600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061043f565b005b341561010f57600080fd5b610117610764565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016457600080fd5b61016c61078a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b957600080fd5b610228600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506107af565b604051808215151515815260200191505060405180910390f35b341561024d57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610884565b005b341561031557600080fd5b610341600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c5a565b005b341561034e57600080fd5b6103bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610daf565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156104035780820151818401526020810190506103e8565b50505050905090810190601f1680156104305780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061059c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055657600080fd5b5af1151561056357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105a757600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b60208310151561061e57805182526020820191506020810190506020830392506105f9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff0219169055600182016000905560028201600061068e9190610f28565b50507f83652eb81b824d0e5d35726dc1adb19408af592acb527de2994fa5a4d2d4f8808282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561072557808201518184015260208101905061070a565b50505050905090810190601f1680156107525780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b6020831015156108285780518252602082019150602081019050602083039250610803565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109e15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561099b57600080fd5b5af115156109a857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156109ec57600080fd5b60606040519081016040528060011515815260200183815260200182815250600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610a825780518252602082019150602081019050602083039250610a5d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002019080519060200190610b0b929190610f70565b509050507f038378601c4d12a51dc5d62e0763a5950eae787276525db73d68924a3bd6f8aa84848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610bb0578082015181840152602081019050610b95565b50505050905090810190601f168015610bdd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610c16578082015181840152602081019050610bfb565b50505050905090810190601f168015610c435780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cf157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610db9610ff0565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610e325780518252602082019150602081019050602083039250610e0d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000209050806001015481600201808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f155780601f10610eea57610100808354040283529160200191610f15565b820191906000526020600020905b815481529060010190602001808311610ef857829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f10610f4e5750610f6d565b601f016020900490600052602060002090810190610f6c9190611004565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fb157805160ff1916838001178555610fdf565b82800160010185558215610fdf579182015b82811115610fde578251825591602001919060010190610fc3565b5b509050610fec9190611004565b5090565b602060405190810160405280600081525090565b61102691905b8082111561102257600081600090555060010161100a565b5090565b905600a165627a7a72305820fad38f8cac717a95e650266b695f79845889aab5c3de56d8e90bfa02ac1929180029"} +module.exports = {"contractName":"Sales","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_price","type":"uint256"},{"indexed":false,"name":"_ipfsData","type":"string"}],"name":"LogCreateSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_videoId","type":"string"}],"name":"LogRemoveSale","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"},{"name":"_price","type":"uint256"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"}],"name":"get","outputs":[{"name":"","type":"uint256"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_buyer","type":"address"},{"name":"_videoId","type":"string"}],"name":"userBoughtVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061115183398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611055806100fc6000396000f300606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc8146100885780637b103999146101045780638da5cb5b14610159578063abebf126146101ae578063e8e459e014610242578063f2fde38b1461030a578063fc2525ab14610343575b600080fd5b341561009357600080fd5b610102600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061043f565b005b341561010f57600080fd5b610117610764565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561016457600080fd5b61016c61078a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101b957600080fd5b610228600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506107af565b604051808215151515815260200191505060405180910390f35b341561024d57600080fd5b610308600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610884565b005b341561031557600080fd5b610341600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c5a565b005b341561034e57600080fd5b6103bd600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610daf565b6040518083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156104035780820151818401526020810190506103e8565b50505050905090810190601f1680156104305780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061059c5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055657600080fd5b5af1151561056357600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105a757600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b60208310151561061e57805182526020820191506020810190506020830392506105f9565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff0219169055600182016000905560028201600061068e9190610f28565b50507f83652eb81b824d0e5d35726dc1adb19408af592acb527de2994fa5a4d2d4f8808282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561072557808201518184015260208101905061070a565b50505050905090810190601f1680156107525780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b6020831015156108285780518252602082019150602081019050602083039250610803565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806109e15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53746f7265000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561099b57600080fd5b5af115156109a857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156109ec57600080fd5b60606040519081016040528060011515815260200183815260200182815250600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610a825780518252602082019150602081019050602083039250610a5d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff021916908315150217905550602082015181600101556040820151816002019080519060200190610b0b929190610f70565b509050507f038378601c4d12a51dc5d62e0763a5950eae787276525db73d68924a3bd6f8aa84848484604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b83811015610bb0578082015181840152602081019050610b95565b50505050905090810190601f168015610bdd5780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610c16578082015181840152602081019050610bfb565b50505050905090810190601f168015610c435780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a150505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cb557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cf157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610db9610ff0565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610e325780518252602082019150602081019050602083039250610e0d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600019166000191681526020019081526020016000209050806001015481600201808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610f155780601f10610eea57610100808354040283529160200191610f15565b820191906000526020600020905b815481529060010190602001808311610ef857829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f10610f4e5750610f6d565b601f016020900490600052602060002090810190610f6c9190611004565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fb157805160ff1916838001178555610fdf565b82800160010185558215610fdf579182015b82811115610fde578251825591602001919060010190610fc3565b5b509050610fec9190611004565b5090565b602060405190810160405280600081525090565b61102691905b8082111561102257600081600090555060010161100a565b5090565b905600a165627a7a72305820fad38f8cac717a95e650266b695f79845889aab5c3de56d8e90bfa02ac1929180029"} /***/ }), /* 870 */ /***/ (function(module, exports) { -module.exports = {"contractName":"SendEther","abi":[{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"description","type":"string"}],"name":"LogSendEther","type":"event"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_description","type":"string"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b61025e8061001e6000396000f300606060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988664914610051575b341561004c57600080fd5b600080fd5b6100c0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506100da565b604051808215151515815260200191505060405180910390f35b60008273ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561011c57600080fd5b7fa8da2a10447235381d4a8921c260b89c83b471b8aff2127abc1d434348812e7133843485604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101eb5780820151818401526020810190506101d0565b50505050905090810190601f1680156102185780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160019050929150505600a165627a7a72305820279a52b9d5b73770243b5c326e73e88d4fe59619c61b6f0158e8c383481365070029","deployedBytecode":"0x606060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988664914610051575b341561004c57600080fd5b600080fd5b6100c0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506100da565b604051808215151515815260200191505060405180910390f35b60008273ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561011c57600080fd5b7fa8da2a10447235381d4a8921c260b89c83b471b8aff2127abc1d434348812e7133843485604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101eb5780820151818401526020810190506101d0565b50505050905090810190601f1680156102185780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160019050929150505600a165627a7a72305820279a52b9d5b73770243b5c326e73e88d4fe59619c61b6f0158e8c383481365070029"} +module.exports = {"contractName":"SendEther","abi":[{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"description","type":"string"}],"name":"LogSendEther","type":"event"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_description","type":"string"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b61025e8061001e6000396000f300606060405260043610610041576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630988664914610051575b341561004c57600080fd5b600080fd5b6100c0600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506100da565b604051808215151515815260200191505060405180910390f35b60008273ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f19350505050151561011c57600080fd5b7fa8da2a10447235381d4a8921c260b89c83b471b8aff2127abc1d434348812e7133843485604051808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b838110156101eb5780820151818401526020810190506101d0565b50505050905090810190601f1680156102185780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a160019050929150505600a165627a7a72305820279a52b9d5b73770243b5c326e73e88d4fe59619c61b6f0158e8c383481365070029"} /***/ }), /* 871 */ /***/ (function(module, exports) { -module.exports = {"contractName":"StandardToken","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"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":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b610ed08061001e6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061073a565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109cb565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a14565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bea565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de6565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561048d57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061055e83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105f383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106498382610e6d90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561084b576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108df565b61085e8382610e6d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a5157600080fd5b610aa382600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b3882600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610c7b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610e7b57fe5b818303905092915050565b6000808284019050838110151515610e9a57fe5b80915050929150505600a165627a7a72305820993bd93733c6d7b10a6127617d9f435722873f25181521e241091a8ba34dbc3e0029","deployedBytecode":"0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061073a565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109cb565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a14565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bea565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de6565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561048d57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061055e83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105f383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106498382610e6d90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561084b576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108df565b61085e8382610e6d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a5157600080fd5b610aa382600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b3882600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610c7b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610e7b57fe5b818303905092915050565b6000808284019050838110151515610e9a57fe5b80915050929150505600a165627a7a72305820993bd93733c6d7b10a6127617d9f435722873f25181521e241091a8ba34dbc3e0029"} +module.exports = {"contractName":"StandardToken","abi":[{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"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":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b610ed08061001e6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063095ea7b31461009357806318160ddd146100ed57806323b872dd14610116578063661884631461018f57806370a08231146101e9578063a9059cbb14610236578063d73dd62314610290578063dd62ed3e146102ea575b600080fd5b341561009e57600080fd5b6100d3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610356565b604051808215151515815260200191505060405180910390f35b34156100f857600080fd5b610100610448565b6040518082815260200191505060405180910390f35b341561012157600080fd5b610175600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061044e565b604051808215151515815260200191505060405180910390f35b341561019a57600080fd5b6101cf600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061073a565b604051808215151515815260200191505060405180910390f35b34156101f457600080fd5b610220600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109cb565b6040518082815260200191505060405180910390f35b341561024157600080fd5b610276600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610a14565b604051808215151515815260200191505060405180910390f35b341561029b57600080fd5b6102d0600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bea565b604051808215151515815260200191505060405180910390f35b34156102f557600080fd5b610340600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de6565b6040518082815260200191505060405180910390f35b600081600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040518082815260200191505060405180910390a36001905092915050565b60005481565b600080600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415151561048d57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905061055e83600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d90919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506105f383600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506106498382610e6d90919063ffffffff16565b600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a360019150509392505050565b600080600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508083111561084b576000600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506108df565b61085e8382610e6d90919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b8373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a3600191505092915050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614151515610a5157600080fd5b610aa382600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e6d90919063ffffffff16565b600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610b3882600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a36001905092915050565b6000610c7b82600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e8690919063ffffffff16565b600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546040518082815260200191505060405180910390a36001905092915050565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6000828211151515610e7b57fe5b818303905092915050565b6000808284019050838110151515610e9a57fe5b80915050929150505600a165627a7a72305820993bd93733c6d7b10a6127617d9f435722873f25181521e241091a8ba34dbc3e0029"} /***/ }), /* 872 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Store","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sales","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":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_price","type":"uint256"}],"name":"LogBuyVideo","type":"event"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"videoId","type":"string"},{"name":"ipfsData","type":"string"}],"name":"buyVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b604051602080610eaa83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610dee806100bc6000396000f30060606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633560d4c51461007d5780637b103999146101355780638da5cb5b1461018a578063aace52fe146101df578063f2fde38b14610234575b341561007857600080fd5b600080fd5b341561008857600080fd5b61011b600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061026d565b604051808215151515815260200191505060405180910390f35b341561014057600080fd5b610148610ab6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561019557600080fd5b61019d610adc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ea57600080fd5b6101f2610b01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023f57600080fd5b61026b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b27565b005b600080600080600080600080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561033d57600080fd5b5af1151561034a57600080fd5b505050604051805190509850600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f566964656f730000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561041757600080fd5b5af1151561042457600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663693ec85e8d6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104b557808201518184015260208101905061049a565b50505050905090810190601f1680156104e25780820380516001836020036101000a031916815260200191505b509250505060c060405180830381600087803b151561050057600080fd5b5af1151561050d57600080fd5b50505060405180519060200180519060200180519060200180519060200180519060200180519050975097509750975097509750610575670de0b6b3a7640000610567610558610c7c565b8a610d5b90919063ffffffff16565b610d8e90919063ffffffff16565b91508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338b856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561064d57600080fd5b5af1151561065a57600080fd5b50505060405180519050506106788288610da990919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338a846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561075057600080fd5b5af1151561075d57600080fd5b5050506040518051905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53616c6573000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561082957600080fd5b5af1151561083657600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e8e459e0338e8a8f6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b838110156109065780820151818401526020810190506108eb565b50505050905090810190601f1680156109335780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561096c578082015181840152602081019050610951565b50505050905090810190601f1680156109995780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156109bb57600080fd5b5af115156109c857600080fd5b5050507ffb16a0cb01447521c51cd70864c5a9fa252ff62fcff41f679b24426dc4793e278c338960405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015610a67578082015181840152602081019050610a4c565b50505050905090810190601f168015610a945780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16001995050505050505050505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610bbe57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663498bff006040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252601c8152602001807f566964656f5265646973747269627574696f6e506f6f6c536861726500000000815250602001915050602060405180830381600087803b1515610d3f57600080fd5b5af11515610d4c57600080fd5b50505060405180519050905090565b60008082840290506000841480610d7c5750828482811515610d7957fe5b04145b1515610d8457fe5b8091505092915050565b6000808284811515610d9c57fe5b0490508091505092915050565b6000828211151515610db757fe5b8183039050929150505600a165627a7a72305820f0d27203cac43724dda4d9e8776f7a678ea4e5cf91ee43ab42084bf0542a9f780029","deployedBytecode":"0x60606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633560d4c51461007d5780637b103999146101355780638da5cb5b1461018a578063aace52fe146101df578063f2fde38b14610234575b341561007857600080fd5b600080fd5b341561008857600080fd5b61011b600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061026d565b604051808215151515815260200191505060405180910390f35b341561014057600080fd5b610148610ab6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561019557600080fd5b61019d610adc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ea57600080fd5b6101f2610b01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023f57600080fd5b61026b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b27565b005b600080600080600080600080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561033d57600080fd5b5af1151561034a57600080fd5b505050604051805190509850600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f566964656f730000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561041757600080fd5b5af1151561042457600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663693ec85e8d6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104b557808201518184015260208101905061049a565b50505050905090810190601f1680156104e25780820380516001836020036101000a031916815260200191505b509250505060c060405180830381600087803b151561050057600080fd5b5af1151561050d57600080fd5b50505060405180519060200180519060200180519060200180519060200180519060200180519050975097509750975097509750610575670de0b6b3a7640000610567610558610c7c565b8a610d5b90919063ffffffff16565b610d8e90919063ffffffff16565b91508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338b856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561064d57600080fd5b5af1151561065a57600080fd5b50505060405180519050506106788288610da990919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338a846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561075057600080fd5b5af1151561075d57600080fd5b5050506040518051905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53616c6573000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561082957600080fd5b5af1151561083657600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e8e459e0338e8a8f6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b838110156109065780820151818401526020810190506108eb565b50505050905090810190601f1680156109335780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561096c578082015181840152602081019050610951565b50505050905090810190601f1680156109995780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156109bb57600080fd5b5af115156109c857600080fd5b5050507ffb16a0cb01447521c51cd70864c5a9fa252ff62fcff41f679b24426dc4793e278c338960405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015610a67578082015181840152602081019050610a4c565b50505050905090810190601f168015610a945780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16001995050505050505050505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610bbe57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663498bff006040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252601c8152602001807f566964656f5265646973747269627574696f6e506f6f6c536861726500000000815250602001915050602060405180830381600087803b1515610d3f57600080fd5b5af11515610d4c57600080fd5b50505060405180519050905090565b60008082840290506000841480610d7c5750828482811515610d7957fe5b04145b1515610d8457fe5b8091505092915050565b6000808284811515610d9c57fe5b0490508091505092915050565b6000828211151515610db757fe5b8183039050929150505600a165627a7a72305820f0d27203cac43724dda4d9e8776f7a678ea4e5cf91ee43ab42084bf0542a9f780029"} +module.exports = {"contractName":"Store","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"sales","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":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_buyer","type":"address"},{"indexed":false,"name":"_price","type":"uint256"}],"name":"LogBuyVideo","type":"event"},{"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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"videoId","type":"string"},{"name":"ipfsData","type":"string"}],"name":"buyVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b604051602080610eaa83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610dee806100bc6000396000f30060606040526004361061006d576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633560d4c51461007d5780637b103999146101355780638da5cb5b1461018a578063aace52fe146101df578063f2fde38b14610234575b341561007857600080fd5b600080fd5b341561008857600080fd5b61011b600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061026d565b604051808215151515815260200191505060405180910390f35b341561014057600080fd5b610148610ab6565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561019557600080fd5b61019d610adc565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101ea57600080fd5b6101f2610b01565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023f57600080fd5b61026b600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b27565b005b600080600080600080600080600080600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561033d57600080fd5b5af1151561034a57600080fd5b505050604051805190509850600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f566964656f730000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561041757600080fd5b5af1151561042457600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663693ec85e8d6040518263ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104b557808201518184015260208101905061049a565b50505050905090810190601f1680156104e25780820380516001836020036101000a031916815260200191505b509250505060c060405180830381600087803b151561050057600080fd5b5af1151561050d57600080fd5b50505060405180519060200180519060200180519060200180519060200180519060200180519050975097509750975097509750610575670de0b6b3a7640000610567610558610c7c565b8a610d5b90919063ffffffff16565b610d8e90919063ffffffff16565b91508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338b856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561064d57600080fd5b5af1151561065a57600080fd5b50505060405180519050506106788288610da990919063ffffffff16565b90508873ffffffffffffffffffffffffffffffffffffffff166323b872dd338a846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b151561075057600080fd5b5af1151561075d57600080fd5b5050506040518051905050600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260058152602001807f53616c6573000000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561082957600080fd5b5af1151561083657600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff1663e8e459e0338e8a8f6040518563ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200184815260200180602001838103835286818151815260200191508051906020019080838360005b838110156109065780820151818401526020810190506108eb565b50505050905090810190601f1680156109335780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561096c578082015181840152602081019050610951565b50505050905090810190601f1680156109995780820380516001836020036101000a031916815260200191505b509650505050505050600060405180830381600087803b15156109bb57600080fd5b5af115156109c857600080fd5b5050507ffb16a0cb01447521c51cd70864c5a9fa252ff62fcff41f679b24426dc4793e278c338960405180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b83811015610a67578082015181840152602081019050610a4c565b50505050905090810190601f168015610a945780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16001995050505050505050505092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b8257600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610bbe57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663498bff006040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252601c8152602001807f566964656f5265646973747269627574696f6e506f6f6c536861726500000000815250602001915050602060405180830381600087803b1515610d3f57600080fd5b5af11515610d4c57600080fd5b50505060405180519050905090565b60008082840290506000841480610d7c5750828482811515610d7957fe5b04145b1515610d8457fe5b8091505092915050565b6000808284811515610d9c57fe5b0490508091505092915050565b6000828211151515610db757fe5b8183039050929150505600a165627a7a72305820529552b5916fb7b080db76a51a00e05b2d78888e1ade67303fd5a946f5436ab90029"} /***/ }), /* 873 */ /***/ (function(module, exports) { -module.exports = {"contractName":"TcrPlaceholder","abi":[{"constant":true,"inputs":[],"name":"minDeposit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"applyStageLen","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"listings","outputs":[{"name":"applicationExpiry","type":"uint256"},{"name":"whitelisted","type":"bool"},{"name":"owner","type":"address"},{"name":"unstakedDeposit","type":"uint256"},{"name":"challengeID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_registry","type":"address"},{"name":"_tokenAddr","type":"address"},{"name":"_minDeposit","type":"uint256"},{"name":"_applyStageLen","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"},{"indexed":false,"name":"deposit","type":"uint256"}],"name":"_Application","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"}],"name":"_NewVideoWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"},{"name":"_amount","type":"uint256"}],"name":"apply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"removeListing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"updateStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"isWhitelisted","outputs":[{"name":"whitelisted","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"appWasMade","outputs":[{"name":"exists","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_termDate","type":"uint256"}],"name":"isExpired","outputs":[{"name":"expired","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMinDeposit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"canBeWhitelisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6040516080806113dc83398101604052808051906020019091908051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816003819055508060048190555050505050611273806101696000396000f3006060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630eaad3f1146101015780630f53ba511461012a5780632c2159981461019f5780632e1a7d4d146101fc57806341b3d1851461021f5780635149606e146102485780637b103999146102a55780637f073360146102fa5780638da5cb5b14610323578063b48eea4414610378578063b6b55f25146103ed578063bfa535c714610410578063c18b8db414610447578063c53c614d146104ce578063d9548e5314610543578063e7fb53881461057e578063f2fde38b146105ac578063fc0c546a146105e5575b600080fd5b341561010c57600080fd5b61011461063a565b6040518082815260200191505060405180910390f35b341561013557600080fd5b610185600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610644565b604051808215151515815260200191505060405180910390f35b34156101aa57600080fd5b6101fa600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106d0565b005b341561020757600080fd5b61021d6004808035906020019091905050610790565b005b341561022a57600080fd5b610232610793565b6040518082815260200191505060405180910390f35b341561025357600080fd5b6102a3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610799565b005b34156102b057600080fd5b6102b8610800565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030557600080fd5b61030d610826565b6040518082815260200191505060405180910390f35b341561032e57600080fd5b61033661082c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038357600080fd5b6103d3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610851565b604051808215151515815260200191505060405180910390f35b34156103f857600080fd5b61040e60048080359060200190919050506108e8565b005b341561041b57600080fd5b610445600480803590602001908201803590602001919091929080359060200190919050506108eb565b005b341561045257600080fd5b61046c600480803560001916906020019091905050610bbb565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b34156104d957600080fd5b610529600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c1e565b604051808215151515815260200191505060405180910390f35b341561054e57600080fd5b6105646004808035906020019091905050610ce9565b604051808215151515815260200191505060405180910390f35b341561058957600080fd5b6105aa60048080359060200190820180359060200191909192905050610cf5565b005b34156105b757600080fd5b6105e3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e14565b005b34156105f057600080fd5b6105f8610f69565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600354905090565b60008060016000846040518082805190602001908083835b602083101515610681578051825260208201915060208101905060208303925061065c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000154119050919050565b6106d981610c1e565b15610788576106e781610f8f565b7fc92324d3d33d8a562daa770a1055b75689efa4374d7c65f0a9b2f6b9f090d796816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074957808201518184015260208101905061072e565b50505050905090810190601f1680156107765780820380516001836020036101000a031916815260200191505b509250505060405180910390a161078d565b600080fd5b50565b50565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107f457600080fd5b6107fd81611030565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060016000836040518082805190602001908083835b60208310151561088d5780518252602082019150602081019050602083039250610868565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b50565b600061092884848080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610851565b15151561093457600080fd5b61096f84848080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610644565b15151561097b57600080fd5b600354821015151561098c57600080fd5b600160008585604051808383808284378201915050925050506040518091039020600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610b2457600080fd5b5af11515610b3157600080fd5b505050604051805190501515610b4657600080fd5b600454430181600001819055508181600201819055507f8679b3793e06c33189be2319d77a55df6769e3b9061611d27f1809b3d56d2e6884848460405180806020018381526020018281038252858582818152602001925080828437820191505094505050505060405180910390a150505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080826040518082805190602001908083835b602083101515610c575780518252602082019150602081019050602083039250610c32565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050610c8f83610644565b8015610cbe5750610cbd60016000836000191660001916815260200190815260200160002060000154610ce9565b5b8015610cd05750610cce83610851565b155b15610cde5760019150610ce3565b600091505b50919050565b60004382109050919050565b60006001600084846040518083838082843782019150509250505060405180910390206000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8e57600080fd5b610dc983838080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610851565b1515610dd457600080fd5b610e0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050611030565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610eab57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000816040518082805190602001908083835b602083101515610fc75780518252602082019150602081019050602083039250610fa2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff0219169083151502179055505050565b600080826040518082805190602001908083835b6020831015156110695780518252602082019150602081019050602083039250611044565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000816002015411156111d157600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156111ae57600080fd5b5af115156111bb57600080fd5b5050506040518051905015156111d057600080fd5b5b6001600083600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550505050505600a165627a7a72305820bfdef24f80cdcb4a7ba847a6ec3136d88712531e8c0f63d9af7b904a6aacc5a90029","deployedBytecode":"0x6060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630eaad3f1146101015780630f53ba511461012a5780632c2159981461019f5780632e1a7d4d146101fc57806341b3d1851461021f5780635149606e146102485780637b103999146102a55780637f073360146102fa5780638da5cb5b14610323578063b48eea4414610378578063b6b55f25146103ed578063bfa535c714610410578063c18b8db414610447578063c53c614d146104ce578063d9548e5314610543578063e7fb53881461057e578063f2fde38b146105ac578063fc0c546a146105e5575b600080fd5b341561010c57600080fd5b61011461063a565b6040518082815260200191505060405180910390f35b341561013557600080fd5b610185600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610644565b604051808215151515815260200191505060405180910390f35b34156101aa57600080fd5b6101fa600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106d0565b005b341561020757600080fd5b61021d6004808035906020019091905050610790565b005b341561022a57600080fd5b610232610793565b6040518082815260200191505060405180910390f35b341561025357600080fd5b6102a3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610799565b005b34156102b057600080fd5b6102b8610800565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030557600080fd5b61030d610826565b6040518082815260200191505060405180910390f35b341561032e57600080fd5b61033661082c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038357600080fd5b6103d3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610851565b604051808215151515815260200191505060405180910390f35b34156103f857600080fd5b61040e60048080359060200190919050506108e8565b005b341561041b57600080fd5b610445600480803590602001908201803590602001919091929080359060200190919050506108eb565b005b341561045257600080fd5b61046c600480803560001916906020019091905050610bbb565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b34156104d957600080fd5b610529600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c1e565b604051808215151515815260200191505060405180910390f35b341561054e57600080fd5b6105646004808035906020019091905050610ce9565b604051808215151515815260200191505060405180910390f35b341561058957600080fd5b6105aa60048080359060200190820180359060200191909192905050610cf5565b005b34156105b757600080fd5b6105e3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e14565b005b34156105f057600080fd5b6105f8610f69565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600354905090565b60008060016000846040518082805190602001908083835b602083101515610681578051825260208201915060208101905060208303925061065c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000154119050919050565b6106d981610c1e565b15610788576106e781610f8f565b7fc92324d3d33d8a562daa770a1055b75689efa4374d7c65f0a9b2f6b9f090d796816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074957808201518184015260208101905061072e565b50505050905090810190601f1680156107765780820380516001836020036101000a031916815260200191505b509250505060405180910390a161078d565b600080fd5b50565b50565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107f457600080fd5b6107fd81611030565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060016000836040518082805190602001908083835b60208310151561088d5780518252602082019150602081019050602083039250610868565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b50565b600061092884848080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610851565b15151561093457600080fd5b61096f84848080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610644565b15151561097b57600080fd5b600354821015151561098c57600080fd5b600160008585604051808383808284378201915050925050506040518091039020600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610b2457600080fd5b5af11515610b3157600080fd5b505050604051805190501515610b4657600080fd5b600454430181600001819055508181600201819055507f8679b3793e06c33189be2319d77a55df6769e3b9061611d27f1809b3d56d2e6884848460405180806020018381526020018281038252858582818152602001925080828437820191505094505050505060405180910390a150505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080826040518082805190602001908083835b602083101515610c575780518252602082019150602081019050602083039250610c32565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050610c8f83610644565b8015610cbe5750610cbd60016000836000191660001916815260200190815260200160002060000154610ce9565b5b8015610cd05750610cce83610851565b155b15610cde5760019150610ce3565b600091505b50919050565b60004382109050919050565b60006001600084846040518083838082843782019150509250505060405180910390206000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8e57600080fd5b610dc983838080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610851565b1515610dd457600080fd5b610e0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050611030565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610eab57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000816040518082805190602001908083835b602083101515610fc75780518252602082019150602081019050602083039250610fa2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff0219169083151502179055505050565b600080826040518082805190602001908083835b6020831015156110695780518252602082019150602081019050602083039250611044565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000816002015411156111d157600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156111ae57600080fd5b5af115156111bb57600080fd5b5050506040518051905015156111d057600080fd5b5b6001600083600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550505050505600a165627a7a72305820bfdef24f80cdcb4a7ba847a6ec3136d88712531e8c0f63d9af7b904a6aacc5a90029"} +module.exports = {"contractName":"TcrPlaceholder","abi":[{"constant":true,"inputs":[],"name":"minDeposit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"applyStageLen","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"listings","outputs":[{"name":"applicationExpiry","type":"uint256"},{"name":"whitelisted","type":"bool"},{"name":"owner","type":"address"},{"name":"unstakedDeposit","type":"uint256"},{"name":"challengeID","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_registry","type":"address"},{"name":"_tokenAddr","type":"address"},{"name":"_minDeposit","type":"uint256"},{"name":"_applyStageLen","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"},{"indexed":false,"name":"deposit","type":"uint256"}],"name":"_Application","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"}],"name":"_NewVideoWhitelisted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"},{"name":"_amount","type":"uint256"}],"name":"apply","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"deposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"removeListing","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"updateStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"isWhitelisted","outputs":[{"name":"whitelisted","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"appWasMade","outputs":[{"name":"exists","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_termDate","type":"uint256"}],"name":"isExpired","outputs":[{"name":"expired","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getMinDeposit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"canBeWhitelisted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6040516080806113dc83398101604052808051906020019091908051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816003819055508060048190555050505050611273806101696000396000f3006060604052600436106100fc576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630eaad3f1146101015780630f53ba511461012a5780632c2159981461019f5780632e1a7d4d146101fc57806341b3d1851461021f5780635149606e146102485780637b103999146102a55780637f073360146102fa5780638da5cb5b14610323578063b48eea4414610378578063b6b55f25146103ed578063bfa535c714610410578063c18b8db414610447578063c53c614d146104ce578063d9548e5314610543578063e7fb53881461057e578063f2fde38b146105ac578063fc0c546a146105e5575b600080fd5b341561010c57600080fd5b61011461063a565b6040518082815260200191505060405180910390f35b341561013557600080fd5b610185600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610644565b604051808215151515815260200191505060405180910390f35b34156101aa57600080fd5b6101fa600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106d0565b005b341561020757600080fd5b61021d6004808035906020019091905050610790565b005b341561022a57600080fd5b610232610793565b6040518082815260200191505060405180910390f35b341561025357600080fd5b6102a3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610799565b005b34156102b057600080fd5b6102b8610800565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561030557600080fd5b61030d610826565b6040518082815260200191505060405180910390f35b341561032e57600080fd5b61033661082c565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561038357600080fd5b6103d3600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610851565b604051808215151515815260200191505060405180910390f35b34156103f857600080fd5b61040e60048080359060200190919050506108e8565b005b341561041b57600080fd5b610445600480803590602001908201803590602001919091929080359060200190919050506108eb565b005b341561045257600080fd5b61046c600480803560001916906020019091905050610bbb565b60405180868152602001851515151581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019550505050505060405180910390f35b34156104d957600080fd5b610529600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610c1e565b604051808215151515815260200191505060405180910390f35b341561054e57600080fd5b6105646004808035906020019091905050610ce9565b604051808215151515815260200191505060405180910390f35b341561058957600080fd5b6105aa60048080359060200190820180359060200191909192905050610cf5565b005b34156105b757600080fd5b6105e3600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610e14565b005b34156105f057600080fd5b6105f8610f69565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6000600354905090565b60008060016000846040518082805190602001908083835b602083101515610681578051825260208201915060208101905060208303925061065c565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000154119050919050565b6106d981610c1e565b15610788576106e781610f8f565b7fc92324d3d33d8a562daa770a1055b75689efa4374d7c65f0a9b2f6b9f090d796816040518080602001828103825283818151815260200191508051906020019080838360005b8381101561074957808201518184015260208101905061072e565b50505050905090810190601f1680156107765780820380516001836020036101000a031916815260200191505b509250505060405180910390a161078d565b600080fd5b50565b50565b60035481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107f457600080fd5b6107fd81611030565b50565b600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600060016000836040518082805190602001908083835b60208310151561088d5780518252602082019150602081019050602083039250610868565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060010160009054906101000a900460ff169050919050565b50565b600061092884848080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610851565b15151561093457600080fd5b61096f84848080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610644565b15151561097b57600080fd5b600354821015151561098c57600080fd5b600160008585604051808383808284378201915050925050506040518091039020600019166000191681526020019081526020016000209050338160010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630856040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019350505050602060405180830381600087803b1515610b2457600080fd5b5af11515610b3157600080fd5b505050604051805190501515610b4657600080fd5b600454430181600001819055508181600201819055507f8679b3793e06c33189be2319d77a55df6769e3b9061611d27f1809b3d56d2e6884848460405180806020018381526020018281038252858582818152602001925080828437820191505094505050505060405180910390a150505050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154908060030154905085565b600080826040518082805190602001908083835b602083101515610c575780518252602082019150602081019050602083039250610c32565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050610c8f83610644565b8015610cbe5750610cbd60016000836000191660001916815260200190815260200160002060000154610ce9565b5b8015610cd05750610cce83610851565b155b15610cde5760019150610ce3565b600091505b50919050565b60004382109050919050565b60006001600084846040518083838082843782019150509250505060405180910390206000191660001916815260200190815260200160002090508060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610d8e57600080fd5b610dc983838080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050610851565b1515610dd457600080fd5b610e0f83838080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050611030565b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6f57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610eab57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000816040518082805190602001908083835b602083101515610fc75780518252602082019150602081019050602083039250610fa2565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902090506001806000836000191660001916815260200190815260200160002060010160006101000a81548160ff0219169083151502179055505050565b600080826040518082805190602001908083835b6020831015156110695780518252602082019150602081019050602083039250611044565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000816002015411156111d157600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8260010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683600201546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b15156111ae57600080fd5b5af115156111bb57600080fd5b5050506040518051905015156111d057600080fd5b5b6001600083600019166000191681526020019081526020016000206000808201600090556001820160006101000a81549060ff02191690556001820160016101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160009055600382016000905550505050505600a165627a7a72305820bfdef24f80cdcb4a7ba847a6ec3136d88712531e8c0f63d9af7b904a6aacc5a90029"} /***/ }), /* 874 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Users","abi":[{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"users","outputs":[{"name":"name","type":"string"},{"name":"email","type":"string"},{"name":"ipfsData","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_name","type":"string"},{"indexed":false,"name":"_email","type":"string"},{"indexed":false,"name":"_ipfsData","type":"string"}],"name":"LogCreateUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"}],"name":"LogRemoveUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_name","type":"string"},{"name":"_email","type":"string"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"get","outputs":[{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061115e83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050611062806100fc6000396000f300606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329092d0e1461007d57806358192547146100b65780638da5cb5b146101b8578063a87430ba1461020d578063c2bc2efc14610397578063f2fde38b14610521575b600080fd5b341561008857600080fd5b6100b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061055a565b005b34156100c157600080fd5b6101b6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106a5565b005b34156101c357600080fd5b6101cb610980565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561021857600080fd5b610244600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109a5565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561028c578082015181840152602081019050610271565b50505050905090810190601f1680156102b95780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156102f25780820151818401526020810190506102d7565b50505050905090810190601f16801561031f5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561035857808201518184015260208101905061033d565b50505050905090810190601f1680156103855780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34156103a257600080fd5b6103ce600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b97565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156104165780820151818401526020810190506103fb565b50505050905090810190601f1680156104435780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561047c578082015181840152602081019050610461565b50505050905090810190601f1680156104a95780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156104e25780820151818401526020810190506104c7565b50505050905090810190601f16801561050f5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b341561052c57600080fd5b610558600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de0565b005b806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105e157508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105ec57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600061063c9190610f35565b60018201600061064c9190610f35565b60028201600061065c9190610f35565b50508173ffffffffffffffffffffffffffffffffffffffff167f55851df80c45c1f97f20eea833f78ef3d130c5a10c8fc9c7ee1c7f1612b5c5b160405160405180910390a25050565b836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061072c57508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561073757600080fd5b60606040519081016040528085815260200184815260200183815250600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190805190602001906107ae929190610f7d565b5060208201518160010190805190602001906107cb929190610f7d565b5060408201518160020190805190602001906107e8929190610f7d565b509050508473ffffffffffffffffffffffffffffffffffffffff167fba99562563f525f7262c85e26d4cc59ed7bc12b61f8c070b57cb400fa8e6a9b885858560405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561086f578082015181840152602081019050610854565b50505050905090810190601f16801561089c5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156108d55780820151818401526020810190506108ba565b50505050905090810190601f1680156109025780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561093b578082015181840152602081019050610920565b50505050905090810190601f1680156109685780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a25050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a515780601f10610a2657610100808354040283529160200191610a51565b820191906000526020600020905b815481529060010190602001808311610a3457829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aef5780601f10610ac457610100808354040283529160200191610aef565b820191906000526020600020905b815481529060010190602001808311610ad257829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b8d5780601f10610b6257610100808354040283529160200191610b8d565b820191906000526020600020905b815481529060010190602001808311610b7057829003601f168201915b5050505050905083565b610b9f610ffd565b610ba7610ffd565b610baf610ffd565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806000018160010182600201828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c935780601f10610c6857610100808354040283529160200191610c93565b820191906000526020600020905b815481529060010190602001808311610c7657829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b50505050509150808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dcb5780601f10610da057610100808354040283529160200191610dcb565b820191906000526020600020905b815481529060010190602001808311610dae57829003601f168201915b50505050509050935093509350509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e3b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e7757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f10610f5b5750610f7a565b601f016020900490600052602060002090810190610f799190611011565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fbe57805160ff1916838001178555610fec565b82800160010185558215610fec579182015b82811115610feb578251825591602001919060010190610fd0565b5b509050610ff99190611011565b5090565b602060405190810160405280600081525090565b61103391905b8082111561102f576000816000905550600101611017565b5090565b905600a165627a7a72305820c9399b1ff0f8cb831ad4f0d78a00ca56e8c540e031f43b964c727d540c4bafbf0029","deployedBytecode":"0x606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329092d0e1461007d57806358192547146100b65780638da5cb5b146101b8578063a87430ba1461020d578063c2bc2efc14610397578063f2fde38b14610521575b600080fd5b341561008857600080fd5b6100b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061055a565b005b34156100c157600080fd5b6101b6600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506106a5565b005b34156101c357600080fd5b6101cb610980565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561021857600080fd5b610244600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506109a5565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561028c578082015181840152602081019050610271565b50505050905090810190601f1680156102b95780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156102f25780820151818401526020810190506102d7565b50505050905090810190601f16801561031f5780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561035857808201518184015260208101905061033d565b50505050905090810190601f1680156103855780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b34156103a257600080fd5b6103ce600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610b97565b60405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b838110156104165780820151818401526020810190506103fb565b50505050905090810190601f1680156104435780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b8381101561047c578082015181840152602081019050610461565b50505050905090810190601f1680156104a95780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b838110156104e25780820151818401526020810190506104c7565b50505050905090810190601f16801561050f5780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390f35b341561052c57600080fd5b610558600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de0565b005b806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105e157508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105ec57600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000808201600061063c9190610f35565b60018201600061064c9190610f35565b60028201600061065c9190610f35565b50508173ffffffffffffffffffffffffffffffffffffffff167f55851df80c45c1f97f20eea833f78ef3d130c5a10c8fc9c7ee1c7f1612b5c5b160405160405180910390a25050565b836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061072c57508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561073757600080fd5b60606040519081016040528085815260200184815260200183815250600260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000190805190602001906107ae929190610f7d565b5060208201518160010190805190602001906107cb929190610f7d565b5060408201518160020190805190602001906107e8929190610f7d565b509050508473ffffffffffffffffffffffffffffffffffffffff167fba99562563f525f7262c85e26d4cc59ed7bc12b61f8c070b57cb400fa8e6a9b885858560405180806020018060200180602001848103845287818151815260200191508051906020019080838360005b8381101561086f578082015181840152602081019050610854565b50505050905090810190601f16801561089c5780820380516001836020036101000a031916815260200191505b50848103835286818151815260200191508051906020019080838360005b838110156108d55780820151818401526020810190506108ba565b50505050905090810190601f1680156109025780820380516001836020036101000a031916815260200191505b50848103825285818151815260200191508051906020019080838360005b8381101561093b578082015181840152602081019050610920565b50505050905090810190601f1680156109685780820380516001836020036101000a031916815260200191505b50965050505050505060405180910390a25050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a515780601f10610a2657610100808354040283529160200191610a51565b820191906000526020600020905b815481529060010190602001808311610a3457829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610aef5780601f10610ac457610100808354040283529160200191610aef565b820191906000526020600020905b815481529060010190602001808311610ad257829003601f168201915b505050505090806002018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610b8d5780601f10610b6257610100808354040283529160200191610b8d565b820191906000526020600020905b815481529060010190602001808311610b7057829003601f168201915b5050505050905083565b610b9f610ffd565b610ba7610ffd565b610baf610ffd565b6000600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000209050806000018160010182600201828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c935780601f10610c6857610100808354040283529160200191610c93565b820191906000526020600020905b815481529060010190602001808311610c7657829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d2f5780601f10610d0457610100808354040283529160200191610d2f565b820191906000526020600020905b815481529060010190602001808311610d1257829003601f168201915b50505050509150808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610dcb5780601f10610da057610100808354040283529160200191610dcb565b820191906000526020600020905b815481529060010190602001808311610dae57829003601f168201915b50505050509050935093509350509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e3b57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e7757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f10610f5b5750610f7a565b601f016020900490600052602060002090810190610f799190611011565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fbe57805160ff1916838001178555610fec565b82800160010185558215610fec579182015b82811115610feb578251825591602001919060010190610fd0565b5b509050610ff99190611011565b5090565b602060405190810160405280600081525090565b61103391905b8082111561102f576000816000905550600101611017565b5090565b905600a165627a7a72305820c9399b1ff0f8cb831ad4f0d78a00ca56e8c540e031f43b964c727d540c4bafbf0029"} +module.exports = {"contractName":"Users","abi":[{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"users","outputs":[{"name":"name","type":"string"},{"name":"ipfsData","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"},{"indexed":false,"name":"_name","type":"string"},{"indexed":false,"name":"_ipfsData","type":"string"}],"name":"LogCreateUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_address","type":"address"}],"name":"LogRemoveUser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_address","type":"address"},{"name":"_name","type":"string"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_address","type":"address"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"get","outputs":[{"name":"","type":"string"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b604051602080610e5783398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610d5b806100fc6000396000f300606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806329092d0e1461007d578063796d5836146100b65780638da5cb5b14610175578063a87430ba146101ca578063c2bc2efc146102e8578063f2fde38b14610406575b600080fd5b341561008857600080fd5b6100b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061043f565b005b34156100c157600080fd5b610173600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061057a565b005b341561018057600080fd5b6101886107c3565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101d557600080fd5b610201600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506107e8565b604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561024557808201518184015260208101905061022a565b50505050905090810190601f1680156102725780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156102ab578082015181840152602081019050610290565b50505050905090810190601f1680156102d85780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34156102f357600080fd5b61031f600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190505061093c565b604051808060200180602001838103835285818151815260200191508051906020019080838360005b83811015610363578082015181840152602081019050610348565b50505050905090810190601f1680156103905780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b838110156103c95780820151818401526020810190506103ae565b50505050905090810190601f1680156103f65780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b341561041157600080fd5b61043d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ad9565b005b806000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806104c657508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156104d157600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006105219190610c2e565b6001820160006105319190610c2e565b50508173ffffffffffffffffffffffffffffffffffffffff167f55851df80c45c1f97f20eea833f78ef3d130c5a10c8fc9c7ee1c7f1612b5c5b160405160405180910390a25050565b826000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061060157508073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b151561060c57600080fd5b604080519081016040528084815260200183815250600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082015181600001908051906020019061067c929190610c76565b506020820151816001019080519060200190610699929190610c76565b509050508373ffffffffffffffffffffffffffffffffffffffff167feb1983bbbf7354538ff232f08c3574264a4ecf925b76c98a5fd65db324a937248484604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561071b578082015181840152602081019050610700565b50505050905090810190601f1680156107485780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610781578082015181840152602081019050610766565b50505050905090810190601f1680156107ae5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a250505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6002602052806000526040600020600091509050806000018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156108945780601f1061086957610100808354040283529160200191610894565b820191906000526020600020905b81548152906001019060200180831161087757829003601f168201915b505050505090806001018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156109325780601f1061090757610100808354040283529160200191610932565b820191906000526020600020905b81548152906001019060200180831161091557829003601f168201915b5050505050905082565b610944610cf6565b61094c610cf6565b6000600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060000181600101818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610a2c5780601f10610a0157610100808354040283529160200191610a2c565b820191906000526020600020905b815481529060010190602001808311610a0f57829003601f168201915b50505050509150808054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ac85780601f10610a9d57610100808354040283529160200191610ac8565b820191906000526020600020905b815481529060010190602001808311610aab57829003601f168201915b505050505090509250925050915091565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610b3457600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610b7057600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b50805460018160011615610100020316600290046000825580601f10610c545750610c73565b601f016020900490600052602060002090810190610c729190610d0a565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610cb757805160ff1916838001178555610ce5565b82800160010185558215610ce5579182015b82811115610ce4578251825591602001919060010190610cc9565b5b509050610cf29190610d0a565b5090565b602060405190810160405280600081525090565b610d2c91905b80821115610d28576000816000905550600101610d10565b5090565b905600a165627a7a723058201d9549d5cadb2d195ff63664d9731b441d86c7f8868b0eb68b893a03e84620190029"} /***/ }), /* 875 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Videos","abi":[{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paratiiRegistry","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":"_paratiiRegistry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"},{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":false,"name":"ipfsHashOrig","type":"string"},{"indexed":false,"name":"ipfsHash","type":"string"},{"indexed":false,"name":"ipfsData","type":"string"},{"indexed":false,"name":"registrar","type":"address"}],"name":"LogCreateVideo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"}],"name":"LogRemoveVideo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"},{"name":"_owner","type":"address"},{"name":"_price","type":"uint256"},{"name":"_ipfsHashOrig","type":"string"},{"name":"_ipfsHash","type":"string"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"get","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6040516020806114ce83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506113d2806100fc6000396000f300606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b9d64b61461007d578063693ec85e146101cb57806380599e4b146103e65780638da5cb5b146104435780639e20f78914610498578063f2fde38b146104ed575b600080fd5b341561008857600080fd5b6101c9600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610526565b005b34156101d657600080fd5b610226600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610aed565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018060200180602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845288818151815260200191508051906020019080838360005b838110156102d85780820151818401526020810190506102bd565b50505050905090810190601f1680156103055780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b8381101561033e578082015181840152602081019050610323565b50505050905090810190601f16801561036b5780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b838110156103a4578082015181840152602081019050610389565b50505050905090810190601f1680156103d15780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34156103f157600080fd5b610441600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dcf565b005b341561044e57600080fd5b610456611105565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104a357600080fd5b6104ab61112a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f857600080fd5b610524600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611150565b005b600086600080826040518082805190602001908083835b602083101515610562578051825260208201915060208101905060208303925061053d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061069d575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061069c57508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b15156106a857600080fd5b896040518082805190602001908083835b6020831015156106de57805182526020820191506020810190506020830392506106b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935060e060405190810160405280856000191681526020018881526020018781526020018681526020018981526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152506001600086600019166000191681526020019081526020016000206000820151816000019060001916905560208201518160010190805190602001906107b89291906112a5565b5060408201518160020190805190602001906107d59291906112a5565b5060608201518160030190805190602001906107f29291906112a5565b506080820151816004015560a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507f36c65780b27428d759ce656fa342f6c1ceee6d63f4ab799527453d0209ef6e228a8a8a8a8a8a3360405180806020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185810385528c818151815260200191508051906020019080838360005b8381101561096c578082015181840152602081019050610951565b50505050905090810190601f1680156109995780820380516001836020036101000a031916815260200191505b50858103845289818151815260200191508051906020019080838360005b838110156109d25780820151818401526020810190506109b7565b50505050905090810190601f1680156109ff5780820380516001836020036101000a031916815260200191505b50858103835288818151815260200191508051906020019080838360005b83811015610a38578082015181840152602081019050610a1d565b50505050905090810190601f168015610a655780820380516001836020036101000a031916815260200191505b50858103825287818151815260200191508051906020019080838360005b83811015610a9e578082015181840152602081019050610a83565b50505050905090810190601f168015610acb5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390a150505050505050505050565b600080610af8611325565b610b00611325565b610b08611325565b60008060016000896040518082805190602001908083835b602083101515610b455780518252602082019150602081019050602083039250610b20565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600401548260010183600201846003018560060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c7a5780601f10610c4f57610100808354040283529160200191610c7a565b820191906000526020600020905b815481529060010190602001808311610c5d57829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d165780601f10610ceb57610100808354040283529160200191610d16565b820191906000526020600020905b815481529060010190602001808311610cf957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610db25780601f10610d8757610100808354040283529160200191610db2565b820191906000526020600020905b815481529060010190602001808311610d9557829003601f168201915b505050505091509650965096509650965096505091939550919395565b600081600080826040518082805190602001908083835b602083101515610e0b5780518252602082019150602081019050602083039250610de6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f46575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f4557508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b1515610f5157600080fd5b846040518082805190602001908083835b602083101515610f875780518252602082019150602081019050602083039250610f62565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600160008560001916600019168152602001908152602001600020600080820160009055600182016000610fea9190611339565b600282016000610ffa9190611339565b60038201600061100a9190611339565b60048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550507f592a19ecda39f9bdfc71b1f128f024319cff48402f55ccf171b0878d5b69b7d5856040518080602001828103825283818151815260200191508051906020019080838360005b838110156110c45780820151818401526020810190506110a9565b50505050905090810190601f1680156110f15780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111ab57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111e757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112e657805160ff1916838001178555611314565b82800160010185558215611314579182015b828111156113135782518255916020019190600101906112f8565b5b5090506113219190611381565b5090565b602060405190810160405280600081525090565b50805460018160011615610100020316600290046000825580601f1061135f575061137e565b601f01602090049060005260206000209081019061137d9190611381565b5b50565b6113a391905b8082111561139f576000816000905550600101611387565b5090565b905600a165627a7a7230582073090c3d9484c259807a6ae34cd30c561fc4a34f2202df3cf6ce663715b8e1990029","deployedBytecode":"0x606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b9d64b61461007d578063693ec85e146101cb57806380599e4b146103e65780638da5cb5b146104435780639e20f78914610498578063f2fde38b146104ed575b600080fd5b341561008857600080fd5b6101c9600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610526565b005b34156101d657600080fd5b610226600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610aed565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018060200180602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845288818151815260200191508051906020019080838360005b838110156102d85780820151818401526020810190506102bd565b50505050905090810190601f1680156103055780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b8381101561033e578082015181840152602081019050610323565b50505050905090810190601f16801561036b5780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b838110156103a4578082015181840152602081019050610389565b50505050905090810190601f1680156103d15780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34156103f157600080fd5b610441600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dcf565b005b341561044e57600080fd5b610456611105565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104a357600080fd5b6104ab61112a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f857600080fd5b610524600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611150565b005b600086600080826040518082805190602001908083835b602083101515610562578051825260208201915060208101905060208303925061053d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061069d575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061069c57508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b15156106a857600080fd5b896040518082805190602001908083835b6020831015156106de57805182526020820191506020810190506020830392506106b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935060e060405190810160405280856000191681526020018881526020018781526020018681526020018981526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152506001600086600019166000191681526020019081526020016000206000820151816000019060001916905560208201518160010190805190602001906107b89291906112a5565b5060408201518160020190805190602001906107d59291906112a5565b5060608201518160030190805190602001906107f29291906112a5565b506080820151816004015560a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507f36c65780b27428d759ce656fa342f6c1ceee6d63f4ab799527453d0209ef6e228a8a8a8a8a8a3360405180806020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185810385528c818151815260200191508051906020019080838360005b8381101561096c578082015181840152602081019050610951565b50505050905090810190601f1680156109995780820380516001836020036101000a031916815260200191505b50858103845289818151815260200191508051906020019080838360005b838110156109d25780820151818401526020810190506109b7565b50505050905090810190601f1680156109ff5780820380516001836020036101000a031916815260200191505b50858103835288818151815260200191508051906020019080838360005b83811015610a38578082015181840152602081019050610a1d565b50505050905090810190601f168015610a655780820380516001836020036101000a031916815260200191505b50858103825287818151815260200191508051906020019080838360005b83811015610a9e578082015181840152602081019050610a83565b50505050905090810190601f168015610acb5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390a150505050505050505050565b600080610af8611325565b610b00611325565b610b08611325565b60008060016000896040518082805190602001908083835b602083101515610b455780518252602082019150602081019050602083039250610b20565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600401548260010183600201846003018560060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c7a5780601f10610c4f57610100808354040283529160200191610c7a565b820191906000526020600020905b815481529060010190602001808311610c5d57829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d165780601f10610ceb57610100808354040283529160200191610d16565b820191906000526020600020905b815481529060010190602001808311610cf957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610db25780601f10610d8757610100808354040283529160200191610db2565b820191906000526020600020905b815481529060010190602001808311610d9557829003601f168201915b505050505091509650965096509650965096505091939550919395565b600081600080826040518082805190602001908083835b602083101515610e0b5780518252602082019150602081019050602083039250610de6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f46575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f4557508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b1515610f5157600080fd5b846040518082805190602001908083835b602083101515610f875780518252602082019150602081019050602083039250610f62565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600160008560001916600019168152602001908152602001600020600080820160009055600182016000610fea9190611339565b600282016000610ffa9190611339565b60038201600061100a9190611339565b60048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550507f592a19ecda39f9bdfc71b1f128f024319cff48402f55ccf171b0878d5b69b7d5856040518080602001828103825283818151815260200191508051906020019080838360005b838110156110c45780820151818401526020810190506110a9565b50505050905090810190601f1680156110f15780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111ab57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111e757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112e657805160ff1916838001178555611314565b82800160010185558215611314579182015b828111156113135782518255916020019190600101906112f8565b5b5090506113219190611381565b5090565b602060405190810160405280600081525090565b50805460018160011615610100020316600290046000825580601f1061135f575061137e565b601f01602090049060005260206000209081019061137d9190611381565b5b50565b6113a391905b8082111561139f576000816000905550600101611387565b5090565b905600a165627a7a7230582073090c3d9484c259807a6ae34cd30c561fc4a34f2202df3cf6ce663715b8e1990029"} +module.exports = {"contractName":"Videos","abi":[{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paratiiRegistry","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":"_paratiiRegistry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"},{"indexed":false,"name":"owner","type":"address"},{"indexed":false,"name":"price","type":"uint256"},{"indexed":false,"name":"ipfsHashOrig","type":"string"},{"indexed":false,"name":"ipfsHash","type":"string"},{"indexed":false,"name":"ipfsData","type":"string"},{"indexed":false,"name":"registrar","type":"address"}],"name":"LogCreateVideo","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"videoId","type":"string"}],"name":"LogRemoveVideo","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"},{"name":"_owner","type":"address"},{"name":"_price","type":"uint256"},{"name":"_ipfsHashOrig","type":"string"},{"name":"_ipfsHash","type":"string"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_videoId","type":"string"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_videoId","type":"string"}],"name":"get","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"string"},{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b6040516020806114ce83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506113d2806100fc6000396000f300606060405260043610610078576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630b9d64b61461007d578063693ec85e146101cb57806380599e4b146103e65780638da5cb5b146104435780639e20f78914610498578063f2fde38b146104ed575b600080fd5b341561008857600080fd5b6101c9600480803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610526565b005b34156101d657600080fd5b610226600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610aed565b604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018681526020018060200180602001806020018573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001848103845288818151815260200191508051906020019080838360005b838110156102d85780820151818401526020810190506102bd565b50505050905090810190601f1680156103055780820380516001836020036101000a031916815260200191505b50848103835287818151815260200191508051906020019080838360005b8381101561033e578082015181840152602081019050610323565b50505050905090810190601f16801561036b5780820380516001836020036101000a031916815260200191505b50848103825286818151815260200191508051906020019080838360005b838110156103a4578082015181840152602081019050610389565b50505050905090810190601f1680156103d15780820380516001836020036101000a031916815260200191505b50995050505050505050505060405180910390f35b34156103f157600080fd5b610441600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610dcf565b005b341561044e57600080fd5b610456611105565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104a357600080fd5b6104ab61112a565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156104f857600080fd5b610524600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611150565b005b600086600080826040518082805190602001908083835b602083101515610562578051825260208201915060208101905060208303925061053d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16148061069d575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061069c57508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b15156106a857600080fd5b896040518082805190602001908083835b6020831015156106de57805182526020820191506020810190506020830392506106b9565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020935060e060405190810160405280856000191681526020018881526020018781526020018681526020018981526020018a73ffffffffffffffffffffffffffffffffffffffff1681526020013373ffffffffffffffffffffffffffffffffffffffff168152506001600086600019166000191681526020019081526020016000206000820151816000019060001916905560208201518160010190805190602001906107b89291906112a5565b5060408201518160020190805190602001906107d59291906112a5565b5060608201518160030190805190602001906107f29291906112a5565b506080820151816004015560a08201518160050160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160060160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509050507f36c65780b27428d759ce656fa342f6c1ceee6d63f4ab799527453d0209ef6e228a8a8a8a8a8a3360405180806020018873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018781526020018060200180602001806020018673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200185810385528c818151815260200191508051906020019080838360005b8381101561096c578082015181840152602081019050610951565b50505050905090810190601f1680156109995780820380516001836020036101000a031916815260200191505b50858103845289818151815260200191508051906020019080838360005b838110156109d25780820151818401526020810190506109b7565b50505050905090810190601f1680156109ff5780820380516001836020036101000a031916815260200191505b50858103835288818151815260200191508051906020019080838360005b83811015610a38578082015181840152602081019050610a1d565b50505050905090810190601f168015610a655780820380516001836020036101000a031916815260200191505b50858103825287818151815260200191508051906020019080838360005b83811015610a9e578082015181840152602081019050610a83565b50505050905090810190601f168015610acb5780820380516001836020036101000a031916815260200191505b509b50505050505050505050505060405180910390a150505050505050505050565b600080610af8611325565b610b00611325565b610b08611325565b60008060016000896040518082805190602001908083835b602083101515610b455780518252602082019150602081019050602083039250610b20565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060050160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681600401548260010183600201846003018560060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c7a5780601f10610c4f57610100808354040283529160200191610c7a565b820191906000526020600020905b815481529060010190602001808311610c5d57829003601f168201915b50505050509350828054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610d165780601f10610ceb57610100808354040283529160200191610d16565b820191906000526020600020905b815481529060010190602001808311610cf957829003601f168201915b50505050509250818054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610db25780601f10610d8757610100808354040283529160200191610db2565b820191906000526020600020905b815481529060010190602001808311610d9557829003601f168201915b505050505091509650965096509650965096505091939550919395565b600081600080826040518082805190602001908083835b602083101515610e0b5780518252602082019150602081019050602083039250610de6565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020915060016000836000191660001916815260200190815260200160002090506000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610f46575060008160060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161480610f4557508060060160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b5b1515610f5157600080fd5b846040518082805190602001908083835b602083101515610f875780518252602082019150602081019050602083039250610f62565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209350600160008560001916600019168152602001908152602001600020600080820160009055600182016000610fea9190611339565b600282016000610ffa9190611339565b60038201600061100a9190611339565b60048201600090556005820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556006820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550507f592a19ecda39f9bdfc71b1f128f024319cff48402f55ccf171b0878d5b69b7d5856040518080602001828103825283818151815260200191508051906020019080838360005b838110156110c45780820151818401526020810190506110a9565b50505050905090810190601f1680156110f15780820380516001836020036101000a031916815260200191505b509250505060405180910390a15050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156111ab57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141515156111e757600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106112e657805160ff1916838001178555611314565b82800160010185558215611314579182015b828111156113135782518255916020019190600101906112f8565b5b5090506113219190611381565b5090565b602060405190810160405280600081525090565b50805460018160011615610100020316600290046000825580601f1061135f575061137e565b601f01602090049060005260206000209081019061137d9190611381565b5b50565b6113a391905b8082111561139f576000816000905550600101611387565b5090565b905600a165627a7a7230582073090c3d9484c259807a6ae34cd30c561fc4a34f2202df3cf6ce663715b8e1990029"} /***/ }), /* 876 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Views","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_ipfsData","type":"string"}],"name":"LogCreateView","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_videoId","type":"string"}],"name":"LogRemoveView","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"}],"name":"get","outputs":[{"name":"","type":"bool"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"}],"name":"userViewedVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061129f83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506111a3806100fc6000396000f300606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc814610088578063796d5836146101045780637b103999146101c35780638da5cb5b146102185780638fe001a51461026d578063f2fde38b14610301578063fc2525ab1461033a575b600080fd5b341561009357600080fd5b610102600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061043a565b005b341561010f57600080fd5b6101c1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610757565b005b34156101ce57600080fd5b6101d6610b13565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561022357600080fd5b61022b610b39565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561027857600080fd5b6102e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b5e565b604051808215151515815260200191505060405180910390f35b341561030c57600080fd5b610338600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c33565b005b341561034557600080fd5b6103b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610d88565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156103fe5780820151818401526020810190506103e3565b50505050905090810190601f16801561042b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105975750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055157600080fd5b5af1151561055e57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105a257600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b60208310151561061957805182526020820191506020810190506020830392506105f4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff02191690556001820160006106819190611076565b50507f7ed2574507414d87ae20434a5bae56eef5c81885cd02fc205ce20d24356542328282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107185780820151818401526020810190506106fd565b50505050905090810190601f1680156107455780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108b45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561086e57600080fd5b5af1151561087b57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156108bf57600080fd5b604080519081016040528060011515815260200182815250600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000846040518082805190602001908083835b60208310151561094e5780518252602082019150602081019050602083039250610929565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010190805190602001906109cd9291906110be565b509050507f73b2750ccaf84fc0cce582f3529304dc9e0b4b3b7e84ca44757a6abbfb9a2d81838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a6b578082015181840152602081019050610a50565b50505050905090810190601f168015610a985780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ad1578082015181840152602081019050610ab6565b50505050905090810190601f168015610afe5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610bd75780518252602082019150602081019050602083039250610bb2565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cca57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610d9261113e565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ef15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610eab57600080fd5b5af11515610eb857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610efc57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610f735780518252602082019150602081019050602083039250610f4e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060000160009054906101000a900460ff1681600101808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110635780601f1061103857610100808354040283529160200191611063565b820191906000526020600020905b81548152906001019060200180831161104657829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f1061109c57506110bb565b601f0160209004906000526020600020908101906110ba9190611152565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110ff57805160ff191683800117855561112d565b8280016001018555821561112d579182015b8281111561112c578251825591602001919060010190611111565b5b50905061113a9190611152565b5090565b602060405190810160405280600081525090565b61117491905b80821115611170576000816000905550600101611158565b5090565b905600a165627a7a723058204c6de8221e348d3e73e4e2170912f7479f6c347e13c37334614230ae011056ed0029","deployedBytecode":"0x606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc814610088578063796d5836146101045780637b103999146101c35780638da5cb5b146102185780638fe001a51461026d578063f2fde38b14610301578063fc2525ab1461033a575b600080fd5b341561009357600080fd5b610102600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061043a565b005b341561010f57600080fd5b6101c1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610757565b005b34156101ce57600080fd5b6101d6610b13565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561022357600080fd5b61022b610b39565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561027857600080fd5b6102e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b5e565b604051808215151515815260200191505060405180910390f35b341561030c57600080fd5b610338600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c33565b005b341561034557600080fd5b6103b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610d88565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156103fe5780820151818401526020810190506103e3565b50505050905090810190601f16801561042b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105975750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055157600080fd5b5af1151561055e57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105a257600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b60208310151561061957805182526020820191506020810190506020830392506105f4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff02191690556001820160006106819190611076565b50507f7ed2574507414d87ae20434a5bae56eef5c81885cd02fc205ce20d24356542328282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107185780820151818401526020810190506106fd565b50505050905090810190601f1680156107455780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108b45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561086e57600080fd5b5af1151561087b57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156108bf57600080fd5b604080519081016040528060011515815260200182815250600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000846040518082805190602001908083835b60208310151561094e5780518252602082019150602081019050602083039250610929565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010190805190602001906109cd9291906110be565b509050507f73b2750ccaf84fc0cce582f3529304dc9e0b4b3b7e84ca44757a6abbfb9a2d81838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a6b578082015181840152602081019050610a50565b50505050905090810190601f168015610a985780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ad1578082015181840152602081019050610ab6565b50505050905090810190601f168015610afe5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610bd75780518252602082019150602081019050602083039250610bb2565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cca57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610d9261113e565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ef15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610eab57600080fd5b5af11515610eb857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610efc57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610f735780518252602082019150602081019050602083039250610f4e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060000160009054906101000a900460ff1681600101808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110635780601f1061103857610100808354040283529160200191611063565b820191906000526020600020905b81548152906001019060200180831161104657829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f1061109c57506110bb565b601f0160209004906000526020600020908101906110ba9190611152565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110ff57805160ff191683800117855561112d565b8280016001018555821561112d579182015b8281111561112c578251825591602001919060010190611111565b5b50905061113a9190611152565b5090565b602060405190810160405280600081525090565b61117491905b80821115611170576000816000905550600101611158565b5090565b905600a165627a7a723058204c6de8221e348d3e73e4e2170912f7479f6c347e13c37334614230ae011056ed0029"} +module.exports = {"contractName":"Views","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_videoId","type":"string"},{"indexed":false,"name":"_ipfsData","type":"string"}],"name":"LogCreateView","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_address","type":"address"},{"indexed":false,"name":"_videoId","type":"string"}],"name":"LogRemoveView","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"},{"name":"_ipfsData","type":"string"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"}],"name":"get","outputs":[{"name":"","type":"bool"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_viewer","type":"address"},{"name":"_videoId","type":"string"}],"name":"userViewedVideo","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b60405160208061129f83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550506111a3806100fc6000396000f300606060405260043610610083576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806349209fc814610088578063796d5836146101045780637b103999146101c35780638da5cb5b146102185780638fe001a51461026d578063f2fde38b14610301578063fc2525ab1461033a575b600080fd5b341561009357600080fd5b610102600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190505061043a565b005b341561010f57600080fd5b6101c1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610757565b005b34156101ce57600080fd5b6101d6610b13565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561022357600080fd5b61022b610b39565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561027857600080fd5b6102e7600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610b5e565b604051808215151515815260200191505060405180910390f35b341561030c57600080fd5b610338600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610c33565b005b341561034557600080fd5b6103b4600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610d88565b604051808315151515815260200180602001828103825283818151815260200191508051906020019080838360005b838110156103fe5780820151818401526020810190506103e3565b50505050905090810190601f16801561042b5780820380516001836020036101000a031916815260200191505b50935050505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806105975750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055157600080fd5b5af1151561055e57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156105a257600080fd5b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000826040518082805190602001908083835b60208310151561061957805182526020820191506020810190506020830392506105f4565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902060001916600019168152602001908152602001600020600080820160006101000a81549060ff02191690556001820160006106819190611076565b50507f7ed2574507414d87ae20434a5bae56eef5c81885cd02fc205ce20d24356542328282604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200180602001828103825283818151815260200191508051906020019080838360005b838110156107185780820151818401526020810190506106fd565b50505050905090810190601f1680156107455780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108b45750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561086e57600080fd5b5af1151561087b57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156108bf57600080fd5b604080519081016040528060011515815260200182815250600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000846040518082805190602001908083835b60208310151561094e5780518252602082019150602081019050602083039250610929565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160010190805190602001906109cd9291906110be565b509050507f73b2750ccaf84fc0cce582f3529304dc9e0b4b3b7e84ca44757a6abbfb9a2d81838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018060200180602001838103835285818151815260200191508051906020019080838360005b83811015610a6b578082015181840152602081019050610a50565b50505050905090810190601f168015610a985780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b83811015610ad1578082015181840152602081019050610ab6565b50505050905090810190601f168015610afe5780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000836040518082805190602001908083835b602083101515610bd75780518252602082019150602081019050602083039250610bb2565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002060000160009054906101000a900460ff16905092915050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c8e57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610cca57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000610d9261113e565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610ef15750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610eab57600080fd5b5af11515610eb857600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610efc57600080fd5b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000856040518082805190602001908083835b602083101515610f735780518252602082019150602081019050602083039250610f4e565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390206000191660001916815260200190815260200160002090508060000160009054906101000a900460ff1681600101808054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156110635780601f1061103857610100808354040283529160200191611063565b820191906000526020600020905b81548152906001019060200180831161104657829003601f168201915b5050505050905092509250509250929050565b50805460018160011615610100020316600290046000825580601f1061109c57506110bb565b601f0160209004906000526020600020908101906110ba9190611152565b5b50565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110ff57805160ff191683800117855561112d565b8280016001018555821561112d579182015b8281111561112c578251825591602001919060010190611111565b5b50905061113a9190611152565b5090565b602060405190810160405280600081525090565b61117491905b80821115611170576000816000905550600101611158565b5090565b905600a165627a7a723058204c6de8221e348d3e73e4e2170912f7479f6c347e13c37334614230ae011056ed0029"} /***/ }), /* 877 */ /***/ (function(module, exports) { -module.exports = {"contractName":"Vouchers","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"vouchers","outputs":[{"name":"_claimant","type":"address"},{"name":"_amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashedVoucher","type":"bytes32"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"LogCreateVoucher","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashedVoucher","type":"bytes32"}],"name":"LogRemoveVoucher","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashedVoucher","type":"bytes32"},{"indexed":false,"name":"_voucher","type":"string"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_claimant","type":"address"}],"name":"LogRedeemVoucher","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_hashedVoucher","type":"bytes32"},{"name":"_amount","type":"uint256"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_hashedVoucher","type":"bytes32"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_voucher","type":"string"}],"name":"hashVoucher","outputs":[{"name":"_hashedVoucher","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_voucher","type":"string"}],"name":"redeem","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b604051602080610e7b83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610d7f806100fc6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306810649146100905780631222c25a146101095780637b1039991461017e5780638da5cb5b146101d357806395bc267314610228578063a042c1321461024f578063e4c96ac41461027f578063f2fde38b146102ed575b005b341561009b57600080fd5b6100eb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610326565b60405180826000191660001916815260200191505060405180910390f35b341561011457600080fd5b610164600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610392565b604051808215151515815260200191505060405180910390f35b341561018957600080fd5b61019161071b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101de57600080fd5b6101e6610741565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023357600080fd5b61024d600480803560001916906020019091905050610766565b005b341561025a57600080fd5b61027d60048080356000191690602001909190803590602001909190505061095d565b005b341561028a57600080fd5b6102a4600480803560001916906020019091905050610bba565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34156102f857600080fd5b610324600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bfe565b005b6000816040518082805190602001908083835b60208310151561035e5780518252602082019150602081019050602083039250610339565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000806000806103a185610326565b92506002600084600019166000191681526020019081526020016000209150600082600101541115156103d357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561043257600080fd5b3360026000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055057600080fd5b5af1151561055d57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3384600101546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561060f57600080fd5b5af1151561061c57600080fd5b50505060405180519050507f2eaff7d7b1644e86930213c456e12bfdad67722d421620a44206c51cc08209398386846001015433604051808560001916600019168152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156106d65780820151818401526020810190506106bb565b50505050905090810190601f1680156107035780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108c35750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561087d57600080fd5b5af1151561088a57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156108ce57600080fd5b600260008260001916600019168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550507f14e1cb1f041e31ab0914847975c8ea1e84618c1b2f051b668e413a18a78601cf8160405180826000191660001916815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610aba5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610a7457600080fd5b5af11515610a8157600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ac557600080fd5b600081111515610ad457600080fd5b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020018281525060026000846000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050507f53dea2f832632fad149738c97762fd3c519858d023692f10c21ea406b857a77882826040518083600019166000191681526020018281526020019250505060405180910390a15050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c5957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610c9557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582078b0640df281e499128cb454d54744c4c99431bcc09bf6f67d2a5ab10dfd61e00029","deployedBytecode":"0x60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306810649146100905780631222c25a146101095780637b1039991461017e5780638da5cb5b146101d357806395bc267314610228578063a042c1321461024f578063e4c96ac41461027f578063f2fde38b146102ed575b005b341561009b57600080fd5b6100eb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610326565b60405180826000191660001916815260200191505060405180910390f35b341561011457600080fd5b610164600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610392565b604051808215151515815260200191505060405180910390f35b341561018957600080fd5b61019161071b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101de57600080fd5b6101e6610741565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023357600080fd5b61024d600480803560001916906020019091905050610766565b005b341561025a57600080fd5b61027d60048080356000191690602001909190803590602001909190505061095d565b005b341561028a57600080fd5b6102a4600480803560001916906020019091905050610bba565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34156102f857600080fd5b610324600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bfe565b005b6000816040518082805190602001908083835b60208310151561035e5780518252602082019150602081019050602083039250610339565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000806000806103a185610326565b92506002600084600019166000191681526020019081526020016000209150600082600101541115156103d357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561043257600080fd5b3360026000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055057600080fd5b5af1151561055d57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3384600101546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561060f57600080fd5b5af1151561061c57600080fd5b50505060405180519050507f2eaff7d7b1644e86930213c456e12bfdad67722d421620a44206c51cc08209398386846001015433604051808560001916600019168152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156106d65780820151818401526020810190506106bb565b50505050905090810190601f1680156107035780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108c35750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561087d57600080fd5b5af1151561088a57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156108ce57600080fd5b600260008260001916600019168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550507f14e1cb1f041e31ab0914847975c8ea1e84618c1b2f051b668e413a18a78601cf8160405180826000191660001916815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610aba5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610a7457600080fd5b5af11515610a8157600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ac557600080fd5b600081111515610ad457600080fd5b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020018281525060026000846000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050507f53dea2f832632fad149738c97762fd3c519858d023692f10c21ea406b857a77882826040518083600019166000191681526020018281526020019250505060405180910390a15050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c5957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610c9557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582078b0640df281e499128cb454d54744c4c99431bcc09bf6f67d2a5ab10dfd61e00029"} +module.exports = {"contractName":"Vouchers","abi":[{"constant":true,"inputs":[],"name":"registry","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"vouchers","outputs":[{"name":"_claimant","type":"address"},{"name":"_amount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_registry","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashedVoucher","type":"bytes32"},{"indexed":false,"name":"_amount","type":"uint256"}],"name":"LogCreateVoucher","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashedVoucher","type":"bytes32"}],"name":"LogRemoveVoucher","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_hashedVoucher","type":"bytes32"},{"indexed":false,"name":"_voucher","type":"string"},{"indexed":false,"name":"_amount","type":"uint256"},{"indexed":false,"name":"_claimant","type":"address"}],"name":"LogRedeemVoucher","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":false,"inputs":[{"name":"_hashedVoucher","type":"bytes32"},{"name":"_amount","type":"uint256"}],"name":"create","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_hashedVoucher","type":"bytes32"}],"name":"remove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_voucher","type":"string"}],"name":"hashVoucher","outputs":[{"name":"_hashedVoucher","type":"bytes32"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_voucher","type":"string"}],"name":"redeem","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"}],"bytecode":"0x6060604052341561000f57600080fd5b604051602080610e7b83398101604052808051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050610d7f806100fc6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806306810649146100905780631222c25a146101095780637b1039991461017e5780638da5cb5b146101d357806395bc267314610228578063a042c1321461024f578063e4c96ac41461027f578063f2fde38b146102ed575b005b341561009b57600080fd5b6100eb600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610326565b60405180826000191660001916815260200191505060405180910390f35b341561011457600080fd5b610164600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610392565b604051808215151515815260200191505060405180910390f35b341561018957600080fd5b61019161071b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156101de57600080fd5b6101e6610741565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561023357600080fd5b61024d600480803560001916906020019091905050610766565b005b341561025a57600080fd5b61027d60048080356000191690602001909190803590602001909190505061095d565b005b341561028a57600080fd5b6102a4600480803560001916906020019091905050610bba565b604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018281526020019250505060405180910390f35b34156102f857600080fd5b610324600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610bfe565b005b6000816040518082805190602001908083835b60208310151561035e5780518252602082019150602081019050602083039250610339565b6001836020036101000a03801982511681845116808217855250505050505090500191505060405180910390209050919050565b6000806000806103a185610326565b92506002600084600019166000191681526020019081526020016000209150600082600101541115156103d357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168260000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561043257600080fd5b3360026000856000191660001916815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018281038252600c8152602001807f50617261746969546f6b656e0000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561055057600080fd5b5af1151561055d57600080fd5b5050506040518051905090508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb3384600101546040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b151561060f57600080fd5b5af1151561061c57600080fd5b50505060405180519050507f2eaff7d7b1644e86930213c456e12bfdad67722d421620a44206c51cc08209398386846001015433604051808560001916600019168152602001806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156106d65780820151818401526020810190506106bb565b50505050905090810190601f1680156107035780820380516001836020036101000a031916815260200191505b509550505050505060405180910390a1505050919050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806108c35750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b151561087d57600080fd5b5af1151561088a57600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b15156108ce57600080fd5b600260008260001916600019168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600182016000905550507f14e1cb1f041e31ab0914847975c8ea1e84618c1b2f051b668e413a18a78601cf8160405180826000191660001916815260200191505060405180910390a150565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610aba5750600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663358177736040518163ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018080602001828103825260068152602001807f4176617461720000000000000000000000000000000000000000000000000000815250602001915050602060405180830381600087803b1515610a7457600080fd5b5af11515610a8157600080fd5b5050506040518051905073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b1515610ac557600080fd5b600081111515610ad457600080fd5b6040805190810160405280600073ffffffffffffffffffffffffffffffffffffffff1681526020018281525060026000846000191660001916815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550602082015181600101559050507f53dea2f832632fad149738c97762fd3c519858d023692f10c21ea406b857a77882826040518083600019166000191681526020018281526020019250505060405180910390a15050565b60026020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c5957600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610c9557600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a7230582078b0640df281e499128cb454d54744c4c99431bcc09bf6f67d2a5ab10dfd61e00029"} /***/ }), /* 878 */ @@ -196202,7 +196239,7 @@ var _paratiiProtocol = __webpack_require__(897); var _paratiiProtocol2 = _interopRequireDefault(_paratiiProtocol); -var _schemas = __webpack_require__(86); +var _schemas = __webpack_require__(67); var _joi = __webpack_require__(36); @@ -196216,7 +196253,7 @@ var _paratiiIpfsLocal = __webpack_require__(967); var _paratiiTranscoder = __webpack_require__(1033); -var _utils = __webpack_require__(79); +var _utils = __webpack_require__(80); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -196628,7 +196665,7 @@ var global = __webpack_require__(50); var ctx = __webpack_require__(133); var classof = __webpack_require__(408); var $export = __webpack_require__(66); -var isObject = __webpack_require__(84); +var isObject = __webpack_require__(85); var aFunction = __webpack_require__(164); var anInstance = __webpack_require__(886); var forOf = __webpack_require__(887); @@ -196919,7 +196956,7 @@ module.exports = function (it, Constructor, name, forbiddenField) { var ctx = __webpack_require__(133); var call = __webpack_require__(888); var isArrayIter = __webpack_require__(889); -var anObject = __webpack_require__(77); +var anObject = __webpack_require__(78); var toLength = __webpack_require__(340); var getIterFn = __webpack_require__(890); var BREAK = {}; @@ -196948,7 +196985,7 @@ exports.RETURN = RETURN; /***/ (function(module, exports, __webpack_require__) { // call something on iterator step with safe closing on error -var anObject = __webpack_require__(77); +var anObject = __webpack_require__(78); module.exports = function (iterator, fn, value, entries) { try { return entries ? fn(anObject(value)[0], value[1]) : fn(value); @@ -197084,8 +197121,8 @@ module.exports = function (target, src, safe) { var global = __webpack_require__(50); var core = __webpack_require__(35); -var dP = __webpack_require__(83); -var DESCRIPTORS = __webpack_require__(85); +var dP = __webpack_require__(84); +var DESCRIPTORS = __webpack_require__(86); var SPECIES = __webpack_require__(51)('species'); module.exports = function (KEY) { @@ -202028,7 +202065,7 @@ var _inherits2 = __webpack_require__(115); var _inherits3 = _interopRequireDefault(_inherits2); -var _schemas = __webpack_require__(86); +var _schemas = __webpack_require__(67); var _events = __webpack_require__(7); @@ -203660,7 +203697,7 @@ function protoFromTuple (tup) { const ip = __webpack_require__(429) const protocols = __webpack_require__(269) -const bs58 = __webpack_require__(74) +const bs58 = __webpack_require__(75) const varint = __webpack_require__(24) module.exports = Convert @@ -206472,12 +206509,12 @@ var EventEmitter = __webpack_require__(7).EventEmitter , prr = __webpack_require__(986) , DeferredLevelDOWN = __webpack_require__(987) - , WriteError = __webpack_require__(80).WriteError - , ReadError = __webpack_require__(80).ReadError - , NotFoundError = __webpack_require__(80).NotFoundError - , OpenError = __webpack_require__(80).OpenError - , EncodingError = __webpack_require__(80).EncodingError - , InitializationError = __webpack_require__(80).InitializationError + , WriteError = __webpack_require__(81).WriteError + , ReadError = __webpack_require__(81).ReadError + , NotFoundError = __webpack_require__(81).NotFoundError + , OpenError = __webpack_require__(81).OpenError + , EncodingError = __webpack_require__(81).EncodingError + , InitializationError = __webpack_require__(81).InitializationError , ReadStream = __webpack_require__(989) , WriteStream = __webpack_require__(996) @@ -207097,7 +207134,7 @@ module.exports = function (errno) { var Readable = __webpack_require__(435).Readable , inherits = __webpack_require__(30).inherits , extend = __webpack_require__(184) - , EncodingError = __webpack_require__(80).EncodingError + , EncodingError = __webpack_require__(81).EncodingError , util = __webpack_require__(186) , defaultOptions = { keys: true, values: true } @@ -207716,7 +207753,7 @@ module.exports = BufferList */ var util = __webpack_require__(186) - , WriteError = __webpack_require__(80).WriteError + , WriteError = __webpack_require__(81).WriteError , getOptions = util.getOptions , dispatchError = util.dispatchError @@ -211927,7 +211964,7 @@ var _inherits2 = __webpack_require__(115); var _inherits3 = _interopRequireDefault(_inherits2); -var _schemas = __webpack_require__(86); +var _schemas = __webpack_require__(67); var _events = __webpack_require__(7); @@ -213426,7 +213463,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = doWhilst; -var _noop = __webpack_require__(73); +var _noop = __webpack_require__(74); var _noop2 = _interopRequireDefault(_noop); @@ -213836,7 +213873,7 @@ var _isArray = __webpack_require__(259); var _isArray2 = _interopRequireDefault(_isArray); -var _noop = __webpack_require__(73); +var _noop = __webpack_require__(74); var _noop2 = _interopRequireDefault(_noop); @@ -217655,7 +217692,7 @@ var _baseProperty = __webpack_require__(1071); var _baseProperty2 = _interopRequireDefault(_baseProperty); -var _noop = __webpack_require__(73); +var _noop = __webpack_require__(74); var _noop2 = _interopRequireDefault(_noop); @@ -217808,7 +217845,7 @@ module.exports = { var EventEmitter = __webpack_require__(7).EventEmitter var inherits = __webpack_require__(30).inherits var deprecate = __webpack_require__(30).deprecate -var extend = __webpack_require__(72) +var extend = __webpack_require__(73) var prr = __webpack_require__(434) var DeferredLevelDOWN = __webpack_require__(1074) var IteratorStream = __webpack_require__(1077) @@ -218294,7 +218331,7 @@ module.exports = DeferredIterator; var inherits = __webpack_require__(1); var Readable = __webpack_require__(1078).Readable; -var extend = __webpack_require__(72); +var extend = __webpack_require__(73); var EncodingError = __webpack_require__(1082).EncodingError; module.exports = ReadStream; @@ -218781,7 +218818,7 @@ var AbstractIterator = __webpack_require__(470).AbstractIterator var ltgt = __webpack_require__(433) var idbReadableStream = __webpack_require__(1089) var stream = __webpack_require__(17) -var xtend = __webpack_require__(72) +var xtend = __webpack_require__(73) var Writable = stream.Writable @@ -218987,7 +219024,7 @@ Iterator.prototype._next = function(callback) { var stream = __webpack_require__(17) -var xtend = __webpack_require__(72) +var xtend = __webpack_require__(73) /** * Iterate over an IndexedDB object store with a readable stream. @@ -219163,7 +219200,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _asyncMap; -var _noop = __webpack_require__(73); +var _noop = __webpack_require__(74); var _noop2 = _interopRequireDefault(_noop); @@ -225643,7 +225680,7 @@ module.exports = { "use strict"; -var base58 = __webpack_require__(74) +var base58 = __webpack_require__(75) var Buffer = __webpack_require__(3).Buffer module.exports = function (checksumFn) { @@ -229457,7 +229494,7 @@ bitcore.HDPublicKey = __webpack_require__(515); bitcore.Networks = __webpack_require__(105); bitcore.Opcode = __webpack_require__(297); bitcore.PrivateKey = __webpack_require__(204); -bitcore.PublicKey = __webpack_require__(76); +bitcore.PublicKey = __webpack_require__(77); bitcore.Script = __webpack_require__(64); bitcore.Transaction = __webpack_require__(206); bitcore.URI = __webpack_require__(1204); @@ -229468,7 +229505,7 @@ bitcore.deps = {}; bitcore.deps.bnjs = __webpack_require__(508); bitcore.deps.bs58 = __webpack_require__(510); bitcore.deps.Buffer = Buffer; -bitcore.deps.elliptic = __webpack_require__(75); +bitcore.deps.elliptic = __webpack_require__(76); bitcore.deps._ = __webpack_require__(10); // Internal usage, exposed for testing/advanced tweaking @@ -229838,7 +229875,7 @@ utils.getJSF = getJSF; var hash = __webpack_require__(138); -var elliptic = __webpack_require__(75); +var elliptic = __webpack_require__(76); var utils = elliptic.utils; var assert = utils.assert; @@ -229959,7 +229996,7 @@ HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) { var bn = __webpack_require__(104); -var elliptic = __webpack_require__(75); +var elliptic = __webpack_require__(76); var getNAF = elliptic.utils.getNAF; var getJSF = elliptic.utils.getJSF; @@ -230269,7 +230306,7 @@ BasePoint.prototype.dblp = function dblp(k) { var curve = __webpack_require__(203); -var elliptic = __webpack_require__(75); +var elliptic = __webpack_require__(76); var bn = __webpack_require__(104); var inherits = __webpack_require__(296); var Base = curve.base; @@ -231351,7 +231388,7 @@ Point.prototype.getX = function getX() { var curve = __webpack_require__(203); -var elliptic = __webpack_require__(75); +var elliptic = __webpack_require__(76); var bn = __webpack_require__(104); var inherits = __webpack_require__(296); var Base = curve.base; @@ -231731,7 +231768,7 @@ Point.prototype.mixedAdd = Point.prototype.add; var curves = exports; var hash = __webpack_require__(138); -var elliptic = __webpack_require__(75); +var elliptic = __webpack_require__(76); var assert = elliptic.utils.assert; @@ -232679,7 +232716,7 @@ module.exports = { var bn = __webpack_require__(104); -var elliptic = __webpack_require__(75); +var elliptic = __webpack_require__(76); var utils = elliptic.utils; var assert = utils.assert; @@ -232853,7 +232890,7 @@ EC.prototype.verify = function verify(msg, signature, key, enc) { var bn = __webpack_require__(104); -var elliptic = __webpack_require__(75); +var elliptic = __webpack_require__(76); var utils = elliptic.utils; function KeyPair(ec, options) { @@ -233010,7 +233047,7 @@ KeyPair.prototype.inspect = function inspect() { var bn = __webpack_require__(104); -var elliptic = __webpack_require__(75); +var elliptic = __webpack_require__(76); var utils = elliptic.utils; var assert = utils.assert; @@ -233087,7 +233124,7 @@ var Opcode = __webpack_require__(297); var BN = __webpack_require__(33); var Hash = __webpack_require__(45); var Signature = __webpack_require__(63); -var PublicKey = __webpack_require__(76); +var PublicKey = __webpack_require__(77); /** * Bitcoin transactions contain scripts. Each input has a script called the @@ -234583,7 +234620,7 @@ var $ = __webpack_require__(14); var Script = __webpack_require__(64); var Signature = __webpack_require__(63); var Sighash = __webpack_require__(91); -var PublicKey = __webpack_require__(76); +var PublicKey = __webpack_require__(77); var BufferUtil = __webpack_require__(20); var TransactionSignature = __webpack_require__(155); @@ -234800,7 +234837,7 @@ var $ = __webpack_require__(14); var Script = __webpack_require__(64); var Signature = __webpack_require__(63); var Sighash = __webpack_require__(91); -var PublicKey = __webpack_require__(76); +var PublicKey = __webpack_require__(77); var BufferUtil = __webpack_require__(20); var TransactionSignature = __webpack_require__(155); @@ -238456,7 +238493,7 @@ function _createKDF(kdf, md, counterStart, digestLength) { * * Copyright 2011-2017 Digital Bazaar, Inc. */ -module.exports = __webpack_require__(82); +module.exports = __webpack_require__(83); __webpack_require__(306); __webpack_require__(158); @@ -238488,7 +238525,7 @@ __webpack_require__(531); */ var forge = __webpack_require__(8); __webpack_require__(107); -__webpack_require__(81); +__webpack_require__(82); __webpack_require__(209); __webpack_require__(108); __webpack_require__(127); @@ -240695,7 +240732,7 @@ forge.task.createCondition = function() { const multihashing = __webpack_require__(58) const protobuf = __webpack_require__(60) -const bs58 = __webpack_require__(74) +const bs58 = __webpack_require__(75) const crypto = __webpack_require__(533) const pbm = protobuf(__webpack_require__(304)) @@ -242043,7 +242080,7 @@ PEMEncoder.prototype.encode = function encode(data, options) { const multihashing = __webpack_require__(58) const protobuf = __webpack_require__(60) -const bs58 = __webpack_require__(74) +const bs58 = __webpack_require__(75) const crypto = __webpack_require__(1230) const pbm = protobuf(__webpack_require__(304)) @@ -245237,7 +245274,7 @@ module.exports = HmacDRBG var inherits = __webpack_require__(1) var Legacy = __webpack_require__(1239) -var Base = __webpack_require__(67) +var Base = __webpack_require__(68) var Buffer = __webpack_require__(3).Buffer var md5 = __webpack_require__(239) var RIPEMD160 = __webpack_require__(169) @@ -245307,7 +245344,7 @@ module.exports = function createHmac (alg, key) { var inherits = __webpack_require__(1) var Buffer = __webpack_require__(3).Buffer -var Base = __webpack_require__(67) +var Base = __webpack_require__(68) var ZEROS = Buffer.alloc(128) var blocksize = 64 @@ -261250,7 +261287,7 @@ function protoFromTuple (tup) { const ip = __webpack_require__(429) const ipAddress = __webpack_require__(1254) const protocols = __webpack_require__(313) -const bs58 = __webpack_require__(74) +const bs58 = __webpack_require__(75) const varint = __webpack_require__(24) module.exports = Convert @@ -280689,7 +280726,7 @@ Backoff.prototype.setJitter = function(jitter){ var debug = __webpack_require__(6)('simple-peer') var getBrowserRTC = __webpack_require__(1343) var inherits = __webpack_require__(1) -var randombytes = __webpack_require__(78) +var randombytes = __webpack_require__(79) var stream = __webpack_require__(88) var MAX_BUFFERED_AMOUNT = 64 * 1024 @@ -291388,7 +291425,7 @@ message TopicDescriptor { /* WEBPACK VAR INJECTION */(function(Buffer) { const crypto = __webpack_require__(93) -const bs58 = __webpack_require__(74) +const bs58 = __webpack_require__(75) exports = module.exports diff --git a/dist/schemas.js b/dist/schemas.js index 38145b9..b429501 100644 --- a/dist/schemas.js +++ b/dist/schemas.js @@ -5,6 +5,32 @@ Object.defineProperty(exports, "__esModule", { }); var joi = require('joi'); +/** + * @typedef {Array} ethUserSchema + * @property {string=} id public address of the user + * @property {string=} email email of the user + * @property {string=} ipfsHash ipfsHash for extra data + * @property {string=} name nicename of the user + */ +var ethUserSchema = joi.object({ + id: joi.string().default(null).required(), + name: joi.string().empty('').default(''), + ipfsData: joi.string().empty('').default('') +}).default(); + +/** + * @typedef {Array} userSchema + * @property {string=} id public address of the user + * @property {string=} email email of the user + * @property {string=} ipfsHash ipfsHash for extra data + * @property {string=} name nicename of the user + */ +var userSchema = joi.object({ + id: joi.string().default(null).required(), + email: joi.string().email().default(null).allow(null), + name: joi.string().empty('').default(null).allow(null) +}).default(); + /** * @typedef {Array} accountSchema * @property {string=} address public address of the account @@ -133,4 +159,6 @@ exports.accountSchema = accountSchema; exports.ethSchema = ethSchema; exports.ipfsSchema = ipfsSchema; exports.dbSchema = dbSchema; -exports.videoSchema = videoSchema; \ No newline at end of file +exports.videoSchema = videoSchema; +exports.userSchema = userSchema; +exports.ethUserSchema = ethUserSchema; \ No newline at end of file diff --git a/package.json b/package.json index 13b6760..7d89f6f 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "joi": "^13.1.2", "multiaddr": "^3.0.2", "once": "^1.4.0", - "paratii-contracts": "github:Paratii-Video/paratii-contracts#b876d8dff960842eb77f5788104f29fcfdc21633", + "paratii-contracts": "github:Paratii-Video/paratii-contracts#f2b1f86acb602f0c9dd4ee159a5d8b77d848fb75", "paratii-protocol": "github:Paratii-Video/paratii-protocol#45aadcf300f1ad184d6d3db8f9c4b3d438b6f658", "promisify-node": "^0.4.0", "pull-filereader": "^1.0.1", diff --git a/src/paratii.core.users.js b/src/paratii.core.users.js index 3b0d83e..77af6b2 100644 --- a/src/paratii.core.users.js +++ b/src/paratii.core.users.js @@ -1,3 +1,4 @@ +import { userSchema } from './schemas.js' const joi = require('joi') /** @@ -18,27 +19,18 @@ export class ParatiiUsers { this.config = config } /** - * @typedef {Array} userSchema - * @property {string} id the Ethereum address of the user - * @property {string=} name - * @property {string=} email - */ - - /** - * Creates a user, fields id, name and email go to the smart contract Users, other fields are stored on IPFS. - * @param {userSchema} options information about the video ( id, name, email ... ) - * @return {Promise} the id of the newly created user - * @example let userData = { - * id: '0x12456....', - * name: 'Humbert Humbert', - * email: 'humbert@humbert.ru', - * ipfsData: 'some-hash' - * } - * let result = await paratii.eth.users.create(userData) - * }) + * Register the data of this user. + * @param {userSchema} options information about the user ( id, name, email ... ) + * @return {Promise} information about the user ( id, name, email ... ) + * @example await paratii.core.users.create({ + * id: 'some-video-id', + * name: 'some-nickname', + * email: 'some@email.com', + * }) */ async create (options) { - // FIXME: do some joi validation here + const result = joi.validate(options, userSchema, {allowUnknown: false}) + if (result.error) throw result.error const paratii = this.config.paratii let keysForBlockchain = ['id', 'name'] let optionsKeys = Object.keys(options) @@ -74,6 +66,8 @@ export class ParatiiUsers { * }) */ async upsert (options) { + const result = joi.validate(options, userSchema, {allowUnknown: false}) + if (result.error) throw result.error let data = null let userId = '' if (options.id) { @@ -105,16 +99,6 @@ export class ParatiiUsers { * @example let updatedData = await paratii.users.update('some-user-id', {name: 'A new user name'}) */ async update (userId, options) { - const schema = joi.object({ - name: joi.string().default(null).empty(''), - email: joi.string().default(null).empty('') - }) - - const result = joi.validate(options, schema) - const error = result.error - if (error) throw error - options = result.value - let data = await this.get(userId) for (let key in options) { if (options[key] !== null) { @@ -124,6 +108,9 @@ export class ParatiiUsers { data['id'] = userId + const result = joi.validate(data, userSchema, {allowUnknown: false}) + if (result.error) throw result.error + await this.create(data) return data @@ -143,6 +130,7 @@ export class ParatiiUsers { const originalUserRecord = await paratii.eth.users.get(oldAccount) const newUserRecord = originalUserRecord newUserRecord.id = newAccount + await paratii.eth.users.create(newUserRecord) if (vids) { for (let i = 0; i < vids.length; i++) { diff --git a/src/paratii.eth.users.js b/src/paratii.eth.users.js index a036a85..0280180 100644 --- a/src/paratii.eth.users.js +++ b/src/paratii.eth.users.js @@ -1,3 +1,4 @@ +import { ethUserSchema } from './schemas.js' const joi = require('joi') /** * The eth.user namespace contains functions to interact with the video registration on the blockchain. @@ -18,35 +19,26 @@ export class ParatiiEthUsers { return this.eth.getContract('Users') } /** - * Creates a user - * @param {Object} options information about the user - * @param {string} options.id valid address - * @param {string} options.name name of the user - * @param {string} options.email email of the user - * @param {string} options.ipfsData ipfs hash - * @return {Promise} the id of the newly created user - * See {@link ParatiiCoreUsers#create} + * Register the data of this user. + * @param {ethUserSchema} options information about the user ( id, name ... ) + * @return {Promise} information about the user ( id, name, ... ) + * @example await paratii.eth.users.create({ + * id: 'some-video-id', + * name: 'some-nickname', + * ipfsData: 'ipfsHash', + * }) */ async create (options) { - const schema = joi.object({ - id: joi.string(), - name: joi.string().allow('').optional().default(''), - email: joi.string().allow('').optional().default(''), - ipfsData: joi.string() - }) - if (!this.eth.web3.utils.isAddress(options.id)) { let msg = `The "id" argument should be a valid address, not ${options.id}` throw Error(msg) } - - const result = joi.validate(options, schema) + const result = joi.validate(options, ethUserSchema) const error = result.error if (error) throw error options = result.value - let contract = await this.getRegistry() - await contract.methods.create(options.id, options.name, options.email, options.ipfsData).send() + await contract.methods.create(options.id, options.name, options.ipfsData).send() return options.id } /** @@ -62,8 +54,7 @@ export class ParatiiEthUsers { let result = { id: userId, name: userInfo[0], - email: userInfo[1], - ipfsData: userInfo[2] + ipfsData: userInfo[1] } return result } @@ -77,6 +68,9 @@ export class ParatiiEthUsers { */ async update (userId, options) { options.id = userId + const result = joi.validate(options, ethUserSchema) + const error = result.error + if (error) throw error let data = await this.get(userId) for (let key in options) { data[key] = options[key] diff --git a/src/schemas.js b/src/schemas.js index 531d909..c22650d 100644 --- a/src/schemas.js +++ b/src/schemas.js @@ -1,5 +1,31 @@ const joi = require('joi') +/** + * @typedef {Array} ethUserSchema + * @property {string=} id public address of the user + * @property {string=} email email of the user + * @property {string=} ipfsHash ipfsHash for extra data + * @property {string=} name nicename of the user + */ +const ethUserSchema = joi.object({ + id: joi.string().default(null).required(), + name: joi.string().empty('').default(''), + ipfsData: joi.string().empty('').default('') +}).default() + +/** + * @typedef {Array} userSchema + * @property {string=} id public address of the user + * @property {string=} email email of the user + * @property {string=} ipfsHash ipfsHash for extra data + * @property {string=} name nicename of the user + */ +const userSchema = joi.object({ + id: joi.string().default(null).required(), + email: joi.string().email().default(null).allow(null), + name: joi.string().empty('').default(null).allow(null) +}).default() + /** * @typedef {Array} accountSchema * @property {string=} address public address of the account @@ -133,4 +159,4 @@ const videoSchema = joi.object({ }).allow(null).default({}) }) -export { accountSchema, ethSchema, ipfsSchema, dbSchema, videoSchema } +export { accountSchema, ethSchema, ipfsSchema, dbSchema, videoSchema, userSchema, ethUserSchema } diff --git a/test/paratii.core.js b/test/paratii.core.js index b5248fe..b9cef62 100644 --- a/test/paratii.core.js +++ b/test/paratii.core.js @@ -18,7 +18,7 @@ describe('paratii.core:', function () { assert.isOk(paratiiCore.vids) }) - it('2migrateAccount should work', async function () { + it('migrateAccount should work', async function () { // migrate all assets from default account address to address23 let id1 = searchVidsFixture.results[0].id || searchVidsFixture.results[0]._id let id2 = searchVidsFixture.results[1].id || searchVidsFixture.results[1]._id @@ -26,12 +26,10 @@ describe('paratii.core:', function () { let result = await paratii.eth.tcr.checkEligiblityAndApply(id1, paratii.eth.web3.utils.toWei('5')) // result = await paratii.eth.tcr.apply(id1, paratii.eth.web3.utils.toWei('5')) assert.isOk(result, result) - await paratii.eth.users.create({id: address, name: 'Rosencrantz', email: 'someting@dot.com', ipfsData: 'xxx'}) + await paratii.eth.users.create({id: address, name: 'Rosencrantz', ipfsData: 'xxx'}) await paratii.eth.vids.create({id: id1, owner: address}) await paratii.eth.vids.create({id: id2, owner: address}) const originalUserRecord = await paratii.eth.users.get(address) - console.log(originalUserRecord) - let oldBalance = await paratii.eth.balanceOf(address, 'PTI') assert.isOk(oldBalance.gt(0), oldBalance) @@ -40,7 +38,6 @@ describe('paratii.core:', function () { // we should have a new account registered on const newUserRecord = await paratii.eth.users.get(address23) - console.log(newUserRecord) assert.equal(originalUserRecord.name, newUserRecord.name) // now the owner of the videos (on the contract) should be address23 diff --git a/test/paratii.core.users.js b/test/paratii.core.users.js index 33d8b20..12cb664 100644 --- a/test/paratii.core.users.js +++ b/test/paratii.core.users.js @@ -9,7 +9,6 @@ describe('paratii.core.users: ', function () { let newUserData = { id: '0xa99dBd162ad5E1601E8d8B20703e5A3bA5c00Be7', email: 'humbert@humbert.ru', - ipfsHash: 'some-hash', name: 'Humbert Humbert' } let newUserId = '0xa99dBd162ad5E1601E8d8B20703e5A3bA5c00Be7' @@ -17,7 +16,7 @@ describe('paratii.core.users: ', function () { before(function () { nock('https://db.paratii.video/api/v1') .persist() - .get('/users/' + users[0]['_id']) + .get('/users/' + users[0]['id']) .reply(200, users[0]) }) @@ -38,7 +37,7 @@ describe('paratii.core.users: ', function () { }) nock('https://db.paratii.video/api/v1') .persist() - .post(`/users/${users[0]['_id']}`, expectedBody) + .post(`/users/${users[0]['id']}`, expectedBody) .reply(200, users[0]) }) @@ -55,6 +54,7 @@ describe('paratii.core.users: ', function () { }) it('users.create() should work as expected', async function () { + // this is a way to clone let result = await paratii.users.create(newUserData) assert.equal(result, newUserId) }) @@ -65,7 +65,9 @@ describe('paratii.core.users: ', function () { }) it('users.update() should work as expected', async function () { - await paratii.users.create(newUserData) + const data = JSON.parse(JSON.stringify(newUserData)) + delete data.email + await paratii.users.create(data) await paratii.users.update(newUserId, {name: 'John Doe'}) let user = await paratii.eth.users.get(newUserId) assert.equal(user.name, 'John Doe') diff --git a/test/paratii.eth.events.js b/test/paratii.eth.events.js index 1c4c76d..234cb35 100644 --- a/test/paratii.eth.events.js +++ b/test/paratii.eth.events.js @@ -187,7 +187,6 @@ describe('paratii.eth.events API: :', function () { let userData = { id: userId, name: 'Humbert Humbert', - email: 'humbert@humbert.ru', ipfsData: 'some-hash' } @@ -207,7 +206,6 @@ describe('paratii.eth.events API: :', function () { let userData = { id: userId, name: 'Humbert Humbert', - email: 'humbert@humbert.ru', ipfsData: 'some-hash' } diff --git a/test/paratii.eth.users.js b/test/paratii.eth.users.js index 818207e..745378c 100644 --- a/test/paratii.eth.users.js +++ b/test/paratii.eth.users.js @@ -15,13 +15,11 @@ describe('paratii.eth.users: :', function () { let userData = { id: userId, name: 'Humbert Humbert', - email: 'humbert@humbert.ru', ipfsData: 'some-hash' } - let result = await paratii.eth.users.create(userData) + let result = await paratii.eth.users.create(userData) assert.equal(result, userId) - user = await paratii.eth.users.get(userId) assert.deepEqual(user, userData) @@ -35,7 +33,7 @@ describe('paratii.eth.users: :', function () { assert.equal(user.ipfsData, '') }) - it.skip('missing or wrong arguments in users.create() should trhow meaningful errors', async function () { + it.skip('missing or wrong arguments in users.create() should throw meaningful errors', async function () { // let result = await paratii.eth.users.create({ // id: userId, // owner: address1 diff --git a/test/users-fixtures.js b/test/users-fixtures.js index 04537df..49bb93c 100644 --- a/test/users-fixtures.js +++ b/test/users-fixtures.js @@ -1,7 +1,5 @@ -module.exports = [{ - '_id': '0xa99dBd162ad5E1601E8d8B20703e5A3bA5c00Be7', - 'email': - 'humbert@humbert.ru', - 'ipfsHash': 'some-hash', - 'name': 'Humbert Humbert' +module.exports = [{ + 'id': '0xa99dBd162ad5E1601E8d8B20703e5A3bA5c00Be7', + 'email': 'humbert@humbert.ru', + 'name': 'Humbert Humbert' }] diff --git a/yarn.lock b/yarn.lock index 1d9aafb..f5a90bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7326,9 +7326,9 @@ pako@~1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.6.tgz#0101211baa70c4bca4a0f63f2206e97b7dfaf258" -"paratii-contracts@github:Paratii-Video/paratii-contracts#b876d8dff960842eb77f5788104f29fcfdc21633": +"paratii-contracts@github:Paratii-Video/paratii-contracts#f2b1f86acb602f0c9dd4ee159a5d8b77d848fb75": version "0.0.3" - resolved "https://codeload.github.com/Paratii-Video/paratii-contracts/tar.gz/b876d8dff960842eb77f5788104f29fcfdc21633" + resolved "https://codeload.github.com/Paratii-Video/paratii-contracts/tar.gz/f2b1f86acb602f0c9dd4ee159a5d8b77d848fb75" dependencies: async "^2.6.0" babel-cli "^6.26.0"